相关疑难解决方法(0)

获取对象的所有属性的列表

有没有办法获取给定对象的所有有效属性的列表?

如果我想从单元格a1开始,然后向下并指定a1,a2,a3,那么让我们说一个工作表对象的所有有效属性是可以做到的吗?我找不到任何:

list = object.enumproperties

有任何想法吗?

excel vba excel-vba

16
推荐指数
1
解决办法
2万
查看次数

VB6传递值并通过引用传递

我正在努力理解按值传递并在VB6中通过引用传递.我完全理解这些概念是面向对象的编程语言,如.NET和Java(我意识到Java没有通过引用传递).看看下面的代码:

Private Sub Form_Load()

Dim Test As Integer
Test = 1
TestFunction Test 'line 5
MsgBox (Test)

End Sub

Private Sub TestFunction(ByVal i As Integer)
    i = i + 1
End Sub
Run Code Online (Sandbox Code Playgroud)

当我在第5行的Test周围放置括号时,消息框会按照我的预期打印1.现在看看下面的代码:

Private Sub Form_Load()

Dim Test As Integer
Test = 1
TestFunction Test 'line 5
MsgBox Test

End Sub

Private Sub TestFunction(ByRef i As Integer)
    i = i + 1
End Sub
Run Code Online (Sandbox Code Playgroud)

消息框按照我的预期打印2.但是,如果在第5行添加括号,则消息框将打印1,这是我不希望的.即使被调用函数中定义的变量是ByRef,看起来调用函数也可以通过值传递.反之亦然,即如果被调用函数具有定义为ByVal的变量的签名,则它将始终为ByVal(即使调用函数中的变量周围没有括号).在VB6中,这背后的想法是什么?我意识到这是VB6中的一个基本问题,但它让我很困惑.我已经阅读了MSDN文档,我意识到这一切都是正确的,但它并没有解释它背后的原因.

vb6 vbscript vba

12
推荐指数
2
解决办法
1万
查看次数

是否可以在没有括号的情况下调用VB函数?

我正在看VB6代码,我看到如下声明 -

       Public Sub CheckXYZ(abc As Integer)

       If abc <> pqr Then SetVars abc
Run Code Online (Sandbox Code Playgroud)

当我点击SetVars上的定义时,我将采取以下定义 -

      Private Sub SetVars(i As Integer)
Run Code Online (Sandbox Code Playgroud)

我是VB的新手.这是VB中常见的东西,允许没有paranthesis的函数调用吗?

vb6

4
推荐指数
2
解决办法
5883
查看次数

标签 统计

vb6 ×2

vba ×2

excel ×1

excel-vba ×1

vbscript ×1