• 締切済み

VisualBasic2008でWord2003を制御したいです。

現在、VisualBasic2008でWord2003で作成した表を段落記号で区切って解除するプログラムを作成しています。Wordのマクロでもできるのですが、VisualBasic2008でもWordのマクロと同じようにWordドキュメントを制御できるのか、勉強したくて作成しています。 以下は一部を抜粋したものですが、「名前Selectionは宣言されていません」というエラーがでてしまいます。他の箇所でも「Selection」を使っている部分ではエラーがでます。 どなたかご存知の方対処方法を教えていただけないでしょうか。 なにぶん初心者なもので、わかりやすくご指導いただけると幸いです。 Dim wdDoc As Microsoft.Office.Interop.Word.Document For Each tbl In wdDoc.Tables '表を選択 tbl.Select() '段落記号で区切って表を解除する Selection.Rows.ConvertToText(Separator:=wdSeparateByParagraphs) Next

みんなの回答

回答No.1

Selection.Rows.ConvertToText Separator:=wdSeparateByParagraphs ↓ wdDoc.Application.Selection.Rows.ConvertToText Separator:=wdSeparateByParagraphs とするとどうでしょうか? もしかすると、 Separator:=wdSeparateByParagraphs ↓ 0 に置き換えなければならないかも。

関連するQ&A

  • VB2008を使ってWordやExcelを制御したいです。

    現在VB2008を勉強中の初心者です。例えば、VB2008からWordを開いてマクロを使った場合と同等の処理を行うことは可能でしょうか。 以下はWord2003で作成したマクロの一部を抜粋したものですが、例えば以下のように特定の文字を検索したり、置換したりといったドキュメント内の細かな制御はできるのでしょうか。 マクロを使えば?と言われればそれまでですが、勉強がてら大変興味があり、投稿しました。 ご存知の方、何卒よろしくお願いします。 Selection.Find.Replacement.Font.ColorIndex = wdRed With Selection.Find '置換前文字列を段落記号に設定 .Text = "^p" '置換後文字列を段落記号に設定 .Replacement.Text = "^p" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False .MatchByte = False .MatchFuzzy = False End With

  • ワードの段落記号

    段落記号が以下のように多くつけられている文章において、 AAAAAAAAAA段落記号 段落記号 段落記号 段落記号 BBBBBB段落記号 段落記号 段落記号 CCCC段落記号 段落記号 段落記号 段落記号 段落記号 段落記号 以下のように文末と行間に一つだけ、段落記号が存在するようにしたいのですが。 AAAAAAAAAA段落記号 段落記号 BBBBBB段落記号 段落記号 CCCC段落記号 段落記号 マクロ等で一括変換する方法を教えて頂きたいのですが。 よろしくお願いいたします。 (ワードは2003です)

  • Word2007マクロ

    宜しくお願い致します Word2007でこんな事が出来ますか Excel2007で線路を作るマクロを作成しました(本を見て) これをWordでも使用したいのですが、Excelのマクロそのまま WordのVisual Basicに書き込んでもエラーが出て機能しません Excelのマクロは以下です Sub 線路作成() 上端位置 = Selection.Top 左端位置 = Selection.Left  Selection.ShapeRange.Line.Weight = 6# Selection.ShapeRange.Line.Visible = msoTrue Selection.ShapeRange.Line.Style = msoLineSingle Selection.ShapeRange.Duplicate.Select Selection.ShapeRange.IncrementLeft -18# Selection.ShapeRange.IncrementTop 9.6 Selection.ShapeRange.Line.DashStyle = msoLineDash Selection.ShapeRange.Line.Weight = 4.5 Selection.ShapeRange.Line.Visible = msoTrue Selection.ShapeRange.Line.Style = msoLineSingle Selection.ShapeRange.Line.ForeColor.SchemeColor = 9 Selection.ShapeRange.Line.Visible = msoTrue Selection.Top = 上端位置 Selection.Left = 左端位置 End Sub Wordで使えるようにするには、どこを直せばよいでしょうか。

  • Wordの2つの表をくっつけたい

    Word2000で、 2つの表があって、上下に分かれています。 その2つの表をくっつけたいのですが、くっつけることができません。 2つの表の間はなぜか空いています。 [表示]-[段落記号]にチェックが入っているのに、何も表示されていません。 2つの表は列の数は同じですが、列の境の縦線を合わせることができません。微妙にずれてしまいます

  • Wordのマクロから書式(O)⇒箇条書きと段落記号(N)を設定する方法

    ttp://www.aa.alpha-net.ne.jp/pcfriend/Word/string.htm#文字列を操作する 上記ページの基本的なWordマクロは操作できる前提での質問です。 タイトルどおりなのですが、Word上で書式(O)⇒箇条書きと段落記号(N)と進み選択した段落記号を選ぶと、指定した段落記号が用いられますよね。これと同じ操作を、Wordのマクロから行いたいのです。 具体的には、イントラのWebページから取得したHTMLソースを加工して、Wordに出力(ここまではできてます)、その上で、上記の自動段落化をして欲しい、との要望なのです。 どなたか、自動段落化をマクロ化するヒント(プロパティやメソッド)だけでもご存知の方、よろしくお願いいたします。

  • 段落記号を自動で非表示にしたい

    Word2000を使用しています。 ひとつのWordファイルを何人もが閲覧することを想定しています。 閲覧者は不特定多数で、Wordに関して知識はほとんどありません。 表組みを利用した文書なので、随所に段落記号があります。 閲覧者が見やすいように、そのWordファイルを開いたときに、段落記号を自動的に非表示にする設定をしたいのですが、何かいい方法はありますか? また、ファイルを閉じるときに元の設定に戻せると一番いいのですが。 マクロだとすると、そのマクロはどのように書けばよいのでしょうか? ついでに表のグリッド線も非表示にできるとうれしいです。 どなたか教えてください。よろしくお願いします。

  • Word2007の罫線のコピーの質問です。

    Word2007の罫線のコピーの質問です。 同じような表を作成したい場合に、ひとつ作ってコピー・貼り付けをしたいのですが、うまくできません。下に繋がって貼り付けされたりしてしまいます。 右に繋げて貼り付けをしたい場合は段落記号が邪魔をして繋がらなかったりと苦戦しております。 どなたか至急方法を教えてください。 よろしくお願いします!!

  • Word2000について。

    Windows98で、Word2000を使ってます。 ものすごく基本的な質問で悪いんですが、文章を打つとき、スペースを入れると「□」が表示されて困ってます。今までは何も表示されなかったのに。 それによって何かが変わるとかいうわけではないんですが、見づらくていやです。 この解決法、ご存知の方いらっしゃいませんか? (ちなみに、表示→段落記号で解除しても元に戻りません)

  • Wordのマクロについて質問です。

    Wordのマクロについて質問です。 wordマクロにて、 1.jpeg化した書類を貼付 2.セクション区切りを入れる 3.1~2をページ分繰り返し 4.最後にページ番号をフッターに記述したい  (ページ毎に違ったページ番号を記述するため 例:解説-1、巻末-1 など) その際に”前と同じヘッダー/フッター”がマクロで解除できず先に進めません。 ヘッダーとフッターのリンクをセクション分全て解除するVBAマクロをご教示頂きたくよろしくお願い致します。 マクロを記録してみると、 Selection.HeaderFooter.LinkToPrevious = Not Selection.HeaderFooter.LinkToPrevious となるのですが、この項目をセクション2からセクションの数だけ繰り返しても機能しませんでした。 (正確には、最初の2、3ページのみ解除できませんでした) 何卒、よろしくお願い致します。

  • ワードの段落で

    Wordについて、以下の画像のように 段落記号の後に、本文で左にインデントした文書を作成したいとします。 私は、いつも段落番号を押して、段落の見出しを入力して、Enterで改行します。 改行すると、次の段落番号(2.)になりますが、一旦、Back Spaceで消してから、 本文を打ちます。 このBack Spaceがスマートではない気がしています。 何か方法はないでしょうか? よろしくお願いします。 ワード2007以上

専門家に質問してみよう