Word VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


70 / 308 ツリー ←次へ | 前へ→

【699】ワード文書内の表の操作について チャブー 10/7/4(日) 0:31 質問[未読]
【700】Re:ワード文書内の表の操作について H. C. Shinopy 10/7/4(日) 22:56 回答[未読]
【701】お礼 Re:ワード文書内の表の操作について チャブー 10/7/5(月) 0:26 お礼[未読]

【699】ワード文書内の表の操作について
質問  チャブー  - 10/7/4(日) 0:31 -

引用なし
パスワード
   エクセルから、新規ワード文書を開いて、そのワード文書の中に表を作成しているのですが、表に続く部分に記述したい文字列が、表の中に表示されてしまいます。表を解除?する命令が必要なのでしょうか?

以下が私のコードです。どこに問題があるのか指摘いただけますと幸いです。

※エクセルVBAに関する質問ですが、内容はワードVBAに関するものが中心なのでこちらに投稿しました。

*****

Dim wrd As Object
Set wrd = CreateObject("word.application")
wrd.Visible = True
Set doc = wrd.documents.Add
Set sl = wrd.Selection

sl.TypeText "こんにちは" ''’文書に「こんにちは」と表示
sl.TypeParagraph ''’改行

Set sl = wrd.Selection
Set objrange = sl.Range() '''Rangeの設定
doc.Tables.Add objrange, 2, 2 ''’行数・列数を指定
Set objtables = doc.Tables(1)

objtables.Cell(1, 1) = "a" ''’表に値を挿入
objtables.Cell(1, 2) = "b"
objtables.Cell(2, 1) = "c"
objtables.Cell(2, 2) = "d"

sl.TypeText "ハロー" ''’←この「ハロー」が表の中に表示されてしまいます。表に続く文書の部分に表示させたいのですが。。
sl.TypeParagraph

【700】Re:ワード文書内の表の操作について
回答  H. C. Shinopy  - 10/7/4(日) 22:56 -

引用なし
パスワード
   取り敢えず、「文書の末尾に移動」を追加しました。

参照設定しないと、表意定数が使えないので、
「wdStory」のところに「6」を指定しています。

Sub hhh4()
 Dim wrd As Object
 Set wrd = CreateObject("word.application")
 wrd.Visible = True
 Set doc = wrd.Documents.Add
 Set sl = wrd.Selection
 '
 sl.TypeText "こんにちは" ''’文書に「こんにちは」と表示
 sl.TypeParagraph ''’改行
 '
 Set sl = wrd.Selection
 Set objrange = sl.Range() '''Rangeの設定
 doc.Tables.Add objrange, 2, 2 ''’行数・列数を指定
 Set objtables = doc.Tables(1)
 '
 objtables.Cell(1, 1) = "a" ''’表に値を挿入
 objtables.Cell(1, 2) = "b"
 objtables.Cell(2, 1) = "c"
 objtables.Cell(2, 2) = "d"
 '
 sl.EndKey Unit:=6 ' wdStory ←文書の末尾に移動
 sl.TypeText "ハロー"
End Sub

【701】お礼 Re:ワード文書内の表の操作について
お礼  チャブー  - 10/7/5(月) 0:26 -

引用なし
パスワード
   お返事ありがとうございました。
「文末の末尾に移動」の命令を加えればよかったとのことで、勉強になりました。
これからも精進したいと思います。

▼H. C. Shinopy さん:
>取り敢えず、「文書の末尾に移動」を追加しました。
>
>参照設定しないと、表意定数が使えないので、
>「wdStory」のところに「6」を指定しています。
>
>Sub hhh4()
> Dim wrd As Object
> Set wrd = CreateObject("word.application")
> wrd.Visible = True
> Set doc = wrd.Documents.Add
> Set sl = wrd.Selection
> '
> sl.TypeText "こんにちは" ''’文書に「こんにちは」と表示
> sl.TypeParagraph ''’改行
> '
> Set sl = wrd.Selection
> Set objrange = sl.Range() '''Rangeの設定
> doc.Tables.Add objrange, 2, 2 ''’行数・列数を指定
> Set objtables = doc.Tables(1)
> '
> objtables.Cell(1, 1) = "a" ''’表に値を挿入
> objtables.Cell(1, 2) = "b"
> objtables.Cell(2, 1) = "c"
> objtables.Cell(2, 2) = "d"
> '
> sl.EndKey Unit:=6 ' wdStory ←文書の末尾に移動
> sl.TypeText "ハロー"
>End Sub

70 / 308 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
207136
(SS)C-BOARD v3.8 is Free