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);
}
指定したリモート サーバーが存在しないか、見つからない場合は、エラーが発生します。