• ベストアンサー

エクセルデータを、ワード文書に差し込み印刷したいのですが、

エクセルデータ 名前 d_1 d_2 d_3 d_4   d_5 ○1  0  1  1  2  0 ○2  1  1  3  1  1 ○3  0  2  0  0  0 ○4  0  1  0  0  1 ・ のようなデータ(今はd_1~d_5の5個ですが今後増加します。データ部分の1は登録、それ以外は未登録の種類の数値)があり、ワード文書は個票の形の表を文書内に差し込みたいのです。 ワードで出力したい形式は個票で ----------------------(個票始まり) ○1 様 あなたが登録されているのは   d_2   d_3  です。 (個票終り)--------------(次の個票始まり) ○2 様 あなたが登録されているのは   d_1   d_2   d_4   d_5  です。 (個票終り)--------------(次の個票始まり) ○4 様 あなたが登録されているのは   d_2   d_5  です。 (個票終り)--------------(次の個票始まり) というように、各人物の登録されている部分だけを差込印刷したいのですが、どうすればいいのですか? つまり人によって、データ部分(フィールド)の増減があるのです。 ご教授の程よろしくお願いします。 フィールドを全部表示するのは初心ながら少しは理解出来ると思います。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.6

>表形式(罫線のある)には出来ないものでしょうか? >これはまた別の話なのでしょうか? そうですね。別の話ですね。 私も勉強させていただいたので、お礼を兼ねて回答します。 思い付くのでは、2つの方法があると思います。 1.通常の表形式 フィールドコードを表示した状態にしておきます。 差し込み文書を作成したら、表(罫線)にしたい範囲を 選択します。 メニューの[罫線]→[変換]→[文字列を表にする]で [文字列の区切り]を[段落]にして表形式に変換します。 この場合、データ部分は一つの段落なので、差し込みの 表示を区切ることは無いですが、表示データによって 罫線範囲が動きます。 2.ヘッダーとフッターに枠を作成する 決まった罫線を各差し込みページに表示したいのなら、 ヘッダーとフッターにオートシェイプで枠を作成するなり、 テキストボックスの中に表を入れるなりしてみては。 どのような罫線を引きたいのか、私には具体的イメージが できないので、アドバイスとしてはこれぐらいしか提示 できませんが... 別質問を立てれば、他の回答者からも別の方法を提示される でしょうから、上記の方法では納得できなかったら別質問を して下さいね。

その他の回答 (5)

回答No.5

補足に気付くのが遅くなりました。 作成手順を載せれば良いのですね。 データ部分の(改行)以外を同じ段落内に入れておきます。 { MERGEFIERD 名前 } →(Tab)様の~ (改行) { IF{ MERGEFIERD d_1 }="1""d_1""" }{ IF{ MERGEFIERD d_2 }="1""d_2""" }{ IF{ MERGEFIERD d_3 }="1""d_3""" }{ IF{ MERGEFIERD d_4 }="1""d_4""" }{ IF{ MERGEFIERD d_5 }="1""d_5""" } あとはEnterキー(改行)を指定した場所に、それぞれ挿入していくだけです。 No2の回答の方法で表示がされているなら(改行)の入れる位置を変更するだけです。 これで上手くいきませんか?

banzaiA
質問者

お礼

ご指南でうまくいきました。ありがとうございます。 感謝します。 欲をいえば、表形式(罫線のある)には出来ないものでしょうか? これはまた別の話なのでしょうか?

回答No.4

No3のmoon00さん的確なアドバイス有難う御座いました。 とても勉強になりました。 Wordをある程度知っているつもりでも、勉強不足を痛感 しました。感謝します。 No2の回答を一部訂正(No3さんのアドバイスを受けて) { MERGEFIERD 名前 } →(Tab)様 あなたが登録されているのは(改行) { IF{ MERGEFIERD d_1 }="1""d_1(改行) """ }{ IF{ MERGEFIERD d_2 }="1""d_2(改行) """ }{ IF{ MERGEFIERD d_3 }="1""d_3(改行) """ }{ IF{ MERGEFIERD d_4 }="1""d_4(改行) """ }{ IF{ MERGEFIERD d_5 }="1""d_5(改行) """ } これなら置換を使用しなくても繰り上げてくれますね。

banzaiA
質問者

お礼

ありがとうございます。 早速やってみます。 参考になりました。感謝です

banzaiA
質問者

補足

お礼のメッセージを書き込んで、早速やってみたのですが、解らないことがあり、補足のところに書きます。失礼の段、平にご容赦を! >これなら置換を使用しなくても繰り上げてくれますね。 ご指摘のとおり最初は繰り上げてくれるのですが、次の行はどのようにすればいいのでしょうか? 私のデータの例で言うと ○1 さまの d_2 は表示されるのですが、次のd_3を表示させるにはどのように書き込めばいいのでしょうか?宜しくお願いします

  • moon00
  • ベストアンサー率44% (315/712)
回答No.3

差し込み印刷にはあまり詳しくないのですが、 フィールドの条件による命令の中に「改行」を含むことができるのではないでしょうか。 下記のHPの「差し込み文書に空白行が表示される」に書かれている内容によると、できそうなのですが。 あいまいな回答ですみません。

参考URL:
http://office.microsoft.com/ja-jp/assistance/HP051877791041.aspx
banzaiA
質問者

お礼

ありがとうございます。 そのようなことが出来るのですね? 勉強します。

回答No.2

差し込み行の繰上げについては、元データが空白行ではないので 私の現在のスキルでは無理でした。 まったく出来ないわけではないので、その説明は後半に載せます。 まずは、差し込むデータに合わせて表示させる方法から。 フィールドコードの表示の状態で説明しています。 { MERGEFIERD 名前 } →(Tab)様 あなたが登録されているのは(改行) { IF{ MERGEFIERD d_1 }="1""d_1""" } (改行) { IF{ MERGEFIERD d_2 }="1""d_2""" } (改行) { IF{ MERGEFIERD d_3 }="1""d_3""" } (改行) { IF{ MERGEFIERD d_4 }="1""d_4""" } (改行) { IF{ MERGEFIERD d_5 }="1""d_5""" } (改行) フィールドコードを非表示にすれば、これで表示上は改行入りの 個票が出来ていると思います。 これをA4サイズの[新規文書への差し込み]をして、各ページ1枚毎に [名前]別に作成します(セクション区切りで個別になる)。 ここで余分な[改行のみ]の段落を削除するため、[置換]を利用します。 置換の[オプション]から[あいまい検索]のチェックを外しておきます。 [検索する文字列]には「^p^p」を入れます。 [置換する文字列]には「^p」を入れます。 [置換]で余分な改行を削除します。 この方法以外でも、[置換]を上手く活用して対処してみてはいかが でしょうか。 ちなみにマクロを使用すれば、もっと簡単な気がしますが、そこ までのスキルを持ち合わせていないので、他の回答者が提示して 下さることを期待します。

banzaiA
質問者

お礼

ありがとうございます。 新規文書に書き出して、置換ですか? >[検索する文字列]には「^p^p」を入れます。 >[置換する文字列]には「^p」を入れます。 >[置換]で余分な改行を削除します。 は存じませんでした。ありがとうございました。

回答No.1

差し込みするWord側の個票のサイズは一定にはしないのですか? 「d_1 d_2 d_3 d_4 d_5」を表示するとき改行されていますが、 改行しないといけないのですか? この部分は増減するとなると、改行してあると個票のサイズ がどんどん大きくなるのでは? 表示しない場合、改行してある所を詰めて(繰り上げて)表示 するようにしたいのですか? 単純に登録しているものだけを表示するなら、IFフィールド と差し込みフィールドを使用すれば出来ますが、作成したい 個票のレイアウトが判らないと説明し難いです。 (場合のよっては回答できる可能性があるので)

banzaiA
質問者

補足

ありがとうございます。ご指摘のとおり 改行して行きたいので、個票のサイズは大きくなります。 ただ個票はA4サイズ1枚に、一人分と考えています。またそれはA4サイズ以上にはならないデータになっています。 >表示しない場合、改行してある所を詰めて(繰り上げて)表示するようにしたいのですか? はい、繰り上げて表示したいのです。 宜しくお願いします

関連するQ&A