|
楼主 |
发表于 2019-11-22 19:56
|
显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
不知道这样写有什么问题没有?
Sub 插入表格()
Dim i As Paragraph, myTable As Table
For Each i In ActiveDocument.Paragraphs
If Len(Trim(i.Range)) = 1 Then
i.Range.Delete '删除空段
ElseIf i.Style = "标题 2" Then n = n + 1
i.Range.Select
Selection.ParagraphFormat.PageBreakBefore = True '将找到的标题设置段前分页
With Selection
.End = .End - 1
c = .Text
.EndKey
.MoveRight
Set myTable = ActiveDocument.Tables.Add(.Range, 3, 2)
With .Tables(1)
.Style = "网格型"
.Cell(1, 1).Range.InsertAfter Text:="题目:" & c
.Cell(2, 1).Range.InsertAfter Text:="修改日期:2019年9月1日"
.Cell(3, 1).Range.InsertAfter Text:="生效日期:2019年11月1日"
.Cell(1, 2).Range.InsertAfter Text:="文件号:阳光医疗集团-GK-" & n
.Cell(2, 2).Range.InsertAfter Text:="版本号:1.0"
.Cell(3, 2).Range.InsertAfter Text:="页数:"
.Select
.Range.Font.Name = "仿宋"
.Range.Font.Size = 12
.Columns.AutoFit
.AutoFitBehavior (wdAutoFitWindow)
End With
.Cells.VerticalAlignment = wdCellAlignVerticalCenter
.Collapse wdCollapseEnd
End With
End If
Next
j = ActiveDocument.Tables.Count
For k = 1 To j
With ActiveDocument
If k = j Then
Page = .Range.Information(4) - .Tables(k).Range.Information(3) + 1
.Tables(k).Cell(3, 2).Range.InsertAfter Page
Exit For
End If
Page = .Tables(k + 1).Range.Information(3) - .Tables(k).Range.Information(3)
.Tables(k).Cell(3, 2).Range.InsertAfter Page
End With
Next
End Sub |
|