当社は最近、オフィス2010から2016への大幅なアップグレードを実施しました。現在、下記のVBAマクロの1つに問題があります。メールマージVBA - アクセス2016(ランタイムエラー287)
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文書を間違って定義していると仮定していますが、このエラーを修正する方法や定義方法が異なるオンラインのものは見つけられません。
ここでは、何が起こっているのか、それをどのように修正するのかについてのインスピレーションのために、スタックコミュニティの膨大な知識に目を向けるようになりました。
ありがとうございます。