JScript  

ActiveXObject オブジェクト

オートメーション オブジェクトへの参照を有効にします。

newObj = new ActiveXObject(servername.typename[, location])

引数

newObj
必ず指定します。ActiveXObject を代入する変数名を指定します。
servername
必ず指定します。オブジェクトを提供するアプリケーションの名前を指定します。
typename
必ず指定します。作成するオブジェクトの種類またはクラスを指定します。
location
省略可能です。オブジェクトが作成されるネットワーク サーバーの名前を指定します。

解説

オートメーション サーバーでは、少なくとも 1 種類のオブジェクトが提供されます。たとえば、ワードプロセッシング アプリケーションでは、Application オブジェクト、Document オブジェクト、および Toolbar オブジェクトが提供されます。

オートメーション オブジェクトを作成するには、new ActiveXObject をオブジェクト変数に代入します。

var ExcelSheet;
ExcelApp = new ActiveXObject("Excel.Application");
ExcelSheet = new ActiveXObject("Excel.Sheet");

このコードにより、オブジェクトを作成するアプリケーションが起動します (この場合は、Microsoft Excel ワークシートです)。作成されたオブジェクトを参照するには、定義したオブジェクト変数を使用します。次の例では、オブジェクト変数 ExcelSheet と、Application オブジェクトや ActiveSheet.Cells コレクションなどの Excel オブジェクトを使って、新しいオブジェクトのプロパティやメソッドにアクセスします。

// Application オブジェクトを使って Excel を表示します。
ExcelSheet.Application.Visible = true;
// シートの先頭のセルに文字を入力します。
ExcelSheet.ActiveSheet.Cells(1,1).Value = "ここは、A1 です。";
// シートを保存します。
ExcelSheet.SaveAs("C:\\TEST.XLS");
// Application オブジェクトの Quit メソッドで Excel を終了します。
ExcelSheet.Application.Quit();
// オブジェクト変数を解放します。
ExcelSheet = "";

リモート サーバー上でオブジェクトを作成できるのは、インターネット セキュリティが機能していない場合だけです。ネットワーク コンピュータ上でオブジェクトを作成するには、コンピュータの名前を ActiveXObject の引数 servername に渡します。この名前は、共有名のマシン名の部分と同じです。たとえば、"\\myserver\public" というネットワーク共有名の場合、servername は "myserver" です。また、DNS 形式または IP アドレスを使って servername を指定することもできます。

次のコードは、"myserver" というネットワーク コンピュータ上で実行されている Excel のインスタンスのバージョン番号を返す例です。

function GetAppVersion() {
   var XLApp = new ActiveXObject("Excel.Application", "MyServer");
   return(XLApp.Version);
}

指定したリモート サーバーが存在しないか、見つからない場合は、エラーが発生します。

参照

GetObject 関数