Word (VBA)

Word VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
表間の改行を削除して上下の表を結合する
投稿日時: 17/11/07 17:33:28
投稿者: nac

こんにちは
 
表と表の間の改行を削除して2つの表を結合したいのですが、方法はありますか。
以下、イメージのコードです。
表間の改行は削除されませんでした。
 
For i = ActiveDocument.Paragraphs.Count To 1 Step -1
With doc2.Paragraphs(i)
  If Left(.Range, 3) = "アキ行" Then
    .Range.Delete
  End If
End With
Next
 
よろしくお願いします。

回答
投稿日時: 17/11/08 09:57:51
投稿者: sk

引用:
表と表の間の改行を削除して2つの表を結合したい

・「文書内に挿入されている表の数は常に 2 つであり、
 表と表の間の空白行(というか段落?)は 1 つしかない」
 という前提での話なのか。それとも 2 つ以上の空白行が
 挿入されていることもあり得るのか。
 
・「文書上に表が 3 つ以上存在し、各表の間にある段落が
 全て空白行であるケース(の連続)」については
 考慮しなくてもよいのか。
 
・表と表の間に 2 つ以上の段落が挿入されていて、かつ
 それらの一部の段落が空白行ではない場合も
 考慮しなければならないのではないか。
 
(アクティブな文書内の最初の表の直後の段落が
 空白行だった場合、その段落を削除するコードの記述例)
------------------------------------------------------------------
Private Sub subTest()
 
    Dim doc As Word.Document
    Dim tbl As Word.Table
    Dim rng As Word.Range
 
    Set doc = ActiveDocument
     
    If doc.Tables.Count < 2 Then
        Set doc = Nothing
        Exit Sub
    End If
 
    Set tbl = doc.Tables(1)
    Set rng = tbl.Range.Next(wdParagraph, 1)
    If rng.Text = vbCr Then
        rng.Delete
    End If
         
    Set rng = Nothing
    Set tbl = Nothing
    Set doc = Nothing
 
End Sub
----------------------------------------------------------------

投稿日時: 17/11/09 13:11:54
投稿者: nac

skさん
 
ありがとうございます。
表と表の間に1つの改行を削除して、表を結合してしまうという主旨でした。
 
skさんのコードで処理できました。
ありがとうございます。