现在我有一个带有以下文字的Word文档:
全名 位置 地址
每一行都是单独的书签。每行的书签名称与单词相同(FullName的书签是FullName)。
当我遍历书签并更新三个不同书签的文本时,前两个书签被删除,我只剩下地址。我想一些书签在编辑过程中如何以某种方式结合起来。
这是我的代码:
Dim saveFileDialog1 As New SaveFileDialog()
saveFileDialog1.Filter = "Word|*.docx"
saveFileDialog1.Title = "Save your report file"
Dim FilePath = "C:\Users\Administrator.Laptop1\Desktop\TESTER.docx"
Dim myWordDoc As Microsoft.Office.Interop.Word.Document
Dim myWordApp As Microsoft.Office.Interop.Word.Application
Dim filepathname As Object = TryCast(FilePath, Object)
Dim missing As Object = Type.Missing
Dim objTrue As Object = TryCast(True, Object)
' create Word.Application object for the document
myWordApp = New Microsoft.Office.Interop.Word.Application
' open the document
myWordDoc = myWordApp.Documents.Open(filepathname, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing)
'update Opinion
myWordDoc.Bookmarks("SendDate").Range.Text = (Convert.ToDateTime(TextBox7.Text)).ToString("MMMM dd, yyyy")
myWordDoc.Bookmarks("FullName").Range.Text = TextBox4.Text & " " & TextBox5.Text & " " & TextBox6.Text & vbLf
myWordDoc.Bookmarks("Position").Range.Text = TextBox8.Text & vbLf
答案 0 :(得分:0)
您应该考虑使用DocumentFormat.OpenXml.Wordprocessing和简单替换,而不是使用Interop服务和书签来完成此任务。
它更稳定,表现更好,不会挂字。
您可以简单地遍历文档正文后代,例如“{FirstName}”并执行替换,而不是使用可能总是困扰您的书签。