GetObject
и CreateObject
являются частью автоматизации COM, предоставляемой VBScript. VBScript не может использовать все COM-объекты, доступные через Windows. VBScript может использовать только те объекты, которые выставляют строку, называемую программным идентификатором (ProgID
). Хотя не все COM-объекты имеют ProgID, все COM-объекты имеют 128-битное число, называемое идентификатором класса, или CLSID. Если COM-объект имеет ProgID, вы можете использовать VBScript для создания объекта, вызова его методов и свойств и уничтожения объекта.
GetObject
и CreateObject
работает аналогично в пути, но они служат разным целям.
Если вам нужно создать новый экземпляр объекта, используйте CreateObject.
Если вам нужно ссылаться на существующий экземпляр объекта, используйте GetObject.
GetObject
функция имеет два дополнительных аргумента: object's pathname
(то есть, полный путь и имя файла) и object's ProgID
. Хотя оба аргумента являются необязательными, вы должны указать хотя бы один. Если вы опустите оба аргумента, появится ошибка. Например:
Dim wordDoc
Set wordDoc = GetObject ("FilePath\FileName.doc")
Когда этот код выполняются, приложение, связанное с указанным путевым именем запускается и объект в указанном файле активизирован. Если pathname является строкой нулевой длины (""), GetObject возвращает экземпляр нового объекта указанного типа. Если аргумент pathname опущен, GetObject возвращает текущий активный объект указанного типа. Если объект указанного типа не существует, возникает ошибка.
Если вы укажете ProgID, но не путь, результаты будут отличаться в зависимости от того, как вы настроили аргументы. Если передать пустую строку в качестве первого аргумента в коде, такие как
Set wordApp = GetObject("", "Word.Application")
VBScript возвращает новый экземпляр объекта Application Уорда (то есть объект, который представляет приложение Word).Это GetObject вызов эквивалентен вызову CreateObject
Set wordApp = CreateObject ("Word.Application")
Если опустить имя пути аргумент, но оставить запятая
Set wordApp = GetObject (, "Word.Application")
VBScript возвращает существующий экземпляр объекта Application, если таковой существует.
Для получения дополнительной информации обратитесь this и this ссылки.
App Inventor является чем-то еще, как Autodesk Inventor 2013. Я обновил этот тег для вас ... – Taifun