我在VS 2010中运行此应用程序时遇到错误(在VS 2008中运行正常)
Private Sub GenerateInvoice()
Dim emptyObject As Object = System.Reflection.Missing.Value
Dim wordApp As New Word.Application
wordApp.Visible = True
Dim InvoiceDoc As New Word.Document
InvoiceDoc = wordApp.Documents.Add(InvoicePath, emptyObject, emptyObject, emptyObject)
Dim totalFields As Integer = 0
For Each mergeField As Word.Field In InvoiceDoc.Fields
错误发生在For Each行
“对象引用未设置为 一个对象的实例。“
我在这里错过了什么吗?
答案 0 :(得分:1)
通过VS2010运行的实例中使用的InvoicePath
可能无效,因此对Documents.Add
的调用失败了吗?
您是否在同一台计算机上运行VS2010和VS2008?并且InvoicePath
在两个实例中都设置为完全相同的路径吗?
答案 1 :(得分:0)
尝试
Dim InvoiceDoc As Word.Document
wordApp.Documents.Add(InvoicePath, emptyObject, emptyObject, emptyObject)
InvoiceDoc=wordApp.ActiveDocument