要約: この論文は、Word オブジェクト モデル、特に Document オブジェクトの構造とその使用法を分析し、Visual Basic で Word 形式のドキュメントを作成する方法を提案し、この方法の応用例を示します。
キーワード:VisualBasic、Wordオブジェクトモデル、ドキュメント
導入
Word文書は、実際の仕事や勉強で最もよく使われる文書形式の1つです。
社会の情報化の進展に伴い、従来手作業で行われていた業務の一部が徐々にコンピュータに移行してきました。コンピュータによる自動ロールアップシステムがその代表例です。コンピュータ自動試験システムの利用者の中には、より効率を追求するために、ソフトが試験用紙をワード形式で出力し、写植せずに直接印刷することを要求する人もいる。
Microsoft Office スイートの人気により、Word ドキュメント、スプレッドシート ドキュメント、電子スライドなどのドキュメントがますます一般的に使用されるようになりました。 Office のさまざまなプログラムのドキュメントは簡単に変換できますが、この変換にはドキュメントの元の形式が失われます。例えば、自動試験システムでは、Accessのデータベースに保存されている試験問題をAccessのエクスポート機能を利用してWord文書に生成することができますが、生成された文書はフォーマットされていないため、試験内容に合わせて再配置するのに時間がかかります。ユーザーの試験用紙の要件。
この問題に対応して、この記事では Word オブジェクト モデルの研究について説明し、オブジェクト モデルを使用してユーザーの要件を満たす特定の形式で Word 文書を作成する方法を提案します。
Word オブジェクト モデル
1. Word オブジェクト モデルの階層
オブジェクトは Visual Basic の基礎であり、Visual Basic のほぼすべての操作はオブジェクトの変更に関連しています。 Word のあらゆる要素 (文書、表、段落、フィールド、ブックマークなど) は、Visual Basic のオブジェクトで表すことができます。
オブジェクトは、文書、段落、ブックマーク、個々の文字などの Word 要素を表します。コレクションは、通常は同じタイプの他のいくつかのオブジェクトを含むオブジェクトでもあります。たとえば、コレクション オブジェクトには、ドキュメント内のすべてのブックマーク オブジェクトを含めることができます。プロパティとメソッドを使用すると、個々のオブジェクトまたはオブジェクトのコレクション全体を変更できます。
Microsoft WordVisualBasic は、アプリケーションを最上位オブジェクトとするオブジェクト階層である Word オブジェクト モデルの完全なセットを提供します。その構造を図-1に示します。
オブジェクトは 2 種類のメンバーで構成されます。1 つはプロパティ、もう 1 つはメソッドです。
プロパティは、オブジェクトの特性、またはオブジェクトの動作の側面です。たとえば、ドキュメントのプロパティには、名前、内容、保存ステータス、リビジョンが有効かどうかなどが含まれます。オブジェクトの特性を変更するには、そのプロパティ値を変更します。プロパティの値を設定するには、オブジェクトの後にピリオド、プロパティ名、等号、新しいプロパティ値を続けます。次の例では、「MyDoc.doc」ドキュメントの変更の追跡を有効にします。
メソッドは、オブジェクトが実行できるアクションです。たとえば、Document オブジェクトには、ドキュメントを印刷できるときはいつでも PRintOut メソッドがあります。通常、メソッドにはアクションの実行方法を定義するパラメータがあります。次の使用例は、作業中の文書の最初の 3 ページを印刷します。
ほとんどの場合、メソッドはアクションであり、プロパティはプロパティです。メソッドを使用するとオブジェクトに何かが起こりますが、プロパティを使用するとオブジェクトに関する情報が返されるか、オブジェクトの一部のプロパティが変更されます。
2. DocumentオブジェクトとDocumentsコレクションオブジェクト
Visual Basic では、Document オブジェクトまたはDocuments コレクション オブジェクトのメソッドを使用してファイルを変更できます。 Document オブジェクトは、この記事で Word 文書を作成するために使用される主なオブジェクトです。
Word オブジェクト モデルのドキュメント (Document) オブジェクト セット (または Document) オブジェクトの構造を図 2 に示します。
以下では、Paragraphs コレクション オブジェクトと PageSetup オブジェクトが主役になります。段落コレクション オブジェクトは、選択範囲、範囲、またはドキュメント内の段落オブジェクトのコレクションです。 PageSetup オブジェクトは、ページ設定の説明を表します。 PageSetup オブジェクトには、ドキュメントのすべてのページ設定プロパティ (左余白、下余白、用紙サイズなど) が含まれています。
Word オブジェクト モデルに精通していることに基づいて、Document オブジェクトを使用して Word 文書に対して次のようなさまざまな操作を実行できます。
2.1 新しいドキュメントを作成する
Documents コレクションには、開いているすべてのドキュメントが含まれます。新しいドキュメントを作成するには、Add メソッドを使用して Document オブジェクトをDocuments コレクションに追加します。
新しいドキュメントを作成する 1 つの方法は、Add メソッドを使用することです。 Add メソッドは、新しいドキュメントを参照する Document オブジェクトを返します。次の例では、Add メソッドによって返された Document オブジェクトがオブジェクト変数 newDoc に割り当てられます。次に、Document オブジェクトのいくつかのプロパティとメソッドを設定します。新しいドキュメントは、newDoc オブジェクト変数を通じて簡単に制御できます。
2.2 ドキュメントを開く
既存のドキュメントを開くには、Documents コレクションの Open メソッドを使用します。次のコードは、MyDocument.doc という名前のドキュメント (「MyFolder」フォルダーにあります) を開きます。
2.3 既存のドキュメントを保存する
ドキュメントを保存するには、Document オブジェクトの Save メソッドを使用します。次のコードは、Sales.doc という名前のドキュメントを保存します。
Save メソッドをDocumentsコレクションに適用すると、開いているすべてのドキュメントを保存できます。以下のコードは、開いているすべてのドキュメントを保存します。
2.4 新しいドキュメントを保存する
ドキュメントを保存するには、Document オブジェクトの SaveAs メソッドを使用します。次のコードは、アクティブなドキュメントを「Temp.doc」という名前で現在のフォルダーに保存します。
FileName パラメーターには、ファイル名または完全なパス (たとえば、「C:/Documents/TemporaryFile.doc」) のみを含めることができます。
2.5 文書を閉じる
単一のドキュメントを閉じるには、Document オブジェクトの Close メソッドを使用します。次のコードは、Sales.doc という名前のドキュメントを閉じて保存します。
すべてのドキュメントは、Documents コレクションの Close メソッドを使用して閉じることができます。次のコードは、変更を保存せずにすべてのドキュメントを閉じます。
Visual Basic で Word 文書を作成する
1. Visual Basic で Document オブジェクトを作成します。
すべての作業は Document オブジェクトから始まります。まず、Visual Basic で Document オブジェクトのインスタンスを作成します。その後、そのインスタンスに対してさまざまなコントロールを実行できます。
Document オブジェクトを作成したら、Content サブオブジェクトのフォント、行間隔、その他のプロパティを設定することで、ドキュメントのデフォルト形式を設定できます。
これにより、空の Word 文書が作成されます。
2. Word 文書にテキストを追加する
次に、空のドキュメントにテキストを追加します。これを行うには、Paragraphs コレクション オブジェクトを使用します。 InsertAfter メソッドは、Selection オブジェクトまたは Range オブジェクトの後にテキストを挿入し、InsertBefore メソッドは、Selection オブジェクトまたは Range オブジェクトの前にテキストを挿入します。次のコードは、文書の最後に段落を追加して書式設定します。
Paragraphs(index) を使用すると、Paragraph オブジェクトを返すことができます。ここで、index はインデックス番号です。count 属性値は、ドキュメントのメイン テキスト部分にある Paragraph オブジェクトの数を示します。 NewDoc.Paragraphs.count は、現在追加されているテキスト段落のインデックス番号と同じです。
テーブルを挿入する必要がある場合は、Table オブジェクトを使用できます。 Add メソッドは、指定された範囲内に新しいテーブルを追加できます。次の使用例は、作業中の文書の先頭に 3x4 の表を追加します。
テーブルはタブ文字を使用して取得できます。次のコードは、ドキュメントの最後に 1x4 の表を挿入します。
作成されたテーブルを図-3に示します。
3. ページ設定
すべての段落をドキュメントに追加したら、PageSetup オブジェクトを使用してページを設定できます。これを行うには、PageSetup オブジェクトのさまざまなプロパティを設定する必要があります。
3.1 列と列間隔を設定する:
3.2 ページ余白を設定する:
3.3 用紙サイズの設定:
その他の設定項目については詳細な説明を省略します。
4. ドキュメントの出力
作成したドキュメントについては、ディスク ファイルとして保存するか、直接印刷するかを選択できます。
応用例
上記の方法は、筆者が地方党委員会組織部向けに開発したコンピュータ自動審査システムに適用されている。システムのプロセスを図 4 に示す。
このシステムで生成された試験問題は、草の根幹部の評価と選抜のための試験に直接使用する必要があり、まず出題者が試験問題のパラメータ、つまり問題作成のルールを入力すると、ソフトウェアが自動的に問題を作成する。論文を作成し、論文を Word 形式で出力します。以上の手法を用いて筆者が開発したソフトウェアシステムはユーザのニーズを十分に満たしている。この度、システムの運用を開始し、業務効率が大幅に向上し、ユーザーから高い評価をいただいております。
結論
この記事で提案する Visual Basic で Word ドキュメントを作成する方法は、オブジェクト モデルに基づいており、ActiveX をサポートする他の開発プラットフォームでも使用できます。 ->