vb6.0函数示例语法说明详解中集 联系客服

发布时间 : 星期六 文章vb6.0函数示例语法说明详解中集更新完毕开始阅读4446453983c4bb4cf7ecd1f6

GetAttr 函数

________________________________________ 示例

返回一个 Integer,此为一个文件、目录、或文件夹的属性。 语法

GetAttr(pathname)

必要的 pathname 参数是用来指定一个文件名的字符串表达式。pathname 可以包含目录或文件夹、以及驱动器。 返回值

由 GetAttr 返回的值,是下面这些属性值的总和: 常数 值 描述 vbNormal 0 常规 vbReadOnly 1 只读 vbHidden 2 隐藏 vbSystem 4 系统文件

vbDirectory 16 目录或文件夹 vbArchive 32 上次备份以后,文件已经改变 vbalias 64 指定的文件名是别名。

注意 这些常数是由 VBA 指定的,在程序代码中的任何位置,可以使用这些常数来替换真正的值。 说明

若要判断是否设置了某个属性,在 GetAttr 函数与想要得知的属性值之间使用 And 运算符与逐位比较。如果所得的结果不为零,则表示设置了这个属性值。例如,在下面的 And 表达式中,如果档案 (Archive) 属性没有设置,则返回值为零: Result = GetAttr(FName) And vbArchive

如果文件的档案属性已设置,则返回非零的数值。 ________________________________________

GetAttr 函数示例

本示例使用 GetAttr 函数来得知文件及目录或文件夹的属性。 Dim MyAttr

' 假设 TESTFILE 具有隐含属性。

MyAttr = GetAttr(\ ' 返回 2。' 如果 TESTFILE 有隐含属性,则返回非零值。 Debug.Print MyAttr And vbHidden ' 假设 TESTFILE 具有隐含的只读属性。 MyAttr = GetAttr(\ ' 返回 3 。' 如果 TESTFILE 含有隐含属性,则返回非零值。

Debug.Print MyAttr And (vbHidden + vbReadOnly) ' 假设 MYDIR 代表一目录或文件夹。 MyAttr = GetAttr(\ ' 返回 16。 ________________________________________

相关基础知识:

参数

传递给一个过程的常数、变量或表达式。

字符串表达式

任何其值为一连串字符的表达式。字符串表达式的元素可包含返回字符串的函数、字符串文字、字符串常数、字符串变量、字符串 Variant 或返回字符串 Variant (VarType 8) 的函数。 常数

执行程序时保持常数值的命名项目。常数可以是字符串、数值、另一常数、任何( 除乘幂与 Is 之外的) 算术运算符或逻辑运算符的组合。每个主应用程序皆可定义自己的一组常数。用户也可以 Const 语句定义附加常数。可在代码中的任何地方使用常数代替实际的值。

逐位比较

比较两个数值表达式中同位置的位。 GetAutoServerSettings 函数

________________________________________ 示例

返回关于 ActiveX 部件的注册状态的信息。 语法

object.GetAutoServerSettings([progid], [clsid]) GetAutoServerSettings 函数语法有这些部分: 部分 描述

object 必需的。对象表达式,其值为“应用于”列表中的对象。progid 可选的。variant 表达式,为该部件指定 ProgID。clsid 可选的。variant 表达式,为该部件指定 CLSID。

返回值

GetAutoServerSettings 函数返回含有关于给定的 ActiveX 部件的值的数组的 Variant 变量。其索引值和描述如下: 值 描述

1 若 ActiveX 部件被远程注册则为 True。 2 远程机器名。

3 RPC 网络协议名。 4 RPC 身份验证级。 说明

如果值丢失或无效,则该值为空字符串。如果在使用方法期间出错,则返回值为 Empty 类型的 Variant 变量。

________________________________________

GetAutoServerSettings 函数示例

这个示例检索关于远程注册对象 \的信息: Sub ViewHello()

Dim oRegClass As New RegClass

Dim vRC As Variant

vRC = oRegClass.GetAutoServerSettings _ (\ If Not(IsEmpty(vRC)) Then If vRC(1) Then

MsgBox \ & \ Else

MsgBox \ End If End if End Sub

________________________________________

相关基础知识:

对象表达式

说明具体对象的表达式,可以包含对象的容器。例如,应用程序可以拥有 Application 对象,其中包含 Document 对象,而 Document 对象又包含 Text 对象。

variant 表达式

表达式,其值为数值、字符串或日期数据以及特殊数值 Empty 和 Null 。 GetObject 函数

________________________________________ 示例

返回文件中的 ActiveX 对象的引用。 语法

GetObject([pathname] [, class])

GetObject 函数的语法包含下面几个命名参数: 部分 描述

pathname 可选的;Variant (String)。包含待检索对象的文件的全路径和名称。如果省略 pathname,则 class 是必需的。

class 可选的;Variant (String)。代表该对象的类的字符串。

其中,class 参数的语法格式为 appname.objecttype,且语法的各个部分如下: 部分 描述

appname 必需的;Variant (String)。提供该对象的应用程序名称。 objecttype 必需的;Variant (String)。待创建对象的类型或类。 说明

使用 GetObject 函数可以访问文件中的 ActiveX 对象,而且可以将该对象赋给对象变量。可以使用 Set 语句将 GetObject 返回的对象赋给对象变量。例如: Dim CADObject As Object

Set CADObject = GetObject(\

当执行上述代码时,就会启动与指定的 pathname 相关联的应用程序,同时激活指定文件中的对象。

如果 pathname 是一个零长度的字符串 (\,则 GetObject 返回指定类型的新的对象实例。如果省略了 pathname 参数,则 GetObject 返回指定类型的当前活动的对象。如果当前没有指定类型的对象,就会出错。

有些应用程序允许只激活文件的一部分,其方法是在文件名后加上一个惊叹号 (!) 以及用于标识想要激活的文件部分的字符串。关于如何创建这种字符串的信息,请参阅有关应用程序创建对象的文档。

例如,在绘图应用程序中,一个存放在文件中的图可能有多层。可以使用下述代码来激活图中被称为 SCHEMA.CAD 的层:

Set LayerObject = GetObject(\

如果不指定对象的 class,则自动化会根据所提供的文件名,来确定被启动的应用程序以及被激活的对象。不过,有些文件可能不止支持一种对象类。例如,图片可能支持三种不同类型的对象:Application 对象,Drawing 对象,以及 Toolbar 对象,所有这些都是同一个文件中的一部分。为了说明要具体激活文件中的哪种对象,就应使用这个可选的 class 参数。例如:

Dim MyObject As Object

Set MyObject = GetObject(\

在上述例子中,FIGMENT 是一个绘图应用程序的名称,而 DRAWING 则是它支持的一种对象类型。

对象被激活之后,就可以在代码中使用所定义的对象变量来引用它。在前面的例子中,可以使用对象变量 MyObject 来访问这个新对象的属性和方法。例如: MyObject.Line 9, 90

MyObject.InsertText 9, 100, \

MyObject.SaveAs \

注意 当对象当前已有实例,或要创建已加载的文件的对象时,就使用 GetObject 函数。如果对象当前还没有实例,或不想启动已加载文件的对象,则应使用 CreateObject 函数。 如果对象已注册为单个实例的对象,则不管执行多少次 CreateObject,都只能创建该对象的一个实例。若使用单个实例对象,当使用零长度字符串 (\语法调用时,GetObject 总是返回同一个实例,而若省略 pathname 参数,就会出错。不能使用 GetObject 来获取 Visual Basic 创建的类的引用。

________________________________________

GetObject 函数示例

该示例使用 GetObject 函数来获取对指定的 Microsoft Excel 的工作表 (MyXL) 的引用。它使用工作表的 Application 属性来显示或关闭 Microsoft Excel 等等。DetectExcel Sub 过程通过调用两个 API 函数,来查找 Microsoft Excel。如果 Microsoft Excel 正在运行,则将其放入运行对象表(Running Object Table)中。如果 Microsoft Excel 不在运行,则第一次调用 GetObject 将导致错误。在本例中,出现该错误则把 ExcelWasNotRunning 标志设为 True。第二次调用 GetObject 是指定要打开的一个文件。如果 Microsoft Excel 不在运行,则这个第二次的调用将启动该程序,并返回一个指定文件 (mytest.xls) 所对应的工作表的引用。该文件必须位于指定的位置;否则将产生 Visual Basic 错误及自动化错误。随后的示例代码将 Microsoft Excel 及包含指定工作表的窗口设为可见。最后,如果在此前没有 Microsoft Excel 的副本在运行,代码就使用 Application 对象的 Quit 方法来关闭 Microsoft