ホームページ >

Wordベースの文書管理方法

2008/6/6 16:31:00 42050

プロジェクト実践では、DWG、DXFフォーマットのグラフィックファイル、BMP、TIF、JPGフォーマットの画像ファイル、TXT.DOCフォーマットのテキストファイル、STEPファイル、音声ドキュメントなど、多くのフォーマットの図ドキュメントを使用しています。

この文書は一定の分類に従って分類され、分類番号として名前が付けられます。

これらを管理するために、本明細書では、Visual Baic環境下で開発されたアプリケーションを紹介し、このプログラムによってWord形式の管理文書を自動的に生成し、図ドキュメントの管理を実現する。


Word文書の自動操作を実現するためには、自動化ツールWordで行うことができますが、Wordではアプリケーションシステムの開発には適用されずにWordで使用しなければなりません。

ActiveX部品技術を採用して、VBでWordを制御して自動的に文書の操作を完成することができます。

まず図ドキュメントをエンコード順にWord文書に挿入し、図番号を表示してからファイルディレクトリを作成する方法です。

このように自動的に生成された管理文書によって、一括図ドキュメントの管理が可能になり、図番ディレクトリを通じて必要な文書を探して配置することができます。

必要なドキュメントをダブルクリックすると、このドキュメントがアクティブになります。


この図の文書管理方法は簡単で実用的です。

画像ファイルについては、検索、位置決め、プレビュー、編集が簡単にできます。

Wordの印刷機能を利用することで、量産図の印刷時間を節約することができます。

以下、関連原理と技術を詳しく紹介します。


1 VBでWord文書を操作する


1.1 ActiveX部品技術概要


ActiveXコンポーネントは、ActiveX技術によって作成された1つ以上のオブジェクトからなるプログラムコードとデータを重複して使用することができます。

VBアプリケーションは、Microsoft Officeアプリケーションに含まれる部品、各メーカーが提供するコード部品、ActiveX文書、またはActiveXコントロールに含まれる部品などの既存の部品を使用することができます。

また、自分でActiveXコントロールを開発することもできます。


ActiveX部品は、既存の完全なアプリケーションセグメントを効果的に結合することができます。

ActiveXの部品を使って、自分のアプリケーションの中で多くの他のWindowsアプリケーションが提供する機能を利用して、Microsoft Excel、Microsoft Word、Microsoft Accessの中でVBアプリケーションを通じて操作できる対象を提供しました。

このように、開発者は自分のアプリケーションでExcelの電子データテーブル、Word文書またはAcces、データベースの属性、方法、イベントを使用することができます。


1.2 VB Word文書を操作する方法


ActiveX部品を使用して提供されるオブジェクトは、他のオブジェクトを操作する方法と非常に似ています。

VBアプリケーションでは、部品オブジェクトを使用する前に、まずプロジェクトにこの部品に対する参照を追加し、オブジェクト変数を宣言し、オブジェクト参照を変数に付与してから、オブジェクトを使用する方法、属性、イベントのコードを作成します。

VBでWord文書を操作する方法は以下の通りです。


(1)ウィジェットへの参照を追加します。

「プロジェクト」メニューから「参照」を選択し、「Microsoft Word 8.0 Object Library」に対する参照・


(2)アプリケーションでWordオブジェクト変数を宣言し、対象参照を変数に付与する方法は以下の通りです。


Dim wdApple As Word.Appliationは、Wordアプリケーションのためのオブジェクト変数を宣言します。


Set wdApple=New Word Appleは、オブジェクト参照を変数に割り当てます。


上のオブジェクト参照の対象変数は、特定のクラスの変数wdAppleとして宣言され、オブジェクト参照は事前にバインディングされています。

オブジェクト参照のオブジェクト変数が一般的なObjectクラスの変数として宣言されている場合、オブジェクト参照は事後結合となります。

例えば、Wordオブジェクトに対する参照は、以下のObjectクラスの変数wdApp 2に与えられても良い。


Dim wdApp 2 As Objectは事後バインディングされています。


Set wdApp 2=Creat 0 bject(「Word.Apple」)


通常事後バインディング変数wdApp 2のコードは、事前バインディング変数wdAppp 1のコードを使用するよりも遅く実行されます。

これは、変数As Objectを宣言すると、VBがコンパイル中に変数に含まれるオブジェクト参照の性質を決定できないからです。

この場合、VBは事後バインディングを使用しなければならない。即ち、VBは実行中に、オブジェクトがコードに使用される属性と方法を有するかどうかを確認することができる。


(3)Wordオブジェクトの属性と方法を使用します。

対象変数にWordオブジェクトの参照を付与すると、その変数でオブジェクトの属性と方法を操作できます。

Wordウィジェットオブジェクトを使用する属性と方法は、通常のオブジェクトと何ら違いがありません。


部品が提供するオブジェクトは一般に階層的です。

Officeアプリケーションおよび他のActiveXコンポーネントは、それらのオブジェクトレベルにおいて、最上階の外部作成可能なオブジェクトを提供しています。すなわち、この階層における他のオブジェクトへのアクセスとアプリケーション全体に役立つ方法と属性を提供しています。


例えば、各Microsoft Officeアプリケーションは、トップレベルのApplicationオブジェクトを提供し、これらの変数を用いて、各アプリケーションの従属オブジェクトにアクセスすることができ、また、このオブジェクトの属性と方法を提供する。

例えば、ApplicationオブジェクトのサブオブジェクトSelectionのType Paraph方式でWord文書のセグメント化動作を実現する。

コード:


wdApp 1.Selection.Typearagraph


プログラム開発では、Iは、Wordオブジェクトの属性と方法を使用してWord文書の自動操作を完了するには、Wordの内部録音器を利用して、対応するマニュアルWord文書の操作過程を記録するために便利な方法です。

Wordはまず、一連のVBA(Visual Baic for Aplications)で表されるマクロコードとして記録します。

その後、ユーザーは「Visual Baicエディタ」で、録画したマクロコードをVBアプリケーションにコピーすることができます。VBAはVBのサブセットですので、少し修正すれば、VBプログラムでWord文書の自動操作ができます。

しかし、すべての手動操作で録画できるわけではないので、ドキュメントウィンドウ内のマウスの移動は録音できません。

たとえば、挿入点をマウスで移動できない、またはクリック、ドラッグなどで項目を選択、コピー、移動します。

このような操作を録音するには、ショートカットキーを使用する必要があります。


本プロセスでは、ファイルの火、図ドキュメントの操作に関わるため、SFOオブジェクトモデルを使用しています。このモデルは、オブジェクトベースのアタッチメントを提供して、ファイルの火とファイルを処理します。

オブジェクトの属性、方法、イベントの前に参照します。

引用方法は「プロジェクト」メニューの「参照」コマンドを選択し、「Microsoft Scripting Runtime」チェックボックスを選択します。

FSOオブジェクトの作成は、例えば、FileSystemObjectオブジェクトタイプとして変数を宣言することによって行われ得る。


Dim fso As New FileSystem


2プログラム設計と実現


2.1図ドキュメント管理の実施手順


(1)図ドキュメントを分類符号化する


文書の分類コードは管理に有利である。

本システムドキュメントでの分類コードは2セグメントの分類コードに従って行われます。

第一段は3桁のカテゴリコードで、第二段は3ビットの識別コードです。

カテゴリコードは、ドキュメントのカテゴリを分類し、同じカテゴリのドキュメントを識別コードで区別するため、カテゴリコードと識別コードを使用して、唯一のドキュメントを識別することができます。

ドキュメントのファイル名プレフィックスは、そのカテゴリコードと識別コードで名前を付けます。

あるドキュメントの分類コードが22_275であるように、220はそのカテゴリコードであり、275はその識別コードである場合、そのファイル名のプレフィックスは220_275である。


(2)Word管理文書の自動生成


プログラムでは、図ドキュメント管理ディレクトリを作成し、管理したい図ドキュメントを管理ディレクトリに追加したり、管理ディレクトリから図ドキュメントを削除したりして、管理ディレクトリ内の図ドキュメントからWord管理ドキュメントを自動的に生成することができます。

文書の作成の過程は、まずWordプログラムを起動し、フロントの実行とバックグラウンドの実行を選択します。そして新しいWord文書を作成して、図ドキュメントをコード順にWord文書に挿入して、図番号を表示して、コード番号と一致します。Wordファイルの前部で図番ディレクトリを作成します。最後にWord文書を保存して、Word文書を閉じます。


このように自動的に作成された管理文書によって、一括図ドキュメントの管理が可能になります。

図番号テーブルで必要な文書を探して位置を特定し、必要な文書をダブルクリックしてアクティブにして編集することができます。


2.2図ドキュメントの挿入方法


図ドキュメントをWord文書に挿入する方法は、挿入法、埋め込み法、リンク法のいくつかにまとめられます。

Word管理ドキュメントの自動生成には、図ドキュメントの挿入方法によって効果が異なります。


(1)挿入法。

他の2つの方法とは異なり、この方法は画像ファイルのみに適用される。

枚の13.6*6.7 cm、24色、JYG形式の写真Aは挿入法でWord文書に挿入された後36 KBとなります。

この方法でWord文書に画像ファイルを挿入すると、画像は復元されますが、復元効果は良くありません。

挿入法はVBプログラムにおいてSelectionオブジェクトのサブオブジェクトlnline ShappesのAddPicture方法で実現される。


(2)埋め込み法。

一般的な図ドキュメントはこの方法でWord文書に挿入できます。

写真Aは埋め込み法でWord文書に挿入した後、4061 KBとなり、画像は復元されます。

埋め込まれたファイルは文字数が大きいですが、Wordファイルでダブルクリックして絵を見たり編集したりすることができるのが最大の利点です。

画像ファイルを大量に印刷し、より高精細度の要求がある場合には、このような挿入方法を採用することができます。

埋め込み法の操作はVBプログラムで、Selectionオブジェクトのサブオブジェクトlnline ShappesのAddObject方法で実現します。


(3)リンク法。

この方法と埋め込み法の違いは、データの保存位置とWord文書に挿入した更新方式が違います。

リンク法では、ソースファイルの変更はワードドキュメントに反映されます。

写真Aはリンク法でWord文書に挿入した後、394 KBとなり、画像は復元できません。

PDFやDOCなどの非画像ファイルや大きな音声ファイルの管理には、このような挿入方法を採用し、Word文書にアイコンでファイルを表示します。Word文書を挿入するのは、ファイルの内容を表すアイコンだけです。

このようにすると、作成されたWord文書のスペースが小さくなります。

リンク法の操作はVBプログラムでもSelectionオブジェクトのサブオブジェクトlnline ShappesのAddOne 0 dject方法で実現され、そのパラメータLink 1 olileはTrueに設定されています。

アイコンで挿入する場合、パラメータDisplayAleonはTrueに設定されます。


3まとめ


本論文では、VBアプリケーションによりWord文書を自動的に生成し、図ドキュメントを管理する方法を紹介します。

この方法はマクロレコーダーによって手動操作を録音してマクロコードを生成し、簡単で実用的です。

VBでExcel、Accessなどの他のOfficeアプリケーションを操作する時もこの方法が使えます。

このようなプログラムでは、Officeツールを操作するアプリケーションが非常に広いです。

実際には、Delphiで類似動作を実現する際に、マクロコードを借りることもできますが、VBAで表されるマクロコードをPascal文法に適合する形に変換する必要があります。

  • 関連記事

電子ファイルの保存とメンテナンス

文書管理
|
2007/8/4 11:00:00
41333

電子ファイルの利用と管理

文書管理
|
2007/8/4 10:59:00
41399

音声ファイルの管理方法

文書管理
|
2007/8/4 10:57:00
41537

どのようなファイルが保存価値がありますか?

文書管理
|
2007/8/4 10:55:00
41381

レポートの作成

文書管理
|
2007/8/4 10:54:00
41571
次の文章を読みます

ウェブサイト建設とメンテナンス契約書

甲:乙:現在甲乙双方の友好的な協議を経て、現行の法律法規によって契約、知的財産権及びネットワーク管理に関する規定に基づいて、甲のインターネットサイトの建設とメンテナンスについて以下の合意を達成します。..。