0

特定のテキストを動的に追加するコントロール フィールドがあります。これまでのところうまくいきます。問題は、あるテキストに、ユーザーがテキストを入力できる入力フィールドがあることです。

フォームのテキスト入力フィールドを VBA コードにハードコードする必要があります。これはどのように達成されますか?または、誰かが私を正しい方向に向けることができますか?

次のコード スニペットでは[InputField]、 を VBA 入力フィールドに置き換える必要があります。

ActiveDocument.SelectContentControlsByTitle("Bottom").Item(1).Range.Text = _
"Some Text" & vbNewLine & _
"Some Text" & vbNewLine & _
"Some Text" & vbNewLine & _
"Text [InputField] Text"
4

1 に答える 1

1

VBA入力フィールドの意味がわかりません。「フォーム入力フィールド」のことですか?もしそうなら、それはおそらくあなたの問題の解決策です:

Sub TestInsertContentControl()
    Dim m_objRange                      As Range
    Dim m_objRangeInsertTextInput       As Range
    Dim m_objFormField                  As FormField

    Set m_objRange = ActiveDocument.SelectContentControlsByTitle("Bottom").Item(1).Range
    m_objRange.Text = "Some Text" & vbNewLine & _
    "Some Text" & vbNewLine & _
    "Some Text" & vbNewLine & _
    "Text  "

    Set m_objRangeInsertTextInput = m_objRange
    m_objRangeInsertTextInput.Start = m_objRange.End - 1
    m_objRangeInsertTextInput.End = m_objRange.End

    Set m_objFormField = m_objRangeInsertTextInput.FormFields.Add(Range:=m_objRange, Type:=wdFieldFormTextInput)

    m_objRangeInsertTextInput.Start = m_objFormField.Range.End
    m_objRangeInsertTextInput.End = m_objFormField.Range.End
    m_objRangeInsertTextInput.Text = " Some more Text"
End Sub
于 2012-09-29T15:09:10.937 に答える