• ベストアンサー

WordでのVBAについて

お世話になります。 Word2010 ExcelVBAだとセルの位置を指定して、目的の場所に特定の 文字列を挿入するようなことができますが、Wordの場合は どのようにやるのでしょうか。 例えば、10行目の右端に「TEST」という文字列を挿入 したい場合や、特定の位置から5cmの罫線を引きたい場合 など。 勉強不足で大変恐縮ですが、ご教示の程、宜しくお願い致します。 ※可能であれば、上記の例で具体的にVBAで教えて頂けると  幸いです。

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

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

ワード文書の「表」ならば、エクセルに似て、座標的な指定ができる。 小生はWORDVBAには詳しくない。 ワードには、下記3つの方法をとりあえず思いつく。(1)(3)は本質問では使えそうもないので(2)でとりあえずやってみた。 (1)ブックマークの設定 (2)特に日本人が好きな「ページ」「行」の指定では手こずる。 (オブジェクトとしてつかめないということかと思う?。) 選択操作のキー移動をプログラムで模擬実行してやる方法をやってみた。 Sub test05() ActiveDocument.Range(0, 0).Select Selection.GoTo What:=wdGoToLine, Which:=wdGoToNext, Count:=3 Selection.EndKey Unit:=wdLine, Extend:=wdMove Selection.TypeText ("終端") End Sub ・先頭にカーソルを持って行く ・3行目(質問と違うが)下を選択 ・行末に移動して選択 ・そこに「終端(勝手な例です)」という文字を入力(付け加えた)した。 (3)検索機能で、文章の中の、お目当ての場所をワードに選択してもらい、捉える。 >特定の位置から5cm はよくわからない。 CentimetersToPoints メソッド はWordVBAにもある。表などでは利用できそう。 しかし画面上の位置とワードの文書の行などの(多分印刷位置だろうが)位置を関連付けるのはむつかしそう。 ーー ワードVBAは日本語での解説書も少ない(1,2冊)。英文のWORDVBAの解説書を取り寄せて勉強するか、中途半端に終わるかどちらかになるだろう(小生はもちろん後者)。サラリーマンなどは、あまり深入りは時間のロスと思う。

naoto0216
質問者

お礼

imogasi様 ご回答ありがとうございました。 Excelと違ってWordだとちょっと面倒そうですね。 もう少し調べてみたいと思います。 ありがとうございました。

関連するQ&A

  • Word中の表

    Word文に表を挿入しました。セルに文字列を書き込みたいのですが、セルの右端までは記入できず、途中で行が変わってしまいます。セルの右端まで文字を記入するには、どうすればいいのですか。

  • ワード&エクセルでの文字入力と改行

    いつもお世話になります。 ワードで罫線⇒挿入⇒表で、例えば1列3行の表を作ったとします。 その後、この表の1行目から文字を入力していき、行の左端から右端まで文字を入力します。通常、右端まで文字を入力した後、更に文字を入力し続けると勝手に改行し、罫線で作成した1行目が2段構成になってしまいます。 これをどうにかして、表の1行目に文字が入らなくなった場合、自動的に2行目に移行していくようにしたいのですが、どのようにすれば良いのでしょうか。 又、エクセルでも同様で、定めた文字数を超えたらセルから次のセルへ移行していく、という具合にしたいのです。 本当に初歩的な質問で、恥ずかしい限りなのですが、どうぞ宜しくお願い致します。

  • VBA

    VBAでCells(1,1)=1と書いて、 エクセルシートの行や列の挿入をすると、 1を書き込みたいセルの位置がずれるのですが、Cells(1,1)=1をCells(2,2)=1とかに 自動的書き換えることは出来ないのでしょうか?

  • VBAの

    VBAで特定の列で文字マッチングをして、ヒットした行をシートAからシートBにコピーしたいと考えています。 単にセルの値を全コピーするだけなら可能です。しかし、このときにシートAが何行、何列あるか分からない場合、可変長なシートAを特定の列で文字マッチングをして、シートBにコピーするためにはどのようにすればよいのでしょうか?

  • エクセル VBAで入力

     エクセル初心者です。 条件付き書式で一つのセルに特定の文字列を入力した際に、そのセルと任意の法則性のある複数のセルに(入力内容は無関係でセルの行・列に法則性があります)特定の塗りつぶしを行いたいのですが、どのようにすればよいのでしょうか。 条件付き書式をすべて設定する(手打ち)するのが最も確実で間違いの内方法ではありますが、新規に行・列を挿入した場合、その行・列には条件付き書式が設定されていませんので、意図した作用を起こさなくなってしまいます。 上記ではよくわからないと思いますので、具体的な例を入れさせていただきます。 例)) 任意のセル(A13)に特定の文字列(OK)と入力する。 特定文字列に反応して、そのセルの列に(A12からE12、F12からH12)赤色の塗りつぶしを入れる。 上記は1セルに対して行われますが、VBAを使用してA12からA5000までを検索対象として持たせて、それぞれのセルの列に対して塗りつぶしを入れられるようにしたいと思っています。

  • Word2007 表作成での現象

    Word2007で表を作成している際に次のような現象がありました。 原因と解決方法をお教えください。 「挿入」タブ-「表」グループ-「表の挿入」にて必要な列と行を挿入後、縦の罫線を行途中より引くと、そこの行から下のセルが罫線なしの表示になってしまいます。 たとえば、まず上記の方法で3行×4列の表を挿入します。 その後、1行目は4列のままで、2行目から3行目までに縦の線を引いて5列にすると2行目と3行目が罫線なしの表示となります。 この現象は「罫線を引く」ボタンをクリックしてマウスで引いた時も、「セルの分割」で列数を指定した時も同じ現象でした。 ご回答よろしくお願い申し上げます。

  • ワードで表を作ってセル内で改行をし、下のセルに行かせたい場合どうすれば

    ワードで表を作ってセル内で改行をし、下のセルに行かせたい場合どうすればいいのでしょうか? 例えば4列2行の表を作ったとします。 1行目の左から2列目のセルに文字を書き込みます。 表のオプションで「自動的にセルのサイズを変更する」のオプションを外して 1行目の左から2列目のセルに文字を書き込み、そのセル内の右端まで行くと自動的に改行されて 2行分の大きさになりますよね。 こうならず 2行目の左から2列目に行かせたい場合どうすればいいのでしょうか?

  • エクセルVBAでセル結合

    いつもお世話になっています。 エクセル2003でVBAを使って下記をしたいのでその、VBA構文を教えて下さい。 特定の列のあるセルに文字が入っています。 (文字が入っている列は固定ですが、行番号はデータによって変わります。例えば、Aデータの場合は「J30」、Bデータの場合は、「J55」だったりします。) この文字が入っているセルをVBAで検索し、検索したセルを右隣のセルと結合します。(先ほどのAデータの場合、J30:Z30に結合します。) 更に、文字が入っているセルが2以上の複数の場合があります。(先ほどのAデータの場合、「J30」と「J40」と「J45」という感じです。文字が入っているセルの数はデータにより異なります。) 結合が終わり、このシートのデータがあるところだけに罫線を引きます。(このシートのデータというのは、前述の文字とそれ以外は、「数字」と「・」です。 ややこしいですが、よろしくお願いします。

  • エクセルVBAのヒントをください

    エクセルのある列に、文字列が入っているとします。 たとえば、Aであったり、Cであったり、A,C,Fとカンマ区切りで複数の文字列(個数は不定) が入っていたりします。 このとき、一行に一つの文字列しか含まないように、カンマで区切られた文字列を展開し、 複数行に分けて格納したいと思っています。 たとえば、一番上の行のセルにA、二番目の行に「C,D,A」、三番目の行にB、四番目の行に 「E,A」と入っていたら、各行に一文字列のみ入るように、上からA、C、D、A、B、E、Aという行を 作りたいと思います。各セルに含まれる文字列の個数は不定で、規則性はありません。 基本的に、 (1)各セルに含まれているカンマの数を調べる (2)カンマの数だけ次の処理を繰り返す  ・行挿入   ・最初のカンマの位置を調べる   ・先頭からカンマまでを切り取る   ・上記の値をセルに入力  ・行挿入   ・2番目のカンマの位置を調べる   ・1番目のカンマの位置+1から2番目のカンマの位置まで切り取る   ・上記の値をセルに入力 上記をカンマの数だけ繰り返す。 といった具合にしていくのだと思いますが、このような処理をするのに はどの程度のVBAのスキルが必要ですか? 上記のヒントや、参考になるサイト、書籍があればご教授ください。

  • Word罫線の列挿入について

    次のような表で列を追加(挿入)しようとするとうまくいきません。 1列につき1月、2月・・と項目名をつけていますが、 その中で前半・後半と分けたいので、実際には2行目以降は縦に罫線を引いて、2列となっている。1行目は項目名のため、2列分を結合している。 この場合、右端に次の月を追加しようとして、ひと月分(2列)をコピーしたり、列挿入したりしたが、うまくいきません。(余計なセルができたりします) Excelのようにうまくいかないものなのでしょうか。。。

専門家に質問してみよう