DocumentCache オブジェクト

Visual Tools Object Model を使う場合、DocumentCache オブジェクトを理解することが重要になります。ビジュアル ツールでは、1 度に複数のファイルを開くことができますが、メモリに読み込まれるのはアクティブ ドキュメントだけです。ドキュメントがアクティブでなくなると、つまり、ユーザがドキュメント タブ内で別のドキュメントに切り替えると、以前のアクティブ ドキュメントは、リソースを節約するためにキャッシュに格納されます。

開いているすべてのドキュメントは、Application.DocumentCache 配列内に要素を持っています。キャッシュに格納されている特定のドキュメントを参照するには、Application.DocumentCache(Index) を使ってください。この場合の Index は、ドキュメント タブ内のドキュメントのインデックスです。

次の JavaScript の例は、配列内をループする方法を示します。

var app = Application; 
for (idx = 0; idx < app.DocumentCount; idx++) {
    sFile = app.DocumentCache(idx).Filename;
    }

次は、VBScript で記述した同じコードです。

set app = Application
for idx = 0 to app.DocumentCount - 1
sFile = app.DocumentCache(idx).Filename
next

開いているドキュメントのファイル名がわかっている場合は、Application.GetTabIndexForFile 関数を使って、そのドキュメントのインデックスを検索することができます。次に例を示します。

var app = Application;
idx = app.GetTabIndexForFile(`c:\docs\file.htm');
    bReadOnly = app.DocumentCache(idx).ReadOnly;

キャッシュに格納されているドキュメントに関する詳しい情報にアクセスするには、まず情報の必要なドキュメントをアクティブにし、Application オブジェクトの ActiveDocument プロパティを使ってそのドキュメントを参照する必要があります。これを行うには、Application.DocumentIndex プロパティを、キャッシュに格納されているドキュメントのインデックスに設定します。

プロパティ

メモ DocumentCache オブジェクトのプロパティはすべて読み取り専用です。

Filename (OleString)

キャッシュに格納されているドキュメントのファイル名を返します。

Modified (WordBool)

キャッシュに格納されているドキュメントが最後に保存されてから変更されている場合は True を返します。

ReadOnly (WordBool)

キャッシュに格納されているドキュメントが読み取り専用の場合は True を返します。

Text (OleString)

キャッシュに格納されているドキュメントのテキスト (ファイルの内容) を返します。