質問

テキストをフィードし、それ自体で好みのレイアウトを形成できるページ要素を作成できるようにしたいと考えています。例えば:

{MACRO DocumentIntro("Introduction to Business Studies", "FP015", "Teachers' Guide")}

これをフィールドとして使用すると、出力は行になり、最初の 2 つの文字列が特定のサイズとフォントで中央揃えになり、別の行が表示され、3 番目の文字列がフォント、サイズ、中央揃えになります。

これは TeX に似ていて、おそらく VBA の範囲を超えていることはわかっていますが、どのようにしてそれが可能になるか知っている人がいたら、教えてください。

編集:

ドキュメントのプロパティの一部として、ある種の一意の区切り文字を使用して必要な情報をキーワードに入力すると、その情報が取り込まれ、情報は各ドキュメントに一意になります。次に、内容が表示される場所にブックマークを置きます。次に、 AutoOpen そのブックマークに移動し、キーワードから関連性のあるものを取り出し、ブックマークのテキストを適切に形成するマクロ .Selection.

それは実現可能でしょうか?

役に立ちましたか?

解決

コーディング ソリューションとしては、確かに正しい方向に進んでいます。ただし、コードを使用しない簡単な方法があります。これは、Word 2007 のコンテンツ コントロールが構築されたシナリオのタイプであり、フィールド/プロパティを使用してコンテンツ コントロール (CC) にバインドできます。これらの CC はスタイル (中央揃え、太字など) を保持できます。VBA は必要ありません。

最も簡単な方法は、常に設定したい組み込みのドキュメント プロパティを 3 つ選択することです。たとえば、「タイトル」を最初の文字列、「件名」を 2 番目の文字列、「キーワード」を 3 番目の文字列にすることができます。次に、次の場所に行ってください。 入れる リボン、 クイックパーツ, ドキュメントのプロパティ そして、それらを好きなように挿入、配置、フォーマットします。次に、Word のスタート ボタン (オーブのようなもの) に移動し、 準備する 選ぶ プロパティ. 。ここで、たとえば「」と入力できます。ビジネス学入門"、に タイトル ボックスをクリックしてから、何らかの方法で選択を解除します(別のボックスをクリックするなど)。のコンテンツ コントロール タイトル テキストが自動的に入力されます。

これを複数のファイルに使用したい場合は、このファイルを .dotx として作成します (CC の挿入/配置/書式設定後、ドキュメント プロパティのテキストを更新する前)。その後、毎回、新しいファイルごとにこれら 3 つのプロパティを設定するだけで済みます。

他のヒント

まあ、はい、それは実現可能であることが判明しました。

Sub autoopen()
    Dim sKeywords As String
    sKeywords = ActiveDocument.BuiltInDocumentProperties(4)
    ActiveDocument.Bookmarks("foo").Select
    Selection.Text = sKeywords
End Sub
さて、私はいくつかやって記入し、それの少なくとも根性しているがあります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top