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. プレースホルダー テキストを 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 のトピックから外れていますが、プレースホルダーを手動で変更することもできます。[開発者ツール] タブで、[コントロール] グループの [デザイン モード] をクリックします。最初にそこにあるものを削除しないように注意しながら、「マーカー」間のテキストを変更します。これは、「プレースホルダー テキスト」スタイルの書式設定が失われないようにして、灰色が保持されるようにするためです。(少なくとも 1 文字は必要ですが、スペースを使用できることに注意してください)。もう一度「デザインモード」をクリック。
  2. マクロ コードと同様に、スタイル管理ツールを使用して UI で「プレースホルダー テキスト」スタイルの定義を直接変更することもできます。
于 2016-02-24T11:28:46.897 に答える