ObjGet
Возвращает ссылку на COM-объект из существующего процесса или имени файла.
ObjGet ( "filename" [, "classname" ] )
Параметры
filename | Полный путь к файлу содержащему объект (Смотрите примечания). |
classname |
[необязательный] Класс объекта в следующем формате: "appname.objectype" |
Возвращаемое значение
Успех: | Возвращает объект. |
Ошибка: | Возвращает 0 и устанавливает @error равным 1. |
Примечания
Не обязательно указывать имя файла, если вы хотите использовать только имя класса, но параметр не должен быть пропущен. Используйте пустую строку, если вы хотите использовать только имя класса.См. также
GUICtrlCreateObj, IsObj, ObjCreate, ObjEvent, ObjNameПример
; Пример получения объекта, используя имя класса
;
; Excel должен быть установлен и запущен (activated) для успешного выполнения этого примера
Local $oExcel = ObjGet("", "Excel.Application") ; Получает существующий объект Excel
If @error Then
MsgBox(4096, "Тест Excel", "Ошибка при получении активного объекта Excel. Код ошибки: " & Hex(@error, 8))
Exit
EndIf
$oExcel.Visible = 1 ; Путь объект покажет себя
$oExcel.workbooks.add ; Добавляет новую книгу
Exit
; Пример получения объекта, используя имя файла
; С помощью Excel создайте файл Worksheet.xls в корневом каталоге диска C:\ для того чтобы этот пример работал.
Local $FileName = "C:\Worksheet.xls"
If Not FileExists($FileName) Then
MsgBox(4096, "Тест файла Excel", "Не удается запустить этот тест, потому что вы не создали файл Excel " & $FileName)
Exit
EndIf
Local $oExcelDoc = ObjGet($FileName) ; Получает объект Excel из существующего файла
If IsObj($oExcelDoc) Then
; Подсказка: Раскомментируйте эти строки, чтобы сделать Excel видимым (заимствовано: DaleHohm)
; $oExcelDoc.Windows(1).Visible = 1; Устанавливает первый лист в книге видимым
; $oExcelDoc.Application.Visible = 1; Устанавливает приложение видимым (без этого Excel будет завершён)
Local $String = "" ; Строка для присоединения результатов
; Некоторые свойства документа не возвращают значение, мы будет игнорировать их.
Local $OEvent = ObjEvent("AutoIt.Error", "nothing"); равносильно скрипту VBS - "Продолжить в случае ошибки"
For $Property In $oExcelDoc.BuiltinDocumentProperties
$String = $String & $Property.Name & ":" & $Property.Value & @CRLF
Next
MsgBox(4096, "Тест файла Excel", "Свойства документа " & $FileName & " содержат:" & @CRLF & @CRLF & $String)
$oExcelDoc.Close ; Закрывает документ Excel
Else
MsgBox(4096, "Тест файла Excel", "Ошибка: Не удалось открыть " & $FileName & " как объект Excel.")
EndIf