微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

VBA 将多个内容控件添加到 Word 中的单个表格单元格

如何解决VBA 将多个内容控件添加到 Word 中的单个表格单元格

我需要使用 VBA 在 word 中的单个表格单元格中添加多个内容控件和附加文本。这是我需要的示例:

Moby Dick 已被 2 人阅读,他们的平均得分为 3(满分 5 分)

我知道我可以使用以下语法添加单个内容控件:

With rng.ContentControls.Add(wdContentControlRichText)
 .title = "Book Name"
 .Tag = "title"
End With

如果我的范围设置为单元格,我将如何使以下伪代码工作:

Set rng = objDoc.Tables(1).Cell(2,1).Range

With rng.ContentControls.Add(wdContentControlRichText)
 .title = "Book Name"
 .Tag = "title"
End With

" has been read by "

With rng.ContentControls.Add(wdContentControlRichText)
 .title = "People Count"
 .Tag = "count"
End With

" people who have given it an average score of "

With rng.ContentControls.Add(wdContentControlRichText)
 .title = "score"
 .Tag = "score"
End With

" out of 5"

这是一些实际的代码。它是将第三个 insertafter 和内容控件放在第二个 insertafter 和第二个内容控件之间

With rng.ContentControls.Add(wdContentControlRichText)
    .title = "Asset ID"
    .Tag = "asset_id"
End With
rng.InsertAfter " | Rev. "
rng.Collapse Direction:=wdCollapseEnd
rng.Move wdCharacter,-1
With rng.ContentControls.Add(wdContentControlRichText)
    .title = "Revison Number"
    .Tag = "revision_num"
End With
rng.InsertAfter " | Effective Date: "
rng.Collapse Direction:=wdCollapseEnd
rng.Move wdCharacter,-1
With rng.ContentControls.Add(wdContentControlRichText)
    .title = "Effective Date"
    .Tag = "effective_date"
End With

enter image description here

解决方法

试试这个:

   Set rng = objDoc.Tables(1).Cell(2,1).Range
   rng.Collapse wdCollapseStart
   With rng.ContentControls.Add(wdContentControlRichText)
      .Title = "Effective Date"
      .Tag = "effective_date"
      .SetPlaceholderText Text:="Effective date"
   End With
   rng.Text = " | Effective Date: "
   rng.Collapse wdCollapseStart
   With rng.ContentControls.Add(wdContentControlRichText)
      .Title = "Revison Number"
      .Tag = "revision_num"
      .SetPlaceholderText Text:="Rev Num"
   End With
   rng.Text = " | Rev. "
   rng.Collapse wdCollapseStart
   With rng.ContentControls.Add(wdContentControlRichText)
      .Title = "Asset ID"
      .Tag = "asset_id"
      .SetPlaceholderText Text:="Asset ID"
   End With

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。