如何在现有.docx文件中的所需位置添加文本

时间:2014-01-15 14:00:44

标签: vb.net ms-word

我想打开一个现有的.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

现在应该写什么来在第二段中插入一些文字? 任何帮助将不胜感激。提前谢谢。

2 个答案:

答案 0 :(得分: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锐利比以前使用Office Interop要好得多,我推荐它。

答案 1 :(得分: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

此代码首先在第二个para之上新建一个para并在新创建的第二个para中插入Hello World。 干杯....