PowerPointで差し込み印刷

Wordには差し込み印刷という機能がありますが、PowerPointにはありません。
VBA(マクロ)を使ってExcelのデータをPowerPointに差し込んで保存する方法を考えました。
一応、動きましたので、自分のメモとして残しておきます。
PowerPoint2013、Excel2013で確認しました。 (さらに…)

差し込み印刷で郵便番号にハイフンを入れる

元のデータが「1234567」となっている場合、これをWordの差し込み印刷で「123-4567」というようにハイフン「-」を入れて表示する方法です。フィールド名は「郵便番号」とします。Word2007で確認しました。

通常の差し込み印刷ではフィールドコードが「{ MERGEFIELD 郵便番号 }」となります。フィールドコードを見るにはAltキーを押しながらF9キーを押します。
このとき差し込み印刷では「1234567」とそのまま数値として表示されます。

桁を揃えるには「\#」を挿入した後に「0」や「#」を使います。桁の途中に文字を表示したいときにはその文字を入れればよいです。
例えば「{ MERGEFIELD 郵便番号 \# 000_0000 }」とすると「123_4567」と表示されます。

しかし「-」を入れようと「{ MERGEFIELD 郵便番号 \# 000-0000 }」とすると「123 4567」と表示されます。スペースになってしまいます。
実は「-」は数値書式スイッチの一つなので単純に入れると本来の機能が働いてしまうのです。

- (負符号) この書式項目は、実行結果が負の数である場合に、負符号を追加します。実行結果が正の数または 0 (ゼロ) である場合はスペースが追加されます。

記号をそのまま表示したい場合は、記号を「'」(アポストロフィ)で挟みます。

「{ MERGEFIELD 郵便番号 \# 000'-'0000 }」とすると「123-4567」と表示されます。

差し込み印刷で数値を全角にする方法

Wordでフィールドを編集すると差し込み印刷で様々な書式が設定できます。
(半角の)数値をカンマ区切りにし、さらに全角で表示します。
通常の差し込み印刷の方法については省略します。Word2007で確認しました。 (さらに…)

差し込みフィールドの表示形式

Wordの差し込み印刷で数値や日付の表示形式を操作する場合についてまとめます。
Alt+F9でフィールドコードの表示、非表示を切り替えることができます。 (さらに…)

条件により内容を変える差し込み印刷

Wordの差し込み印刷を使うときに、条件によって表示内容を変えたい場合はないでしょうか。
例えばIDが100未満のときは宛先に「様」を付け、100以上のときは「御中」を付けるような場合です。 (さらに…)

Excelで差し込み印刷

差し込み印刷はExcelなどのデータを元にWordに差し込んで印刷するものですが、Excelのシートに差し込んで印刷するというニーズもあります。
なぜ標準機能にないのか不思議に思います。

そこでExcelで差し込み印刷をするためのマクロを二つ書いてみました。
どちらかを試してみてください。

マクロ「差込」

「リスト」シートからデータを取り出して「書類」シートに貼り付けます。
どのように貼り付けるかは自由に変えられます。
「Sheets("書類").Cells(1, 2) = Sheets("リスト").Cells(i, 2)」の「Cells(1, 2)」の1と2の部分は「書類」の貼り付け先のセルに書き換えてください。
「Cells(i, 2)」の2の部分は「リスト」の元の列番号(A列が1、B列が2)に書き換えてください。
リストの左端には「id」という通し番号を付けておいてください。
マクロを実行すると「id」を訊かれます。そのidをリストから探して書類に貼り付けます。
貼り付け後は修正したり保存したり印刷したり通常のExcel操作になります。

Sub 差込()
    Sheets("書類").Select
    myid = InputBox("id?")
    i = 2
    Do
        i = i + 1
    Loop Until Sheets("リスト").Cells(i, 1) - myid = 0 Or Sheets("リスト").Cells(i, 1) = ""
    If Sheets("リスト").Cells(i, 1) = "" Then
        MsgBox "一致するidがありません。終了します。"
        Exit Sub
    End If
    'この下の部分を書き換えて使います。
    '「書類」シート=「リスト」シート
    'Sheets("書類").Cells([書類の行番号],[書類の列番号]) = Sheets("リスト").Cells(i,[リストの列番号])
    Sheets("書類").Cells(1, 2) = Sheets("リスト").Cells(i, 2)
    Sheets("書類").Cells(3, 5) = Sheets("リスト").Cells(i, 3)
End Sub

マクロ「差込印刷」

「リスト」シートの最初の行から最後の行までデータを取り出して
「書類」シートに貼り付け、印刷します。
やはりどのように貼り付けるかあらかじめ書き換えておく必要があります。
途中で止まりませんので実行する際は慎重に。

Sub 差込印刷()
    i = 2
    Do
        'この下の部分を書き換えて使います。
        '「書類」シート=「リスト」シート
        'Sheets("書類").Cells([書類の行番号],[書類の列番号]) = Sheets("リスト").Cells(i,[リストの列番号])
        Sheets("書類").Cells(1, 2) = Sheets("リスト").Cells(i, 2)
        Sheets("書類").Cells(3, 5) = Sheets("リスト").Cells(i, 3)
       
        Sheets("書類").PrintOut
        i = i + 1
    Loop Until Sheets("リスト").Cells(i, 1) = ""
End Sub

差し込み印刷で個別のファイルに差し込む方法-改良版

前に差し込み印刷で個別のファイルに差し込む方法という記事を書いたのですが、A-Feさんから上手い方法を教えていただいたので、後半部分のコードを少し書き換えてみました。 (さらに…)

差し込み印刷で個別のファイルに差し込む方法

Wordの差し込み印刷で「個々のドキュメントの編集」を選択すると新規文書が作成されますが、複数のレコードの場合も一つの文書ファイルに保存されます。

「1つの文書に保存され、文書の各コピーは改ページで区切られます。」

つまりレコード毎に別のファイルにすることができません。

そこで別のファイルに連続して保存するマクロを考えました。
次の通りです。 (さらに…)


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報