0

当社は最近、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 文書を誤って定義していると推測していますが、別の定義方法やこのエラーを修正する方法を示すものをオンラインで見つけることができません。

ここで、スタック コミュニティの膨大な知識に目を向けて、何がうまくいかないのか、そしてそれをどのように修正するのかについてのインスピレーションを得ています。

前もって感謝します。

4

1 に答える 1

1

これらの古い .dot ファイルを新しい .dotx 形式に変換することをお勧めします。

これが不可能な場合は、Word のオプション/セキュリティ センター/ファイル ブロックの設定でこれらの古い形式のブロックを解除してみてください。

http://answers.microsoft.com/en-us/office/forum/office_2016-word/word-2016-cannot-open-documents-with-doc/bf12fa10-4e28-4a6b-99b2-d42c1aa8cb4b/を参照してください

信頼できる場所として設定する必要がある場合もありG:ます(ネットワークドライブだと思います)。

于 2016-03-30T23:04:32.317 に答える