gpt4 book ai didi

vba - 如何用对象来引用

转载 作者:行者123 更新时间:2023-12-02 04:48:26 27 4
gpt4 key购买 nike

如果我想要对象本身,而不是它的属性/方法,我如何引用在 With 中使用的对象?

With ThisWorkbook.Sheets("MySheet")
Call MySub(ThisWorkbook.Sheets("MySheet")) ' works OK, but duplicated
Call MySub(this) ' does not works
.Range(...).Value2 = 1
...
End With

+ 这里正确的术语是什么?我什至不知道如何为此编写谷歌查询并获得一些有用的结果(因为 with 是一个常见词)...

<小时/> 更新:澄清一下,我正在考虑Python语法中的像 with ... as handle这样的句柄,而不是面向对象的 this 关键字

最佳答案

首先不使用 with 怎么样?它使您的代码更具可读性,不再使用更多内存(因为 with 语句无论如何都必须分配一个临时变量),并且不那么困惑。

Dim WS as WorkSheet
WS = ThisWorkBook.Sheets("MySheet")
Call vymaz_obrazky(WS)
WS.Range(...).Value2 = 1

在上面的代码中,总成本是额外的一行代码(DIM 语句),并且总共减少了 9 次击键。 (DIM 语句需要 19 次按键,在三行中更改为 WS 需要 6 次按键,但是您已经保存了 with (4)和重复 (30),节省了大约 9 次击键。)

关于vba - 如何用对象来引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11266332/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com