Word 2007 VBA-マクロ経由でプレースホルダーに移動します
-
28-09-2019 - |
質問
OK、だから私は数人の顧客向けにいくつかのテンプレートを作成しているので、私は常にMicrosoftと戦っています。私の問題は、ドキュメントの周りに散らばっている単純なテキストボックスプレースホルダーを使用すると、タブを押して次のプレースホルダーに移動できます。 Visual StudioのTab Orderのように。しかし、何らかの奇妙な理由で、これは豊富なテキストボックスのプレースホルダーでは機能しません。そして、ユーザーが単一文字のフォーマットを変更することを許可する必要があるため、いくつかのテキストボックスにリッチテキストを使用する必要があります。これは、単純なテキストボックスでは不可能です。
それで、私は考えていました、これはマクロを使用して可能ですか?たとえば、テキストボックスのプレースホルダーが選択され、マクロが実行されている場合、次のプレースホルダーに移動しますか?
解決
形状/テキストボックスオブジェクトにアクセスできます
ThisDocument.Shapes.Item(index)
返された形状オブジェクトを確認します
theShape.Type = msoTextBox
ただし、形状オブジェクトは、ページ/ドキュメントでの注文ではなく、作成された順序で返されます。 「次の」テキストボックスを見つけるには、おそらくすべてのテキストボックスをループして、その場所(.top、.Leftなど)を調査して、次のように移動する必要があります。
theNextShape.Select
所属していません StackOverflow