在VB.net中创建Word实例时出错

时间:2010-11-15 13:02:47

标签: vb.net .net-4.0 ms-word

我在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行

  

“对象引用未设置为   一个对象的实例。“

我在这里错过了什么吗?

2 个答案:

答案 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