VBACreateObjectとGetObject


備考

CreateObjectはオブジェクトのインスタンスを作成するのが最も簡単GetObjectが、 GetObjectはオブジェクトの既存のインスタンスを取得します。オブジェクトの作成または取得の可否の決定は、インスタンス化プロパティによって異なります 。一部のオブジェクトはSingleUse(例:WMI)で、すでに存在する場合は作成できません。他のオブジェクト(Excelなど)はMultiUseであり、複数のインスタンスを一度に実行できます。オブジェクトのインスタンスが存在せずGetObjectを実行しようとすると、次のトラップ可能なメッセージが表示されます。 Run-time error '429': ActiveX component can't create object

GetObjectには、次の2つのオプションパラメータの少なくとも1つが必要です。

  1. Pathname - Variant(String):オブジェクトを含むファイルのフルパス(filenameを含む)。このパラメータはオプションですが、 Pathnameが省略されている場合はClassが必要です。
  2. Class - Variant(String):オブジェクトの正式な定義(ApplicationおよびObjectType)を表す文字列。 Pathnameを省略すると、 クラスが必要です。

CreateObjectには、1つの必須パラメータと1つのオプションパラメータがあります。

  1. Class - Variant(String):オブジェクトの正式な定義(ApplicationおよびObjectType)を表す文字列。 クラスは必須パラメータです。
  2. Servername - Variant(String):オブジェクトが作成されるリモートコンピュータの名前。省略した場合、オブジェクトはローカルマシン上に作成されます。

クラスは常にApplication.ObjectTypeの形式で2つの部分で構成されていApplication.ObjectType

  1. アプリケーション - オブジェクトが含まれているアプリケーションの名前。 |
  2. Object Type - 作成されるオブジェクトのタイプ 。 |

いくつかのクラスの例は次のとおりです。

  1. Word.Application
  2. Excel.Sheet
  3. Scripting.FileSystemObject

CreateObjectとGetObject 関連する例