• ベストアンサー

wordにexcelデータの流し込み、マクロでできる?

固定された表様式に400件程のデータを流し込みたいのですが、 Excelのデータをwordで作成した表様式に流し込むことはできるのでしょうか? 表の様式が決まっており、印刷した際の体裁を重視しています。 現在は、そのデータ(string型)を前任者が作成したマクロで、 excelで作成した表様式に流し込んでいるのですが、 データの中にスペースが複数ある場合、文中のスペースの大きさが均等でなくなるなど、印刷の体裁が悪いのです。 (例:1つのセル内に入力されるデータの一例、□はスペースです。 「6月1日□□□□a業務…□□□担当者A 改行  6月2日□□□□b業務…□□□担当者B 改行  6月3日□□□□c業務…□□□担当者C 改行 …」) excelで印刷機能があまりよくないということならば、 wordなら…と思ってexcelデータをwordに流し込む作業を記憶しようと wordマクロをいじってみたのですが、 やり方が間違っているからかうまくいきません。 excelデータをwordの表様式に流し込むのは、無理なのでしょうか? accessでも考えてみたのですが、1つのレコードの項目数が多くレコード毎にデータ量がかなりちがうし、表様式自体も列・行が入り組んでおり、不適当なようです。 うまく説明できておりませんが、 なにかよいアドバイスございましたら、ぜひよろしくお願いします。 なにしろマクロ初心者なので、 わかりやすい説明をしていただけたらありがたいです。

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

  • ベストアンサー
  • Kuppycat
  • ベストアンサー率50% (109/216)
回答No.1

質問への答えではありませんが。 スペースの大きさが均等でなくなるというのは、フォントによるものではありませんか? プロポーショナルフォントでは、文字によって幅が違いますので、文字数で合わせている場合ずれが生じます。 等幅フォントに変えてみてはいかがでしょうか?

morimorisoba3
質問者

お礼

さっそくご回答していただいて、ありがとうございました。 ほんとです~。マクロ以前の問題だったのですね…、ハズカシイ。 等幅にしたら文章量が大きく変わって様式に収まりきらなくなるかなと思ったのですが、大丈夫でした。 ていねいに教えてくださってありがとうございました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

アクセスの「レポート」(VBAを使わない)で考えた場合 貴殿が書いておられる >表様式自体も列・行が入り組んでおり 項目(フィールド。日付、業務名、担当者名など)の配置は自由です。 >1つのレコードの項目数が多く 項目の多さもページに収まれば問題ないでしょう。 >レコード毎にデータ量がかなりちがうし、 はどういう意味かわからない。 実際にアクセスレポートに熟達されての結論でしょうか。疑わしい。アクセスでやるのは、面倒ではありましょうが。 >wordの表様式に流し込むのは、無理なのでしょうか 言っておられるのはVBAででしょうが、ワードのVBAは「マクロ初心者」は普通手を出しません。市販の解説書などが出ていないからと周りに聞く人もないからです。 やるならご苦労ですが、マクロの記録を研究するか、WEBなどで諸所に散らばっている知識を集めましょう。時間はかかります。 ワードの方がエクセルより体裁がよくなるというのは納得できません。 VBAでサワリだけ書いてみます。 ワードに表を挿入します。 そしてVBEの標準モジュールに Sub test01() strword = "こんばんわ" ActiveDocument.Tables(1).Range.Cells(1).Select Selection.TypeText Text:=strword End Sub を貼り付けます。 実行すると、左上隅のマスに「こんばんわ」と表示されているでしょう。

morimorisoba3
質問者

お礼

いろいろ詳しく教えてくださって、ありがとうございます。 やっぱりwordマクロは一筋縄ではいかないんですね…。 excelだと作業ウインドウと実際の印刷内容とズレが生じるため、wordならそれがない?と思い立ってみたのですが、かなり勉強が必要みたいです。 accessではレコード毎にstring型データの長さにあわせて全体が表示できるよう欄の幅が自動で調整されるとよいのですが(実はできるのでしょうか?accessも初心者です)、できずにあきらめました。 最後にVBAまで書いていただいて、ありがとうございました! accessもVBAも、いろいろ勉強してみま~す。

関連するQ&A

専門家に質問してみよう