0

更改部分代码后,我在 Excel 中收到错误“对象不支持此属性或方法” 。引发错误的行是“With odoc.MailMerge”这是代码:

  strBookName = "\" & "PM MailMerge.xlsm"
  strBookPath = ActiveWorkbook.Path
  strBook = strBookPath & strBookName

'Opens Word.Application

  Set ObjWord = CreateObject("Word.Application")
  Set odoc = GetObject(strBook)

'Executes a Hidden Mail Merge

  ObjWord.Visible = False
  With odoc.MailMerge
  .Destination = wdSendToNewDocument
  With .DataSource
  .FirstRecord = 1
  .LastRecord = 1
   odoc.MailMerge.Execute
   Set odoc2 = odoc.Application.documents("Form Letters1")
   odoc.Close True
End With
End With
4

2 回答 2

0

尝试

option explicit

Dim objWord as Word.Application
Dim oDoc as As Word.Document

Set ObjWord = CreateObject("Word.Application")
set oDoc = objWord.documents.Open strBook

不要忘记在菜单中引用 Word 库:工具 > 参考。

顺便说一句:调暗所有变量(强制使用选项显式)。

编辑:注意:您在代码示例中提到的文件是 Excel .xlsm,而不是 Word .doc ...

于 2013-10-21T15:03:18.670 回答
0

Set odoc = GetObject(strBook) 这是 excel 的工作簿吗?如果是这样,则工作簿对象没有 MailMerge 方法。您需要引用一个word文档才能使用Document对象的MailMerge方法

于 2013-10-21T15:05:26.427 回答