- 締切済み
エクセルのデータをワードの表に
ワードの表というのは罫線で設定した表です。 その中のそれぞれのセルにエクセルのデータを1件ずついれたいのです。(VBAで) その時「Inserdatabase」を使うと1件のデータではなく表として出力されてしまうので、せっかく書いた表がつぶれてしまいます。 なにかいい方法ありませんか? Windous98、Excel・Wordともに98です。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- TTak
- ベストアンサー率52% (206/389)
batu1さんこんにちは (前回質問No.86378より引き続き)excel2000,word2000での例です。参考になさってください。試してみたのですがうまくいきました。Wordの罫線表をオブジェクトとして特定できるのかなぁなんて思っていましたが、ヘルプを見るとTableオブジェクトがあり、インデックス値を持っているようなので、早速作ってみました。なお、このインデックス値が、どういう順番に割り振られるのかまでは調べていません。 この例は、マイドキュメントにBook1.xlsというexcelファイルが保存されていて、そこのSheet1の"A1:E5"に基になる表があります。Word文書にもこれに対応する罫線表(縦2段横5列・インデックス値1)がある場合のマクロ例です。質問No.86378の回答に述べたように、Word VBEからEXCELアプリケーションを参照設定しなければ使えません。 Sub test() Set wkbObj = CreateObject("C:\My Documents\Book1.xls") Set MySheet = wkbObj.Worksheets("Sheet1") For X = 1 To 2 For Y = 1 To 5 ActiveDocument.Tables(1).Cell(X, Y).Select Selection.TypeText (MySheet.Cells(X, Y).Value) Next Y Next X Set wkbObj = Nothing Set MySheet = Nothing End Sub
- 134
- ベストアンサー率27% (162/600)
VBAではないのですが、「差し込み印刷」という手もあるかと思います。 1.EXCL、Wordで、表を作成。EXCLは保存。 2.Wordで、ツール→差し込み印刷ヘルパーを選択。 3.メイン文書→作成→定型書簡 を選択 4.作業中のウィンドウ を選択 5.データファイル指定→データファイルを開く で、EXCL形式にして、読みとるデータを指定 6.ワークシート全体→OK→メイン文書の編集 を指定 7.Word上の、出力したいところにカーソルをあわせ、「差し込みフィールドの挿入」により、データを呼び出す。 という手順になります。 参考にしてくださいませ。
お礼
回答ありがとうございます。 差し込み印刷は質問をする前に試していたのですが、 私のやらんとしている事と機能が違うのでダメなんです。 例えば、1つの列の複数行に複数のデータを挿入したい場合、 1件目のデータが同列に並ぶだけだったり、同じ書式のページが何枚もできたり・・・ やっぱり差し込み印刷は「1つの指定した個所に1つのデータ」というのが約束なんですね。確かに差し込み印刷本来の目的で使用する際には極めて便利に感じますが、逆にこの融通のきかなさにも頭を悩ませます。 お礼が送れて申し訳ありませんでした。 今後ともまたよろしくお願いします。
補足
お礼に書き忘れてしまったので・・・ 多分他の回答はもうこない気もするんですが、もう少しまってみようと思いますのでまだ締め切らずに待ってみます。
お礼
前回に引き続き回答ありがとうございます。 実は回答を読むちょっと前に、偶然全く同じことをしました。 何日も考えてやっとできたー!! と喜んだ後に回答を読んで TTakさんが同じ事を書いている、ということはこれで正解だったんだ! と試験後の回答を新聞で読んだような気分になりました。 TTakさんにはこんなこと、お茶の子サイサイなんでしょうか・・・? 本当にありがとうございました。