• ベストアンサー

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/17068)
回答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

  • エクセルデータをワードに差し込みで、空データに連動させたい

    わかりづらいタイトルですみません。 エクセルで作成したデータベースのデータを印刷物にするために、差し込み印刷のワードデータを作成しました。 それぞれの項目に、ワード上でタイトルをつけ、内容を差し込む形です。 しかし、一部のレコードでは、フィールドが空になる場合があり、その場合はタイトルが不要になります。 (ワードのイメージ)---------------- 【業務内容】  ここには内容が入りますが、入れるものがないと担当者2みたいになりますよね。 【担当者1】 鈴木(営業部)  ←括弧内に所属フィールド 【担当者2】 () --------------------------------- この業務内容の場合担当者が一人なので、空欄になってしまい、【担当者2】や所属用の()が邪魔。 レコード数が複数のファイルにまたがって5000くらいあるので、 自動的にタイトルとかも消えてくれると嬉しいのですが、マクロが必要でしょうか?マクロでできるのでしょうか? 何か設定すればできるのでしょうか?

  • エクセルのデータをワードの表に貼り付ける

    こんばんわ。エクセルに入力したデータ(1から100など4種類のデータ)をワードの表(表が100個あり、それぞれの表に4種類のデータを貼り付ける)に自動的に貼り付けたいと思います。リンク貼り付け、差込印刷を試してみましたが、作業性が良いとわ思いません。マクロなどでできれば良いと思いますが、私マクロがあまり詳しくないため、わかりません。教えて頂けないでしょうか。宜しくお願いします。

  • ワードからエクセルマクロの起動

    ワードに「挿入」-「オブジェクト」-新規作成タブの「エクセルワークシート」を選択してワークシート(表)を挿入しました。 そして、このエクセルの表に色をつける等の処理をしたいのですが、 この時エクセルを開かないであくまでもワード上でやりたいのです。 でもワードマクロからこのエクセル表を制御するには限りがあり、 エクセルマクロを起動できたらいいと思うのですが、その方法がわかりません。 どのように記述すればいいのでしょうか? わかりにくい質問かもしれませんがどなたかよろしくお願いします。 ワード、エクセルともに98です。

  • エクセルデータをワードの表に入れるには?

    vista,word2007,excel2007を使用しております。 エクセルのデータ(名簿です)をワードで作った表(罫線で作ったものです)の中に差し込みたいです。 差し込み印刷の「ラベル」のように<next record>をうまく使えないかと思うのですが、本やネットで調べてもなかなか分かりません。 よろしくお願いします。

  • エクセルにマクロを使ってワード、PDFファイルを貼り付けるには?

    エクセルで表になってる名簿があります。この名簿からマクロを使って、一人づつ名前を刷り込んだシートを裂作成印刷します。その際あるセルの値に応じて人ごとに異なるワード、PDFのファイルを貼り付けて印刷したいのです。 あらかじめ、いろんなパターンのワード、PDFを貼り付けたシートを作成しておき、セルの値でどのシートを呼び出して印刷するかマクロに判定させる方法もあるかと思いますが、容量がたいへん大きくなりますので、できれば外部のワード、PDFファイルを都度貼り付けて印刷し、印刷後、貼り付けたファイルをクリアし、次のを貼り付けるという方式にできればありがたいのですが、初心者なので、ワード、PDFファイルをエクセルに貼り付けるやり方さえわかりません。

  • word2010のマクロについて

    word2010で、行頭にある改行コードを削除するマクロを作りたいのですが、wordのマクロは作ったこともなく、まったくの素人です。 ネット上では、置換機能で「^p^p」⇒「^p」でOKとはありますが、表が混在するワード文書では、表の次にある空行を削除することはできません。 Perlだと(Perlは使えます)、例えば、$line = s/^¥n//g; でいけますね。ワードのマクロはネットでいろいろ調べましたが、基本知識がないためよく分かりません。 どなたかご教授のほどよろしくお願いいたします。

  • エクセルからワードのマクロを実行したい

    1. ワードで作られた報告書の表の数値をエクセルにコピーし、 2. その数値を使ってエクセルのオートシェイプでグラフを描き、 3. グラフをもう一度ワードの所定の位置に図として貼りつける、 というマクロを作成しています。ワードの表をコピーするマクロと、エクセルでグラフを描くマクロは作成できました。 問題はエクセルのシートに配置したコマンドボタンをクリックすると、グラフの入ったセル範囲をコピーするまではできたのですが、その後にワードのマクロを指定して実行させる方法がわかりません。 1.→2.のエクセルのマクロを実行する方はauto_openで何とかなったのですが、2.→3.は既にワード文書は開かれていますし、auto_openでは1.の手順ができなくなってしまうので困っています。 もし、エクセルのマクロでワードを操作などできるのでしたらそれでもよいのですが…。 ワードのマクロは初挑戦で、色々サイトも探したのですが見つかりませんでした…。 使用していますのは、Windows98SE,Excel97,Word97です。 ご存知の方、どうぞよろしくお願い致します。

  • エクセルからワードへの貼付について

    こんばんわ。過去の質問も探してみたんですが、見あたらなくて質問します。 エクセル2002で作成した文書をそのままコピー&ペーストでワード2002に貼り付けたら表の枠組みがあるんですが、それがどうしてもはみ出してしまいます。 データを差込印刷したいために、エクセルで作成した文書をワードに作り替えたいんですが、結局罫線をひとつひとつ直したりしてこれじゃ1からワードで作った方が早いのでは?というくらい時間がかかりました。 もっと簡単でいい方法があるのでしょうか? 因みにエクセルで差込印刷をしようとネットで検索したら、マクロを使うとあったので諦めました。 どなたか知っていたら教えて下さい。m(_ _)m

  • エクセルのデータをワードの表内に差し込むには?

    vista,word2007,excel2007を使用しております。 エクセルのデータ(名簿です)をワードで作った表(罫線で作ったものです)の中に差し込みたいです。 差し込み印刷の「ラベル」のように<next record>をうまく使えないかと思うのですが、本やネットで調べてもなかなか分かりません。 よろしくお願いします。 ※カテゴリを間違えてしまい、2重投稿になってしまいましたが、お許しください。

  • マクロ Excelデータ Accessへ

    マクロでExcelのデータでAccessにテーブルを作成する方法を教えていただけないでしょうか? Accessに接続して加工したテーブルのデータをExcelにコピーすることはできたのですがExcelのデータをAccessにコピーするマクロがわかりません。 どなたかお知恵を拝借できないでしょうか。 よろしくお願いいたします。

専門家に質問してみよう