[英]How do I add additional text to subject using VBA in Word after referencing a table value from within the document?
[英]Inserting a Field from Word Document Properties into table cell with additional text
我试图将在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:
:
:
这是您可能正在寻找的代码。
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将无法访问表中的列。 同样,当垂直合并任何单元格时,访问行的能力也会丢失。 简而言之,将表中的单元格合并不是一个好主意,如果您绝对必须这样做,则在访问完单元格后再进行操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.