2

Microsoft Word (2016、64 ビット、Windows 10) で Visual Basic for Applications プログラムを作成しました。

これは、約 30 の TextBoxes と送信ボタンを持つユーザー フォームで構成されます。各 TextBox には、一意の名前とタグがあります。

また、Word 文書には同じ数の ContentControl テキスト ボックスがあり、それぞれに対応する UserForm TextBox と同じタイトルとタグがあります。

私が求めているのは、ユーザーが [送信] をクリックしたときに、UserForm TextBoxes からドキュメント テキスト ボックスを作成するより良い方法です。

現在、TextBox ごとに 3 行のコードを入力してこれを行っていますが、これは面倒です。毎回 3 行のコードをコピーして貼り付けますが、毎回各行の小さな部分を編集する必要があります。

以下のコードに示すように、変数を使用して TextBox を名前でコピーするループを使用することを考えましたが、x続行する方法がわかりません。

Dim doc As Document
Dim ccs As ContentControls
Dim cc As ContentControl
Set doc = ActiveDocument

For … 
' Somehow find each text box, put the name of one into variable x then

    Set ccs = doc.SelectContentControlsByTag(x)
    Set cc = ccs(1)
    cc.Range.Text = x.Text

Next

前もって感謝します!

4

2 に答える 2