埋め込みドキュメントを古いバージョンの MS Office で実行する際に問題が発生しています。問題はオブジェクトの宣言方法にあると思いますが、遅延バインディングを使用して埋め込みドキュメントを宣言する方法がわかりません (私はまだこの概念と vba の両方に非常に慣れていません)。以下は、コードのスニペットとともに変数宣言を現在どのように行っているかです。Excel 2013 では問題なく動作しますが、2010 では変数を宣言した方法が原因で動作しません (私は信じています)。
Dim oDoc As Word.Document
Dim oTemplate As Word.Document
Dim wdObj As OLEObject
Dim wdObj2 As OLEObject
'Deselect anything selected
Range("A1").Select
'Copy content of template
Set wdObj = Sheets("Template").OLEObjects("Template")
wdObj.Activate
Set oTemplate = wdObj.Object
oTemplate.Content.Copy
'Initialize letter document
Set wdObj2 = Sheets("Report").OLEObjects("Letter")
wdObj2.Activate
Set oDoc = wdObj2.Object
'Erase contents and replace with clean template
oDoc.Content.Delete
oDoc.Range.PasteAndFormat _
wdFormatOriginalFormatting
oDoc と oTemplate を「オブジェクトとして」設定しようとしましたが、それらを単語オブジェクトにリンクする方法がわかりません。これを行うと、PasteAndFormat 呼び出しの "wdFormatOriginalFormatting" でライブラリ参照が失敗するだけでした。
私はこれを理解しようとして髪を引き裂いてきました。どんな助けでも大歓迎です。ありがとう!