Looking for vba Keywords? Try Ask4Keywords

VBACreateObject vs. GetObject


Bemerkungen

Im einfachsten CreateObject erstellt CreateObject eine Instanz eines Objekts, während GetObject eine vorhandene Instanz eines Objekts GetObject . Die Bestimmung, ob ein Objekt erstellt oder abgerufen werden kann, hängt von seiner Instanzeigenschaft ab . Einige Objekte sind SingleUse (z. B. WMI) und können nicht erstellt werden, wenn sie bereits vorhanden sind. Andere Objekte (z. B. Excel) sind MultiUse und ermöglichen die gleichzeitige Ausführung mehrerer Instanzen. Wenn eine Instanz eines Objekts noch nicht vorhanden ist und Sie GetObject versuchen, erhalten Sie die folgende abfangbare Meldung: Run-time error '429': ActiveX component can't create object .

Für GetObject muss mindestens einer dieser beiden optionalen Parameter vorhanden sein:

  1. Pfadname - Variante (String): Der vollständige Pfad (einschließlich Dateiname) der Datei, die das Objekt enthält. Dieser Parameter ist optional, aber Class ist erforderlich, wenn Pfadname weggelassen wird.
  2. Class - Variant (String): Ein String, der die formale Definition (Application und ObjectType) des Objekts darstellt. Klasse ist erforderlich, wenn Pfadname weggelassen wird.

CreateObject hat einen erforderlichen Parameter und einen optionalen Parameter:

  1. Class - Variant (String): Ein String, der die formale Definition (Application und ObjectType) des Objekts darstellt. Klasse ist ein erforderlicher Parameter.
  2. Servername - Variant (String): Der Name des Remote-Computers, auf dem das Objekt erstellt wird. Wenn nicht angegeben, wird das Objekt auf dem lokalen Computer erstellt.

Class besteht immer aus zwei Teilen in Form von Application.ObjectType :

  1. Anwendung - Der Name der Anwendung, zu der das Objekt gehört. |
  2. Objekttyp - Der Typ des Objekts erstellt wird. |

Einige Beispielklassen sind:

  1. Word.Anwendung
  2. Excel-Tabelle
  3. Scripting.FileSystemObject

CreateObject vs. GetObject Verwandte Beispiele