ExcelからWordへ差込の方法の整理

1 エクセルからワードへ差し込む方法を調べたところ,先人がたくさんいたので,列記した.

 

2 Wordのオブジェクトについて

MyRecord

Excel VBA Wordを操作する主なプロパティとメソッド

MicroSoft

Word Visual Basic for Applications (VBA) リファレンス | Microsoft Docs

 

3 置換

事前に,Wordに[差込箇所1]などと入力しておき,置換する.

パソコンスキルの教科書 様

エクセルマクロVBAでワード連携!基本操作から差し込み印刷まで(コード付)

VBA(マクロ)で仕事を楽しく効率化 様

ExcelVBAでWordの文章を編集する | VBA(マクロ)で仕事を楽しく効率化

隣IT 様

Word VBAで文字列を置換する方法!いくつかの基本パターンを徹底解説

 

4 入力

(1)Wordのブックマークを使って入力

事前にWordにブックマーク機能で差込箇所1などと設定しておき,入力する

Wordブックマーク+Wordユーザーフォーム

テンプレートとWordマクロで、致命的ミスを防止。『文書の使い回し』で、痛い目に遭う前に。 - パソコン悪戦苦闘記録

Wordブックマーク+Excelリスト

『指定したレコードのみExcelからWordへ差込をするV』(VBA初心者) エクセル Excel [エクセルの学校]

 

(2)Wordの表を使って入力

Wordの表+Excelリスト

Excelの内容をWordのテンプレートに落とし込むマクロを作成したいと思っ... - Yahoo!知恵袋

「WordにVBAで書き込む場合は、平文やテキストボックスより、表の方が位置の指定がしやすいので、そちらをお勧めします。」という回答

 

5 差込印刷機

Wordの差込印刷機能+Excelリスト

Word 差込印刷のレコードごとにファイルを生成するマクロ - 素人がExcelVBAによる「一人働き方改革」に挑むブログ

 

word(ワード)の差し込み印刷で、1ページごとにファイル分割することができる。docx対応。PDF対応。 - 我が家の議事録 ~徒然なるままに~

 

6 どれが簡単か.

  差込印刷機能を手動操作するのをVBAでなぞろうとすると,MailMergeオブジェクトを使う書き方になり,ハイレベル.

(追記:ファイルを閉じて開いてが不要なので速い.)

 置換しようとすると,1レコードのときはよいが,複数レコードのときに原義ファイルを閉じて開いてするのが面倒.

 入力しようとすると,ファイルに事前にブックマークを設定しておく必要があったり,表形式である必要があるが,ファイルを開き直して待つ必要がなく速い

 (追記:ブックマークの箇所の文を削除して初期化する方法が分からない.結局ファイルを閉じて開き直すなら遅いのは同じ.未解決)

 →差込印刷機能や置換機能でも,結局<<差込箇所1>>とか[置換対象1]とか準備が必要なのは一緒.

 →自分だけが使う分にはブックマーク設定して入力するのがコードもシンプル.

(追記:ブックマークの箇所の文を削除して初期化する方法が分からない.結局ファイルを閉じて開き直すなら遅いのは同じ.未解決)

 →他人がコードを見るなら,置換だろうか.ブックマーク機能はワードファイルを開いたときに一目でわかりにくいが,[置換対象1]などと埋め込んでおけば一目で分かりやすいから.