ExcelからWordへ差込の方法の整理
1 エクセルからワードへ差し込む方法を調べたところ,先人がたくさんいたので,列記した.
2 Wordのオブジェクトについて
MyRecord
Excel VBA Wordを操作する主なプロパティとメソッド
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 差込印刷のレコードごとにファイルを生成するマクロ - 素人がExcelVBAによる「一人働き方改革」に挑むブログ
word(ワード)の差し込み印刷で、1ページごとにファイル分割することができる。docx対応。PDF対応。 - 我が家の議事録 ~徒然なるままに~
6 どれが簡単か.
差込印刷機能を手動操作するのをVBAでなぞろうとすると,MailMergeオブジェクトを使う書き方になり,ハイレベル.
(追記:ファイルを閉じて開いてが不要なので速い.)
置換しようとすると,1レコードのときはよいが,複数レコードのときに原義ファイルを閉じて開いてするのが面倒.
入力しようとすると,ファイルに事前にブックマークを設定しておく必要があったり,表形式である必要があるが,ファイルを開き直して待つ必要がなく速い.
(追記:ブックマークの箇所の文を削除して初期化する方法が分からない.結局ファイルを閉じて開き直すなら遅いのは同じ.未解決)
→差込印刷機能や置換機能でも,結局<<差込箇所1>>とか[置換対象1]とか準備が必要なのは一緒.
→自分だけが使う分にはブックマーク設定して入力するのがコードもシンプル.
(追記:ブックマークの箇所の文を削除して初期化する方法が分からない.結局ファイルを閉じて開き直すなら遅いのは同じ.未解決)
→他人がコードを見るなら,置換だろうか.ブックマーク機能はワードファイルを開いたときに一目でわかりにくいが,[置換対象1]などと埋め込んでおけば一目で分かりやすいから.