ActiveXObject オブジェクト
オートメーション オブジェクトへのインターフェイスを提供するオブジェクトです。
function ActiveXObject(ProgID : String [, location : String])
引数
[ProgID]
必ず指定します。 "serverName.typeName" 形式の文字列。serverName はオブジェクトを提供しているアプリケーションの名前、typeName は作成するオブジェクトの型またはクラス名を表します。location
省略可能です。 オブジェクトの作成先のネットワーク サーバーの名前。
解説
一般的に、オートメーション サーバーでは、少なくとも 1 種類のオブジェクトが提供されます。 たとえば、ワードプロセッシング アプリケーションでは、アプリケーション オブジェクト、ドキュメント オブジェクト、およびツール バー オブジェクトが提供されます。
次のコードは、ActiveXObject オブジェクト コンストラクターを呼び出して、アプリケーション (この場合は、Microsoft Excel ワークシート) を起動しています。 ActiveXObject を使用して、コード内でアプリケーションを参照できます。 次の例を使用すると、オブジェクト変数 ExcelSheet と、Application オブジェクトや ActiveSheet.Cells コレクションなどの Excel のオブジェクトを使って、新しいオブジェクトのプロパティやメソッドにアクセスできます。
// Declare the variables
var Excel, Book;
// Create the Excel application object.
Excel = new ActiveXObject("Excel.Application");
// Make Excel visible.
Excel.Visible = true;
// Create a new work book.
Book = Excel.Workbooks.Add()
// Place some text in the first cell of the sheet.
Book.ActiveSheet.Cells(1,1).Value = "This is column A, row 1";
// Save the sheet.
Book.SaveAs("C:\\TEST.XLS");
// Close Excel with the Quit method on the Application object.
Excel.Application.Quit();
リモート サーバー上でオブジェクトを作成できるのは、インターネット セキュリティが機能していない場合だけです。 コンピューター名を ActiveXObject 関数の引数 servername に渡すことで、リモート ネットワークで接続されたコンピューター上にオブジェクトを作成できます。 この名前は、共有名のコンピューター名の部分と同じです。 たとえば、"\\MyServer\public" というネットワーク共有名の場合、servername は "MyServer" です。 さらに、DNS 形式または IP アドレスを使用して servername を指定することもできます。
次のコードは、"MyServer" というリモート ネットワーク コンピューター上で実行されている Excel のインスタンスのバージョン番号を返す例です。
function GetAppVersion() {
var Excel = new ActiveXObject("Excel.Application", "MyServer");
return(Excel.Version);
}
指定したリモート サーバーがネットワーク上に存在しないか見つからない場合は、エラーが発生します。
プロパティおよびメソッド
ActiveXObject オブジェクトには、組み込みのプロパティやメソッドがありません。このため、オートメーション オブジェクトのプロパティおよびメソッドにアクセスできます。