2
我編寫郵件合併時遇到了一些問題,因爲我的代碼創建的每個內容都必須刪除,以免妨礙合併過程中的下一個字母。使用VBA創建Word之後,刪除Word中的文本和表格
所以我寫了一個測試宏只是爲了創建一些表並刪除它們。
這裏是我的進步 - 它可以在一個新的空字文件,書籤名爲「測試」
Sub TabsNText()
Const k As Integer = 2
Dim doc As Document
Dim rng As Range
Dim tab_rngs(k) As Range
Dim txt_rngs(k) As Range
Dim tbl As Table
Set doc = Word.ActiveDocument
Set rng = doc.Bookmarks("test").Range
Dim i As Integer
For i = 1 To k
Set txt_rngs(i) = rng
rng.Text = "Title " & i
rng.Collapse Direction:=wdCollapseEnd
rng.InsertParagraphAfter
rng.Collapse Direction:=wdCollapseEnd
Set tab_rngs(i) = rng
Set tbl = doc.Tables.Add(rng, 3, 3)
tbl.Cell(1, 1).Range.Text = "Table" & i
tbl.Borders.Enable = True
Set rng = tbl.Range
rng.Collapse Direction:=wdCollapseEnd
rng.InsertParagraphAfter
rng.Collapse Direction:=wdCollapseEnd
Next i
rng.Select
MsgBox ("Now, let's delete that!")
For i = 1 To k
txt_rngs(i).Text=""
tab_rngs(i).Tables(1).Delete
doc.Bookmarks.Add Name:="test", Range:=rng
Next i
End Sub
你看運行。表格將被正確刪除。但是關於文本和段落呢? 是否有一種方法只是從一個起點到某個終點進行選擇並刪除其所有內容。