我想打开一个现有的.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 :(得分: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。 干杯....