我正在尝试将在Word中的“文档属性”下创建的自定义字段(ProtocolNumber)插入到包含其附加文本的表格单元格中。在这种情况下,我不太确定如何使用Fields.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:
:
:
答案 0 :(得分:0)
这是您可能正在寻找的代码。
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将无法访问表中的列。同样,当垂直合并任何单元格时,访问行的能力将会丢失。简而言之,在表格中合并单元格并不是一个好主意,如果你绝对必须这样做,那么在完成访问单元格之后就这样做了。