2014-01-15 25 views
0

我想要打開現有的.docx文件並在第二段中插入一些文本。如何在所需位置添加現有.docx文件中的文本

Private Sub insertText() 
Dim WordApp As New Microsoft.Office.Interop.Word.Application 
Dim aDoc As Microsoft.Office.Interop.Word.Document = WordApp.Documents.Open("C:\File1.docx") 
Dim RNG As Microsoft.Office.Interop.Word.Range() 

end sub 

現在我應該寫什麼來插入一些文本在第二段? 任何幫助將不勝感激。提前致謝。

回答

0

您可以使用Application.Selection.TypeText()爲:

Private Sub insertText() 
    Dim WordApp As New Microsoft.Office.Interop.Word.Application 
    WordApp.Visible = True 
    Dim aDoc As Microsoft.Office.Interop.Word.Document = WordApp.Documents.Open("C:\File1.docx") 

    Dim paragraphs As Word.Paragraphs = aDoc.Paragraphs 

    If (paragraphs.Count > 1) Then 
     paragraphs(2).Range.Select() 
     WordApp.Selection.TypeText("test") 
    End If 

    aDoc.Save() 
    aDoc.Close() 

    WordApp.Quit() 
End Sub 

你或許應該收起來然後將文檔安全字,所以你沒有WINWORD.EXE程序完成後懸(我加了這個單觸並且對你來說很髒,但它不是100%的萬無一失)

請原諒我可憐的,懶惰的vb.net風格。如果您喜歡c sharp,請注意自v4.0以來c sharp比Office Interop更好,我推薦它。

+0

@Jack。非常感謝關注。上帝保佑你 – Dev

+0

@Jack,錯誤段落數。 Count不是Microsoft.Office.Interop.Word.Paragraph的成員。我應該在這裏做什麼? – Dev

+0

@Jack,錯誤段落數。 Count不是Microsoft.Office.Interop.Word.Paragraph的成員。我應該在這裏做什麼?還有,如果有什麼東西寫在第二段?守則應在現有第二段之上插入新的段落,然後在新創建的段落中插入文本。 – Dev

0

是..我得到了答案..

Private Sub insertText() 
    Dim WordApp As New Microsoft.Office.Interop.Word.Application 
    Dim aDoc As Microsoft.Office.Interop.Word.Document = WordApp.Documents.Open("C:\File1.docx") 
    Dim RNG As Microsoft.Office.Interop.Word.Range() 
    Dim PARA As Microsoft.Office.Interop.Word.Paragraph = aDoc.Paragraphs.Add() 

    If aDoc.Paragraphs.Count > 1 Then 
     aDoc.Paragraphs(2).Range.InsertParagraphBefore() 
     aDoc.Paragraphs(2).Range.Text = "Hello World" 
    end if 
end sub 

此代碼首先新上文第第二對在新創建的第二對插入的Hello World。 乾杯....

相關問題