将字段从Word文档属性插入带有其他文本的表单元格



我正在尝试插入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将无法访问表中的列。同样,当任何单元格垂直合并时,进入行的能力将丢失。简而言之,表格中的单元格不是一个好主意,如果您绝对必须这样做,然后在访问细胞后完成。

相关内容

最新更新