Word VBA質問箱 IV

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

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


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

【311】行結合と列結合している表の各セルの文字列を取得する方法 古屋 05/5/26(木) 23:16 質問[未読]
【312】自己解決 古屋 05/6/1(水) 13:48 お礼[未読]

【311】行結合と列結合している表の各セルの文字列...
質問  古屋  - 05/5/26(木) 23:16 -

引用なし
パスワード
   WORD VBAに携わること1週間の者です。

動作環境:Windows2000 Word2000

結合していない表の場合には、下記のコードで取得することができましたが、
行結合と列結合していると、”コレクションメンバーが存在しない”ため取得できませんでした。

どのようにコードを書けば、正常に動作するのかわかりません。
どなたか、ご教授願います。


For cnt = 1 To ActiveDocument.Tables.Count
   MsgBox "テーブルの行 " & ActiveDocument.Tables(cnt).Rows.Count
   MsgBox "テーブルの桁" & ActiveDocument.Tables(cnt).Columns.Count
    
   For row = 1 To ActiveDocument.Tables(cnt).Rows.Count
     For col = 1 To ActiveDocument.Tables(cnt).Columns.Count
         MsgBox "■セル値:" & cnt & "(" & row & "," & col & ") :" & ActiveDocument.Tables(cnt).Cell(row, col).Range.Text
      Next
   Next
Next

【312】自己解決
お礼  古屋  - 05/6/1(水) 13:48 -

引用なし
パスワード
   自己解決しましたのでご報告致します。

テーブルのセル数(Cells.Count)でループすることで、
セル結合を意識することなく値を取得することができました。

正しいコーディングではないかもしれませんが、記載いたします。


MsgBox "テーブル個数 " & ActiveDocument.Tables.Count
'テーブルの個数
For cnt = 1 To ActiveDocument.Tables.Count
 MsgBox "★テーブル[" & cnt & "]の処理"
 MsgBox "■セル数:" & ActiveDocument.Tables.Item(cnt).Range.Cells.Count

 '各テーブルのセル数ループ
  For Cell_cnt = 1 To ActiveDocument.Tables.Item(cnt).Range.Cells.Count
    MsgBox "■:(" & ActiveDocument.Tables.Item(cnt).Range.Cells.Item(Cell_cnt).RowIndex & _
          "," & _
          ActiveDocument.Tables.Item(cnt).Range.Cells.Item(Cell_cnt).ColumnIndex & _
          ")=" & _
          ActiveDocument.Tables.Item(cnt).Range.Cells.Item(Cell_cnt).Range.Text
  Next
Next

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