Microsoft Word文書全体でユーザー入力を繰り返す


11

ユーザーにテキストを入力する機会が与えられるドキュメントを作成しようとしていますが、同じドキュメント内の残りの場所でそれを使用したいと思います。ユーザーが入力したテキストは、同じドキュメントの多くの場所で使用され、いつでも名前を変更すると、ドキュメントの残りの部分に反映されます。

たとえば、ドキュメントの最初のページで、次のスクリーンショットに示すように、ユーザーの名前と年齢を取得し、他の場所で使用したいと思います。

ここに画像の説明を入力してください

プレーンテキストコンテンツコントロールを使用して、名前と年齢を取得しようとしました。しかし、それらをテキストとしてフィールドとして挿入する方法を見つけることができませんでした。

これを達成する方法についてのアイデアはありますか?差し込み印刷を行う準備もできていますが、このドキュメント以外の場所からのデータは必要ありません。スクリーンショットはOffice 2013で試されましたが、2007年以降に機能するのであれば素晴らしいでしょう。マクロでそれをしたくありません。

回答:


6

WordテンプレートとDocVariablesを使用する必要があると思います。これはVBaも意味しますが、このチュートリアルではそれを取り上げます

http://www.gmayor.com/BookmarkandVariableEditor.htm

ただし、他の場所からコンテンツを読み取れるようにする例として、これでうまくいくかもしれません...これは完璧ではありませんが、良いスタートになるかもしれません!

つまり、開発者ツールバーをリボンに追加します。

開発者ツールバーから、[コントロール]タブから2つのテキストボックスをドロップします。

[挿入]ツールバーをクリックします。

次に、最初のテキストボックス(テキストもコピーされるテキストボックス)をクリックします。テキストボックス全体が選択されるように、左側の3つの小さなドットをクリックしてください。選択すると、(リンクの下の)ブックマークが有効になります。それをクリックして、適切な名前を付けます。

2番目のテキストボックスをクリックして、同じ操作を行いますが、今回は相互参照をクリックします。ドロップダウンボックスで、ブックマークを選択し、問題のブックマークを見つけます。

これは設定されていますが、フィールドを手動で更新する必要があります。そのため、最初のテキストボックスにテキストを入力し、2番目のテキストボックスを右クリックして、[フィールドの更新]を選択します。私が言ったように、完璧ではありませんが、うまくいけばスタートです!

この記事では、テンプレートとマクロを使用して実行できることを説明します。http://word.mvps.org/FAQs/Userforms/CreateAUserform.htm


ブックマークを作成できるようにするための鍵は、3つのドットをクリックすることでした。
発送者

12

Windows Word 2007以降では、Wordが挿入->クイックパーツ->ドキュメントプロパティ...から挿入するコンテンツコントロールの一部を使用できます。たとえば、「作成者」ドキュメントプロパティを挿入すると、Wordはは組み込みプロパティに接続されています。したがって、コンテンツコントロールの1つのコピーで値を変更すると、プロパティ値が更新され、その後、他のすべての作成者コンテンツコントロールが自動的に更新されます。これは、{AUTHOR}フィールドを挿入して選択し、更新する必要があったWord 2007より前のアプローチとは異なります。

[開発者]タブを使用して、結果のコンテンツコントロールを選択し、「年齢」などの新しいタイトルを付けることができます。次に、そのタイトルのコントロールのコピーをコピー/貼り付けできます。通常、コントロールを削除できないようにすることも役立ちます。

Authorなどの従来の組み込みプロパティを使用したくない場合、代わりに使用できるCover Page Propertiesと呼ばれる5つの「プロパティ」のセットがあります。これらは[ドキュメントプロパティ]メニューからも使用できますが、値は別の場所、つまりWordで作成されたカスタムXMLパーツに保存されます。これらは、会社の住所、会社のメール、会社のファックス、会社の電話番号、発行日だと思います。繰り返しますが、開発者タブを使用してタイトルを変更できます。

さらに、VBAなどを使用する必要があります。コンテンツコントロールを使用している場合、独自のカスタムXMLパーツを作成して値を保存し、コントロールをそのストアに接続する必要があります。「データを繰り返す」ためのさまざまなオプションの概要がここにあります。

FWIW、Wordでフォームを使用する必要がある場合、フォームフィールドの最も「互換性のある」タイプは、Windows Wordで「レガシーフォームフィールド」と呼ばれるものです。これらはMac Wordでも機能する唯一のタイプです。ただし、Windows Word 2007以降で動作するものだけが必要な場合、コンテンツコントロールにはいくつかの利点があります。


追加のカスタム「カバーページプロパティ」フィールドをテンプレートに追加して、カスタムプロパティ名でドキュメントプロパティドロップダウンリストに表示する方法はありますか?例えば、「ジョブ番号」?おそらく、テンプレートのXMLを直接編集することによって?
リックは

@Rickでは、「カバーページ」プロパティを追加できません。これは、Wordが定義済みのプロパティのみを認識するためです。あなたはできるリストに表示されるプロパティを追加しますが、どちらかのSharePoint必要かは、SharePointが作成するものを複製することができるようにする必要があります。SharePointがあり、カスタム列を使用してドキュメントライブラリを作成できる場合、ライブラリから開いたWordドキュメントにはadditional.propertiesがあります。ドキュメントが作成されると、スタンドアロンで使用できますが、コンテンツコントロールはまったく同じように機能しません(主に、サーバーの検証なし)

ありがとう。XMLファイルを直接編集して(.dotxファイルはZIPドキュメントに過ぎないため)、カスタムプロパティをそのように追加することは可能だろうかと思います。私は一度だけそれをする必要があります。ご協力いただきありがとうございます。
リックはモニカをサポートします

1
可能ですが、Wordが使用するXMLは非常に複雑です(ドキュメント内のさまざまな「メタプロパティ」のスキーマを定義するカスタムXMLパーツがあります。XMLは私が知っている場所で詳細に説明されていないため、出発点が必要ですところで、このようなものはSharePointで使用するように設計されているため、単独で使用している間はサポートを受けられない可能性があります。独自のSharePoinntシステム

わかった。おそらく私の能力を超えているわけではありませんが、おそらく理解するのに時間をかける価値はありません。私は私の問題を解決するために他の道を探検します。
リックはモニカをサポートします
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.