0

MS Word 2010 で差し込み印刷を使用しています。データは Excel スプレッドシートから取得されます。

Last Name           First Name          Group
Smith               Oliver              F1
Jones               Amelia              B2
Taylor              Emma                B2
Williams            Jack                C1

次のマージフィールドがあるとしましょう: "LASTNAME""FIRSTNAME"および"GROUP"

私のドキュメントで、グループに固有の段落を追加したいと考えています。Word は、 "GROUP" .txtというファイルでこの段落を探します。

B1.txt:
Lorem ipsum dolor sit amet, consectetur adipiscing elit.

B2.txt:
Sed auctor turpis sed nisl ultricies volutpat.

C1.txt:
Vestibulum vel interdum metus, quis accumsan tortor.

これは、とりわけ1つのアイデアです。これらの段落は、Excel ワークシートや CSV ファイルなどの別のソースから取得することもできます。

どうすればこれを行うことができるか考えていますか?

4

1 に答える 1

0

小さな VBA スクリプトを作成することで、私の問題に対する満足のいく解決策を見つけたことをお伝えできることをうれしく思います。次の 3 つの手順で機能します。

  1. 目的のマージフィールドの値を取得します (例: "B2")

    ' source: 4th post, from dmaruca, on VBForum thread Nr 549587
    GroupVal = ActiveDocument.MailMerge.DataSource.DataFields("Group").Value
    
  2. 関連するテキストファイルの内容をインポートします (例: "C:\B2.TXT")

    GroupText = ImportTextFile("C:\" & GroupVal & ".Txt")
    
    ' VBA Code Snippet #22 from Allan Chara (Excel MVP)
    Function ImportTextFile(strFile As String) As String
      Open strFile For Input As #1
      ImportTextFile = Input$(LOF(1), 1)
      Close #1
    End Function
    
  3. テキストを挿入する

    ' see Microsoft KB #212682
    Selection.TypeText (GroupText)
    
于 2015-02-23T14:20:07.897 に答える