我正在尝试插入Word属性下在Word属性下创建的自定义字段(protocolNumber),并将其周围带有其他文本。在这种情况下,我不太确定如何使用字段。ADD函数。抱歉,问题是否太基本,但是我是VBA中的一个黑客。
NoOfCol = 5
Set tblNew = ActiveDocument.Tables.Add(Selection.Range, 9, NoOfCol,
wdAutoFitWindow)
With tblNew
.PreferredWidthType = wdPreferredWidthPercent
.PreferredWidth = 100
.Columns(1).PreferredWidth = 100 * NoOfCol * 3 / (NoOfCol + 1)
End With
tblNew.Borders.InsideLineStyle = wdLineStyleSingle
tblNew.Borders.OutsideLineStyle = wdLineStyleSingle
tblNew.Cell(Row:=1, Column:=1).Merge _
MergeTo:=tblNew.Cell(Row:=1, Column:=NoOfCol)
tblNew.Cell(1, 1).Split NumColumns:=2
tblNew.Cell(1, 1).Range.Text = "PROTOCOL: [ProtocolNumber]" & vbCrLf & "DRUG/INDICATION:
:
:
这是您可能要寻找的代码。
Dim Rng As Range
Dim PropName As String
Set Rng = tblNew,Cell(1, 1).Range
Rng.Collapse wdCollapseStart ' insert field at start of cell
PropName = "Protocol number" ' Custom document property by this name must exist
Rng.Fields.Add Range:=Rng, _
Type:=wdFieldEmpty, _
Text:="DOCPROPERTY """ & PropName & """", _
PreserveFormatting:=True
请注意,在进行任何水平合并后,Word将无法访问表中的列。同样,当任何单元格垂直合并时,进入行的能力将丢失。简而言之,表格中的单元格不是一个好主意,如果您绝对必须这样做,然后在访问细胞后完成。