输入:
##TABLE_START##
##ROWS=3
##COLS=2
##Value
##Decode
##0
##Clock running
##1
##Clock not running
##TABLE_END##
##TABLE_START##
##ROWS=4
##COLS=2
##Value
##Decode
##0
##Off
##1
##On
##Z
##High Z
##TABLE_END##
期望输出:
我想对大约 400 个表执行此操作。我尝试在 Word 中录制宏,但它在录制宏时会锁定鼠标,并且只记录绝对按键。我想做一些更通用的事情,搜索##TABLE_START##
,解析所有行直到##TABLE_END##
,然后在文档底部构建一个表格,并填写相应的信息。
当前代码字 VBA 2010:(只是代码片段 - 它只是记录了击键,而我想制作一些适用于每个表的东西)
复制和粘贴很好,但我需要改变选择方式,使其更通用,并适用于每个表
Selection.MoveDown Unit:=wdLine, Count:=7
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.PasteAndFormat (wdFormatOriginalFormatting)
Selection.MoveUp Unit:=wdLine, Count:=6
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
Selection.Copy
Selection.MoveDown Unit:=wdLine, Count:=7
Selection.PasteAndFormat (wdFormatOriginalFormatting)
答案1
注意:我知道这不是一个完整的答案
这应该会让您开始逐行搜索单词“start”。找到后,您可以开始构建表格。然后您可以看到StackOverflow 创建表。
Sub tablemaker()
Dim dDoc As Document
Set dDoc = ActiveDocument
Dim rRng As Range
Dim p As Paragraph
For Each p In dDoc.Paragraphs
Set rRng = p.Range
With rRng.Find
.Text = "start"
If .Execute Then
'create table
Set rRng = Nothing
End If
End With
Next
End Sub