-1

完全な Access データベースと Word ドキュメントがあり、Word で VBA を使用してそれらを結合したいと考えています。マージを設定すると、次のようになります。

Sub MergeTest
    ActiveDocument.MailMerge.OpenDataSource Name:= _
        "C:\Users...MailMerge.accdb",_
         ConfirmConversions:=False,_ 
         ReadOnly:=False,_ 
         LinkToSource:=True, AddToRecentFiles:=False, _
         PasswordDocument:="", PasswordTemplate:="",_
         WritePasswordDocument:="", _
         WritePasswordTemplate:="", Revert:=False,_
         Format:=wdOpenFormatAuto,
End Sub

OpenDataSource コマンドには他にもパラメーターがあることは知っていますが、それらに何を使用すればよいかよくわかりません。とにかく、ドキュメントがマージされると、次のようになることがわかります。

ActiveDocument.MailMerge.Fields.Add Range:=Selection.Range, Name:="Year"
ActiveDocument.MailMerge.Fields.Add Range:=Selection.Range, Name:="Volume"

ラベルを追加するには。つまり、コマンドを実行する前に、シート上の各領域を選択する必要があります。スクリプトで参照するドキュメントの領域をマークする方法はありますか?

4

1 に答える 1

1

後で何かを挿入するための「ターゲット」を定義するには、ドキュメントにブックマークを挿入します。それで

Document.MailMerge.Fields.Add Range:=Document.Bookmarks("NameOfBookmark").Range, Name:="Year"

ActiveDocumentコード全体で使用することはお勧めできません。Word.Documentオブジェクトを宣言し、開いている (またはテンプレートから作成している) ドキュメントでインスタンス化する方がはるかに優れています。これにより、処理が速くなり、エラーが発生しにくくなります (Word アプリケーションで現在アクティブなドキュメントが変更された場合)。何かのようなもの:

Dim doc as Word.Document
Set doc = ActiveDocument
doc.MailMerge.OpenDataSource 'and so on
于 2016-06-14T18:04:06.703 に答える