基 础 函 数 参 考


ObjGet

检索程序或文件名引用的 COM 对象.

ObjGet ( "文件名" [, "类名" [, 实例]])

参 数

文件名 对象文件的完整路径和名称(见备注).
类名 [可选参数] 类标识符. 可以是 ProgID 或 CLSID 的字符串表示形式.
实例 [可选参数] 对象的实例, 相同于 (CO) 类 ROT 对象.

返 回 值

成功: 返回一个对象.
失败: 返回空字符串, 并设置 @error.

备 注

如果只使用类标识符, 则文件名为可选, 但不能省略参数.
如果你想运行对象表(ROT)访问对象, 可以使用空字符串. 此时可以使用第三个参数指定访问的实例.
所有其它情况下, 第三个参数将被忽略.

如果您使用一个文件名, 类名是可选的. 仅当你想加载一个特定的类对象时使用类名.

有关对象的更多信息参见 Obj/COM 参考.

相 关 函 数

GUICtrlCreateObj, IsObj, ObjCreate, ObjEvent, ObjName

函 数 示 例


; 使用类名字获取对象的例子
;
; 要使这例子成功,必须打开 Excel

$oExcel = ObjGet("","Excel.Application")    ; 获取现有的 Excel 对象

if @error then
  Msgbox (0,"Excel 测试","获取当前对象 Excel 发生错误. 错误代码: " & hex(@error,8))
  exit
endif

$oExcel.Visible = 1     ; 让那家伙显示它自己
$oExcel.workbooks.add       ; 添加一个新工作表
exit



; 使用文件名获取对象
;
; 必须在根目录 C:\ 创建一个 Excel 文件:Worksheet.xls
; 以便使这个例子能工作.

$FileName="C:\Worksheet.xls"

if not FileExists($FileName) then
  Msgbox (0,"Excel 文件测试","不能进行这个测试, 因为你没有创建 Excel 文件 "& $FileName)
  Exit
endif

$oExcelDoc = ObjGet($FileName)  ; 从现有文件名获取 Excel 对象

if IsObj($oExcelDoc) then

  ; 提示: 取消下列两行的注释,使 Excel 可见 (注释者: DaleHohm)
  ; $oExcelDoc.Windows(1).Visible = 1; 设置第一个工作表可见
  ; $oExcelDoc.Application.Visible = 1; 设置应用程序可见 (在 Excel 没有退出时)

  $String = ""      ; 为显示效果的字符串

  ; 一些文档属性不返回,我们将会忽略这些.
  $OEvent=ObjEvent("AutoIt.Error","nothing"); 等于为"VBscript(VB脚本)"打开下一个错误摘要
  
  For $Property In $oExcelDoc.BuiltinDocumentProperties
     $String = $String &  $Property.Name & ":" & $Property.Value & @CRLF
  Next

  Msgbox(0,"Excel 文件测试","文档 " & $FileName & " 的属性:" & @CRLF & @CRLF & $String)

  $oExcelDoc.Close      ; 关闭 Excel 文档

else
  Msgbox (0,"Excel 文件测试","错误: 不能将 "& $FileName & " 作为 Excel 对象打开.")
endif

provider with jb51.net (unicode)