0

これが非常に単純な質問である場合は申し訳ありませんが、私の人生では、何かを行う方法がわかりません。

Word の表に、プログラムでテキストを入力したいセルがあります。そのテキスト内にコンテンツ コントロールが必要です。したがって、テキストは次のようになります。

mytable.Cell(1,).Range.Text = What <color> is **this**? 

はコンテンツ コントロールに等しく、" this <color>" は太字です。明らかに、.Textプロパティはここでは機能しませんが、コンテンツ コントロールと "this" という単語の書式設定を使用してこの文字列を挿入する方法がわかりません。

何かアドバイス?

4

1 に答える 1

1

私は通常、段階的なアプローチを使用します...

Dim cc As Word.ContentControl
Dim rng As Word.Range
Set rng = ActiveDocument.Tables(1).Cell(2, 3).Range
' Exclude the end of cell marker
rng.SetRange rng.Start, rng.End - 1
rng.Text = "What "
rng.Collapse direction:=Word.WdCollapseDirection.wdCollapseEnd
Set cc = rng.ContentControls.Add(wdContentControlText, rng)
With cc
  ' set what you need
  ' the following are just names.
  .Tag = "color"
  .Title = "color"
End With
' Word does not extend the range to include the CC
' We want to step beyond it
rng.SetRange cc.Range.End + 1, cc.Range.End + 1
Set cc = Nothing
rng.InsertAfter "is "
rng.Collapse direction:=WdCollapseDirection.wdCollapseEnd
rng.InsertAfter "this"
rng.Font.Bold = True
rng.Collapse direction:=WdCollapseDirection.wdCollapseEnd
rng.InsertAfter "?"
rng.Font.Bold = False
Set rng = Nothing

コンテンツコントロールに関しては、あなたが何を意味するかによって異なります。タイトルまたはタグの「色」を使用してコントロールを挿入する必要がある場合は、上記で十分です。ただし、コントロールがカスタム XML データ ストアに接続されている場合は、.XmlMapping.SetMapping を使用して、その Xpath をストア内の正しい項目を指すように設定する必要があります。

于 2013-08-21T09:43:41.110 に答える