`

CallByName的一些缺陷

阅读更多

CallByName 函数

执行一个对象的方法,或者设置或返回一个对象的属性。

语法

CallByName(object, procname, calltype,[args()])

CallByName 函数的语法有以下命名参数:

部分 描述
object 必需的;变体型(对象)。函数将要执行的对象的名称。
procname 必需的;变体型(字符串)。一个包含该对象的属性名称或者方法名称的字符串表达式。
calltype 必需的;常数。一个 vbCallType 类型的常数,代表正在被调用的过程的类型。
args() 可选的:变体型(数组)

说明

CallByName 函数用于获取或者设置一个属性,或者在运行时使用一个字符串名称来调用一个方法。

在下面的例子中,第一行使用 CallByName 来设置一个文本框的 MousePointer 属性,第二行得到 MousePointer 属性的值,第三行调用 Move 方法来移动文本框:

CallByName Text1, "MousePointer", vbLet, vbCrosshair
Result 
= CallByName (Text1, "MousePointer", vbGet)
CallByName Text1, "Move", vbMethod, 100100

上边是关于CallbyName函数的用法,但是如果进行如下试验,就会发现存在一些缺陷如下:

'系统提示错误
vba.Interaction.CallByName(activedocument,"Paragraphs.Count",VbGet )

'函数运行正常
vba.Interaction.CallByName(activedocument.Paragraphs,"Count",VbGet )

关键就在于ProcName不能是多级的属性,只能是最近的属性,为了解决这个问题,只能动点手脚了,自己处理ProcName部
分了,很是不爽。
但是CallbyName 确实是个好东西,用好了会收益不浅的。
使用Google搜索一下,有些文章不错的,记录一下:

1:根据对象名称来操作对象(非CallByName方法)
2:让数据来证明
3:后绑定方式下对Object的处理

分享到:
评论

相关推荐

    vb.net下Callbyname的应用案例

    在VB.NET编程环境中,`CallByName`函数是一个非常实用的工具,它允许程序在运行时动态地调用对象的方法或属性。这个功能尤其在处理未知或动态生成的对象时显得尤为重要,因为它无需预先知道对象的具体类型或者方法/...

    vb_js_example.rar_VB CallByName JS_VB控制_[JS_example.js]_vb WebBr

    VB代码与WebBrowser控制中的HTML代码,互相控制... 点VB中的按钮,改变网页的显示样式或内容。点网页中的按钮,修改VB中控件的属性,或调用VB中的函数。这只是一个如何实现的示例,没有什么强大功能,代码有中文说明。

    vb程序调用函数

    调用函数vb程序

    asp.net常用函数

    以下将详细介绍在ASP.NET中常见的几个函数:Abs、CallByName和CDec。 1. Abs函数: Abs函数是一个数学函数,用于返回指定数值的绝对值。在VB.NET或C#中,你可以这样使用它: ```csharp double num = -123.45; ...

    C#动态调用类方法

    1.动态调用类方法,模拟VB中的CallByName 2.附带了C#和VB的代码 3.主要是一个项目中用到了要调用很多参数和返回值相同的一系列函数,所以 想到了这个方法,不用重复的写方法名,使用循环调用

    张志晨VB实例教程之字符串转换成变量名

    3. **使用CallByName访问变量**:在循环中,根据复选框的状态,使用`CallByName`方法获取对应字符串变量的值,并进行拼接。 **示例代码**: ```vb Private Sub Command1_Click() Dim str1 As String = "a" Dim ...

    vb6面对对象编程经典技术教程指南(推荐).doc

    CallByName函数的用法如下:Result = CallByName(Object, ProcedureName, CallType, Arguments())CallByName的第一个参数包含要对其执行动作的对象名。第二个参数,ProcedureName,是一个字符串,包含将要调用的方法...

    access vba函数

    以下是一些Access VBA中常用的函数的详细说明: 1. **Abs函数**: Abs函数用于返回一个数值的绝对值,去除掉数值前面的正负号。例如,`Abs(-5)`会返回5,`Abs(5)`同样返回5。如果输入参数是Null,它将返回Null;...

    任意单变量函数求解与求极值.xlsm

    VBA中使用CallByName函数实现任意单变量函数求极值和方程求解

    一个大项目中多项目编写思路

    这种开发方式可以提高开发效率和质量,但是也存在一些挑战,例如项目之间的依赖关系、资源冲突等问题。在这篇文章中,我们将探讨多项目开发思路在VB.NET中的实现。 多项目开发思路 在VB.NET中,多项目开发思路可以...

    vb.net 函数查询手册

    根据提供的信息,“vb.net 函数查询手册”主要涵盖了VB.NET编程语言中的一些常用函数及其使用方法。本篇将详细介绍这些函数的关键知识点,包括但不限于`Abs`、`Array`、`Asc`、`Atn`、`CallByName`、`Choose`、`Chr`...

    VBA 函数大全.doc

    上述代码演示了如何使用 `CallByName` 函数设置属性、获取属性值以及调用对象的方法。 #### 六、类型转换函数 **功能描述**: 类型转换函数用于将表达式强制转换为特定的数据类型。 **语法格式**: ```vba CBool...

    ACCESS 函数

    - **功能**:`CallByName` 函数用于执行对象的方法、设置或返回对象的属性。 - **语法**:`CallByName(object, procname, calltype[, args()])` - **参数**: - `object`:必需的参数,对象的名称。 - `procname`...

    VB函数.pdf

    - `CallByName` 函数可用于获取或者设置一个属性,或者在运行时调用方法。 - 此函数提供了动态调用对象方法和属性的能力,增强了程序的灵活性。 - 调用类型包括 `vbLet`(设置属性)、`vbSetProperty`(获取属性)和...

    VB常用函数与语句.txt

    CallByName 函数调用对象的方法或属性,其语法为 `CallByName(object, procedureName, callType, [arguments()])`。此函数允许动态调用方法或设置/获取属性,其中 `object` 是任何有效的对象引用,`procedureName` ...

    EXCEL VBA函数手册

    CallByName obj, "Add", vbMethod, Array("key", "value") ``` **说明**: - `CallByName`函数可用于动态调用方法或设置/获取属性。 - 通过字符串指定过程名使得程序更加灵活,但也会增加调试难度。 ### 总结 以上...

Global site tag (gtag.js) - Google Analytics