当社は最近、office 2010 から 2016 への大幅なアップグレードを行いましたが、現在、以下に示す VBA マクロの 1 つに問題があります。
Function MergeIt()
Dim objWord As Word.Document
Dim SaveAsName As String
Dim Year As String
Dim DANo As String
Dim Revision As String
Dim strSource As String
Set objWord = GetObject("G:\Dev_&_Tech_Serv\Development\DAAssessTool\MailMerge1.dot", "Word.Document")
' Make Word visible.
objWord.Application.Visible = True
'Set the mail merge data source as the DAApproval Database.
objWord.MailMerge.OpenDataSource Name:="G:\Dev_&_Tech_Serv\Development\DAAssessTool" & "\DARevD.mdb", LinkToSource:=True, Connection:="QUERY qry_Mailmerge", SQLStatement:="Select * from [DAConCheckID]"
' Execute the mail merge.
objWord.MailMerge.Execute
' Close the original form document
objWord.Saved = True
objWord.Close (False)
End Function
エラーは最初のセット行でスローされます-ランタイムエラー287「アプリケーション定義またはオブジェクト定義エラー」がスローされます。以前の開発者が Word 文書を誤って定義していると推測していますが、別の定義方法やこのエラーを修正する方法を示すものをオンラインで見つけることができません。
ここで、スタック コミュニティの膨大な知識に目を向けて、何がうまくいかないのか、そしてそれをどのように修正するのかについてのインスピレーションを得ています。
前もって感謝します。