1

MS Word でテキスト ボックスに名前を付けて、vba で呼び出してテキストを追加できるようにする方法はありますか?たとえば、ユーザーからデータを取得するユーザー フォームがあります。このデータを計算した後、表示したいテキストボックスまたは方程式のドキュメントの結果...のように、Visual Basicでは次のようになりました:

textbox1.text="My Text Goes Here"

VBAにそのようなものはありますか?お気に入り :

ActiveDocument.textboxname.text="My Text"?!!

これにactiveXコントロールを使用したくありません。

4

2 に答える 2

5

Word と PowerPoint では、VBA を使用してのみ図形に名前を割り当てることができます (数式バーでこれを行うことができる Excel とは対照的です)。

Word では、図形に一意の名前を付けることは強制されないため、2 つの図形の両方に という名前を付けることができText Box 2ます。ActiveDocument.Shapesコレクション内のインデックス位置によっても形状を参照できます。

Shape操作する必要があるものを特定したら、.TextFrame.TextRange.Textプロパティを簡単に操作できます。

Sub Test()
Dim shp As Shape
Dim str As String

For Each shp In ActiveDocument.Shapes
    str = "My name is " & shp.Name
    str = str & vbNewLine & "My EditID is " & shp.EditID
    shp.TextFrame.TextRange.Text = str
Next
End Sub

AlternativeTextもう 1 つの考慮事項は、各形状にプロパティを追加することです。もちろん、これは「非一意性」の問題を解決しませんが、これを使用して (または、形状を識別して区別するためのさらなる手段として、形状にメタデータCustomerData/CustomXMLPartsを割り当てることができます。

于 2013-09-23T13:52:00.820 に答える