Word ドキュメントが差し込み印刷テンプレートである Excel > Word 差し込み印刷を作成しました。
現時点では、Excel ファイル (データ ソース) の場所をハード コードする必要があります。
ファイルが互いに同じフォルダーにある限り、ネットワーク上でファイルを移動できるようにしたいので、データ ソースがまだ Excel ファイルであることを認識します。
私は現在、うまくいくと思っていたこのコードを持っています。任意の時点で Word 文書が開かれると、ファイルの現在のディレクトリを参照し、ファイル名 PM MailMerge.xlsm を検索して、データ ソースを再作成します。
それが作成されると、メッセージ ボックスに新しい差し込みデータ ソースが表示されます。
これは機能しますが、両方のファイルを他のフォルダーに移動すると失敗し、データソースが見つかりませんと表示されます。
コード:
Private Sub Document_Open()
Dim strBook As String
Dim strBookName As String
Dim strDataSource As String
strBookName = "\PM MailMerge.xlsm"
strBook = ActiveDocument.Path & strBookName
strDataSource = ActiveDocument.MailMerge.DataSource.Name
ActiveDocument.MailMerge.OpenDataSource Name:= _
strBook, _
ConfirmConversions:=False, _
ReadOnly:=False, _
LinkToSource:=True, _
AddToRecentFiles:=False, _
PasswordDocument:="", _
PasswordTemplate:="", _
WritePasswordDocument:="", _
WritePasswordTemplate:="", _
Revert:=False, _
Format:=wdOpenFormatAuto, _
Connection:= _
"Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=strBook;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=37;Jet OLEDB:D", _
SQLStatement:="SELECT * FROM `Merge$`", _
SQLStatement1:="", SubType:= _
wdMergeSubTypeAccess
MsgBox "Current Datasource - " + strDataSource
End Sub