|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
有些朋友在进行邮件合并时,由于域文件是表格形式的,合并后,合并结果文件中,每个表格后面直接就是分节符,用正常的“查找与替换”功能不能删除分节符!
前几天我提供了网上别人介绍的一个方法:查找^b,再勾选“突出显示所有在该范围显示的项目“一项,再关闭查找对话框,按删除键(DELETE)删除分节符,这样,虽然能删除分节符,但表格之间都是连在一起了,未完全达到目的。
我试着用 VBA 编程的方法,达到了删除分节符,并且使各个表格之间有一个空行(回车符)间隔,这样,就可以具体地编辑合并结果文档了(如:分栏等,表格之间的空行可以先选中一个,再右键选择:选择相似的文本)。
*** 删除分节符(邮件合并后,删除表格后的分节符,使之有一个空行相隔):
Sub 删除分节符()
'取消网格
If Selection.Type = wdSelectionIP Then Selection.WholeStory
With Selection.Font
.Kerning = 0
.DisableCharacterSpaceGrid = True
End With
With Selection.ParagraphFormat
.AutoAdjustRightIndent = False
.DisableLineHeightGrid = True
End With
'表格后加回车
Dim t As Table
For Each t In ActiveDocument.Tables
t.Select
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.TypeParagraph
Next
'删除分节符
Dim i As Paragraph
For Each i In ActiveDocument.Paragraphs
If i.Range Like "*" & Chr(12) Then i.Range.Characters.Last.Delete
Next
'分3栏
Selection.WholeStory
If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
ActiveWindow.Panes(2).Close
End If
If ActiveWindow.ActivePane.View.Type <> wdPrintView Then
ActiveWindow.ActivePane.View.Type = wdPrintView
End If
With Selection.PageSetup.TextColumns
.SetCount NumColumns:=3
.EvenlySpaced = True
.LineBetween = False
.Width = CentimetersToPoints(7.57)
.Spacing = CentimetersToPoints(0.99)
End With
Selection.HomeKey Unit:=wdStory
MsgBox "处理完毕!"
End Sub |
|