|
1
2
将此作为单独的答案发布,因为它完全不同
你可以用
声明: (由于我们不使用字符串,所以使用SendMessageA或SendMessageW并不重要,这些声明仅适用于VBA7)
实施它:
这将打印当前活动控件的选择。
我已经验证了对于选择超过32768个字符的文本框,结果与我的第一个解决方案相同(
我推荐另一个解决方案而不是WinAPI解决方案,因为这个解决方案使用当前的活动控件,如果是错误的控件,则不会给出错误,使用外部API调用,并且可能会有更多的开销。 这个解决方案确实支持超过2^16个字符的文本框,但是如果出现这种情况,Access的行为会很挑剔,我建议不要对这样大的文本框使用内置的textbox控件。 |
|
2
2
听起来像是个无符号整数。 VBA不支持无符号类型,因此当设置符号位时(对于2字节整数,一旦值超过(2^15)-1),它就会突然变为负数。但是,您可以使用底层函数来处理它们。 我不久前编写了这些函数来处理无符号整数,您可以使用它将长整数转换为无符号整数并返回:
实施它们:
正如Gustav所指出的,如果值大于(2^16)-1(无符号2字节整数的最大值),则仍然存在溢出问题 |
|
0___________ · 我可以在整个程序生命周期内保持句柄打开吗 2 年前 |