兰州人 发表于 2007-7-29 15:09:00

getobject功能的讨论

<p>在Autocad调用excel和access时,都涉及到getObject这个功能函数,在网上找了一下,没有相关的专题文章,在此对这个GetObject进行总结.</p><p></p>

兰州人 发表于 2007-7-29 15:11:00

<p><b>getObject的语法表述</b></p><p class="SYN"><b>GetObject(</b>[<b>pathname</b>] [<b>, class</b>]<b>)</b>
        </p><h1></h1><p class="T"><b>GetObject</b> 函数的语法包含下面几个<a href="javascript:hhobj_5.Click()">命名参数</a>:</p><table cellspacing="4" cols="2" cellpadding="4"><tbody><tr valign="top"><th width="17%">部分</th><th width="83%">描述</th></tr><tr valign="top"><td class="T" width="17%"><b>pathname</b></td><td class="T" width="83%">可选的;<b>Variant </b>(<b>String</b>)。包含待检索对象的文件的全路径和名称。如果省略 <b>pathname</b>,则 <b>class</b> 是必需的。</td></tr><tr valign="top"><td class="T" width="17%"><b>class</b></td><td class="T" width="83%">可选的;<b>Variant</b> (<b>String</b>)。代表该对象的<a href="javascript:hhobj_6.Click()">类</a>的字符串。</td></tr></tbody></table><br/><p></p><p class="T">其中,<b>class</b>
                <a href="javascript:hhobj_7.Click()">参数</a>的语法格式为 appname<b>.</b>objecttype,且语法的各个部分如下:</p><table cellspacing="4" cols="2" cellpadding="4"><tbody><tr valign="top"><th width="17%">部分</th><th width="83%">描述</th></tr><tr valign="top"><td class="T" width="17%">appname</td><td class="T" width="83%">必需的;<b>Variant</b> (<b>String</b>)。提供该对象的应用程序名称。</td></tr><tr valign="top"><td class="T" width="17%">objecttype</td><td class="T" width="83%">必需的;<b>Variant</b> (<b>String</b>)。待创建对象的类型或类。</td></tr></tbody></table>

兰州人 发表于 2007-7-29 15:15:00

<p>Autocad调用Excel时,其经典语句组合是</p><p>&nbsp;&nbsp; Dim xlApp As Object  ' This Line ,Not set Excel , run Excel<br/>&nbsp;&nbsp;&nbsp; 'Dim xlsheet As Object<br/>&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; ' 发生错误时跳到下一个语句继续执行<br/>&nbsp;&nbsp;&nbsp; On Error Resume Next<br/>&nbsp;&nbsp;&nbsp; ' 连接Excel应用程序<br/>&nbsp;&nbsp;&nbsp; Set xlApp = GetObject(, "Excel.Application")<br/>&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; If Err.Number &lt;&gt; 0 Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set xlApp = CreateObject("Excel.Application")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlApp.Visible = True<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlApp.Workbooks.Add<br/>&nbsp;&nbsp;&nbsp; End If</p><p>&nbsp;&nbsp;&nbsp; ' 返回当前活动的工作表<br/>&nbsp;&nbsp;&nbsp; Set xlSheet = xlApp.ActiveSheet<br/></p>

兰州人 发表于 2007-7-29 15:24:00

<p>VB调用Autocad的经典组合</p><p>On Error Resume Next<br/>Set obj_Acad = GetObject(, "autocad.application.16")<br/>If Err Then<br/>&nbsp;&nbsp; Err.Clear<br/>&nbsp;&nbsp; On Error Resume Next<br/>&nbsp;&nbsp; Set obj_Acad = CreateObject("autocad.application.16")<br/>&nbsp;&nbsp; If Err Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Err.Clear<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MsgBox "不能运行AutoCAD,请检查是否安装!", vbOKOnly, "警告!"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Exit Sub<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br/>End If<br/></p><p></p>
页: [1]
查看完整版本: getobject功能的讨论