0

我有一个带有内容控件的表格。填充表格后,我删除所有内容控件而不删除实际内容,除了我保留的第一行,以便在我想重新填充表格时可以使用它。问题是有时第一行中的行没有值,因此显示灰色文本。结果看起来像这样 -

在此处输入图像描述

是否可以隐藏内容控件(特别是灰色文本)但不能完全删除它,以便以后需要时仍然可以使用它?我尝试了从设置文本颜色到隐藏内容控件字体的所有方法,但都没有达到我想要的结果。

4

1 回答 1

1

灰色文本的技术术语是“占位符文本”。您可以使用以下一些基本方法:

  1. 有一个名为“占位符文本”的内置文档样式。您可以将其Font.Hidden属性设置为True这样,虽然您仍会在屏幕上看到它,但它不会打印。

执行此操作的代码:

ActiveDocument.Styles("Placeholder text").Font.Hidden = True
'To change it back
'ActiveDocument.Styles("Placeholder text").Font.Hidden = False
  1. 您还可以将占位符文本设置为单个空格,从而有效地隐藏内容控件。它仍然存在,但您必须知道它存在才能定位它(单击它)。

示例代码:

Sub TogglePlaceholderText()
  Dim cc As word.ContentControl
  Dim sAltPlaceholder As String

  'Before running this macro make sure the placeholder
  'is written to the content control's Tag property
  sAltPlaceholder = " "
  Set cc = ActiveDocument.SelectContentControlsByTitle("CC_Test").Item(1)
  If cc.ShowingPlaceholderText And cc.Tag = cc.PlaceholderText Then
    cc.SetPlaceholderText Text:=sAltPlaceholder
  Else
    cc.SetPlaceholderText Text:=cc.Tag
  End If
End Sub
  1. 从技术上讲,SO 是题外话,但您也可以手动更改占位符。在开发人员工具选项卡中,控件组单击“设计模式”。更改“标记”之间的文本,注意不要先删除那里的内容。这样您就不会丢失“占位符文本”样式格式,从而保留灰色。(请注意,它至少需要一个字符,但可以是空格)。再次单击“设计模式”。
  2. 与宏代码类似,您还可以使用样式管理工具直接在 UI 中更改“占位符文本”样式的定义。
于 2016-02-24T11:28:46.897 回答