2

私はおそらくこの特定の問題を噛むことができる以上に噛み砕いているでしょうが、それが私の範囲内にある場合に備えて、可能な限り具体的にするように努めます。免責事項:私は、単純なデータ入力/一部の書式設定以外に、MS Wordの経験があまりなく、マクロやVBasicの使用経験がまったくありません。残念ながら、私の問題の解決策は、最後の2つのうちの1つの形で提供されるのではないかと心配しています。

目標:

私がやりたいのは、テンプレートドキュメント全体にプレースホルダーテキストを配置して、コンテンツを変更するが、最初のインスタンスが変更されたときにフォーマットしないようにすることです。基本的に、私はソフトウェアスイートのサポートマニュアルのテンプレートを書いています。各アプリには、メニューバー、データ入力画面、診断ログ画面、トランザクション履歴などの特定の同様の機能があるため、特定のアプリ固有のプロパティを挿入する必要がある場合は、これらのセクションを事前に作成し、プレースホルダーを使用しています。

アプリ名のプレースホルダーとして使用した[挿入]->[クイックパーツ]->[ドキュメントプロパティ]->[件名]ツールを使用することから始めました。プロパティを[件名]に設定し、アプリ名を含める必要がある場合は、ドキュメント全体で[挿入]->[クイックパーツ]->[フィールド]->[件名]を使用しました。この場合、アプリ名は常に大文字になるため、これは問題なく機能しました。最初の[件名](コンテンツ制御)のテキストを変更し、ドキュメント全体のフィールドを更新するだけで、すべてがうまく一致し、簡単で、作業が完了し、家に帰ってビールを飲みますよね?

完全ではありません。

当社のソフトウェアはスキャナーとSQLServerを介してパーツの追跡を処理するため、アプリのインターフェイスとメニューはほとんど変更されていませんが、追跡するパーツはアプリごとに異なります。このため、マニュアルのテキスト内で参照する場合は、パーツ名を変更する必要があります。たとえば、ToiletPap.appで作業していて、TPがロールによって追跡されている場合、[Component]のすべての言及をロールに変更する必要があります。LightBulbs.appで作業している場合、電球と言うには[コンポーネント]が必要です。

私の最初の取り組みは、[ドキュメントのプロパティ]ドロップメニューの[詳細設定]タブを使用して、コンポーネントと呼ばれるカスタムドキュメントプロパティを作成することでした。次に、最初の[Component]というタイトルのComponentの周りにプレーンテキストのコンテンツコントロールを作成し、次の[Component]を変更されたコード{COMPONENT*MERGEFORMAT}のフィールドにしました。これは、[件名]が機能するときに見つけたものをコピーすることから来ています。これはまったく機能しませんでした。最初のCCのテキストを更新しても、Content doc propは変更されず、フィールドは「!UndefinedBookmark、COMPONENT」を返します。

最初に[Component]に設定された[Comments]docプロパティを使用して、必要なものに近づきました。[件名]と同じように使用しましたが、(大文字と小文字が問題になることに気付いたとき)[コンポーネント]をテキストで言及するときは、大文字ではなく小文字にする必要があります。 。

私はMSのフォーラムや他のいくつかのフォーラム、そしてここSOを調べましたが、同じことをしようとしている人は誰も見つかりません。答えるときは覚えておいてください。私が言ったように、私は編集についてどうやって行くのかわからないので、あなたが提供するコードを入力/実装する方法のステップバイステップの説明を含めると私にとって大きな助けになりますMSWord用のmacros/VBasic。

全体的な質問を言い換えて要約すると、「[Component]」というテキストを表示するプレースホルダーを使用して、[Component]の最初のインスタンスを「ホッパー」などの別のインスタンスに変更したときに、[コンポーネント]はホッパーに更新されますが、現在の大文字と小文字の区別と書式設定スキームは維持されますか?

リクエストが長かったことをお詫びしますが、できるだけ正確に状況を説明したかったのです。よろしくお願いいたします。

4

1 に答える 1

1

さらに数時間いじくり回した後、なんとかこれを解決できました。マクロも VBasic も必要ありませんでした。

[component] の最初のインスタンスで、コンテナーとして機能するプレーンテキストのコンテンツ コントロールを作成しました (必須ではありませんが、見栄えが良くなります。最終的には問題が発生する可能性がありますが、今のところ、意図したとおりに機能しています)。ブックマークしました。次に、[コンテナ] の他のすべてのインスタンスについて、それぞれを選択し、次のフィールド コードで [挿入] -> [クイック パーツ] -> [フィールド] -> [参照] を使用しました。

REF Text1 \*Lower

「Text1」は私のブックマークで、「*Lower」はすべて小文字であることを示します。*Lower を *Upper または *FirstCap に置き換えて、それぞれすべて大文字にするか、最初の文字を大文字にすることができます。これで、各フィールドは最初のテキストを反映し、ドキュメント内の各フィールドの位置に適した大文字が使用されます。[Subject] で doc prop を使用するのと同様に、ドキュメント内のすべてのフィールドを更新するには ^a -> f9 が必要です。

于 2013-03-15T17:57:06.240 に答える