CreateObject 関数

CreateObject(servername, typename [, location])

オートメーション オブジェクトへの参照を作成して返します。

引数

servername
オブジェクトを提供しているアプリケーションの名前を指定します。
typename
作成するオブジェクトの種類またはクラスを指定します。
location
省略可能です。
オブジェクトが作成されるサーバーの名前を指定します。

解説

オートメーション サーバーは、少なくとも 1 種類のオブジェクトを提供しています。たとえば、ワード プロセッサであれば、アプリケーション オブジェクト、文書オブジェクト、ツールバー オブジェクトなどが提供されます。

オートメーション オブジェクトを作成するには、CreateObject 関数の戻り値をオブジェクト変数に代入します。

Dim ExcelSheet
Set ExcelSheet = CreateObject("Excel.Sheet")
              

このコード例では、オブジェクトを提供するアプリケーション (この場合、Microsoft Excel のワークシート) が起動します。定義したオブジェクト変数を使って、コード内で作成されたオブジェクトを参照することができます。次のコードは、ActiveSheet.Cells コレクションの Application オブジェクトに含まれるオブジェクト変数 ExcelSheet およびその他の Excel オブジェクトを使って、新しく作成されたオブジェクトのプロパティやメソッドを操作する例です。

'Application オブジェクトから Excel のワークシートを表示します。
ExcelSheet.Application.Visible = True
'ワークシートの最初のセルにテキストを入力します。
ExcelSheet.ActiveSheet.Cells(1,1).Value = "この位置は、1 行 A 列目です。"
'ワークシートを名前を付けて保存します。
ExcelSheet.SaveAs "C:\DOCS\TEST.XLS"
'Application オブジェクトの Quit メソッドで Excel を終了します。
ExcelSheet.Application.Quit
'オブジェクト変数を開放します。
Set ExcelSheet = Nothing
              

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

使用例

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

Function GetVersion
   Dim XLApp
   Set XLApp = CreateObject("Excel.Application", "MyServer")
   GetVersion = XLApp.Version
End Function
              

備考

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

関連

GetObject 関数

  • 最速攻略VBScriptサンプル大全集

    好評の「最速攻略 VBScript サンプル大全集」の改訂版です。これまでのWindows2000/XPに加え、Windows Vista、最新のWindows 7環境にも対応しています。Windows上での処理の自動化や一括処理(バッチ処理)をテーマとしたVBScriptのサンプルスクリプト集です。付属 CD-ROMには、すぐに使うことができる100以上のサンプルスクリプトを用意しています。

  • VBScriptポケットリファレンス改訂版

    WebでもWindowsでも使えるVBScriptだから手元においてさっと引けるこの一冊!VBScript5.6に対応!待望の改訂版!目的別リファレンスでやりたいことから調べられます。すべての項目にサンプルコード掲載!WSH、ASP、IEすべての環境でお役に立ちます。

  • Excel VBAポケットリファレンス改訂第3版

    好評のExcel VBAポケットリファレンスが改訂第3版としてリニューアルしました。知りたいコマンドがすぐ調べられる機能引きリファレンスはそのままに、最新の Excel 2010に完全対応。もちろん、これまでのExcel 97、2000、2002、2003、2007のすべてのバージョンに対応しています。「こんなときどうするの?」「どう書けばいいの?」という疑問がすぐ解決する、全てのExcel VBAユーザー必携の、最強のリファレンスブックです!

  • Access VBA逆引きハンドブック

    本書はAccess VBAの各機能を、豊富なプログラミング例を使って、初心者にもわかりやすく、かつ網羅的に解説しています。また、やりたいことを目的別に簡単に探せる「逆引き」の構成になっています。

このページの先頭へ