Excel VBA调用子程序时如何传递参数

Excel VBA调用子程序时如何传递参数,第1张

VBA调用子程序时,如果不带参数,

直接写sub过程名,或者Call

sub名称即可。

如果需要传递参数:

同样可以使用Call:

例如:

Call

PicInComment(1,

250)

参数写在后面,不带括号:

例如:

PicInComment

1,

250

也可以赋值给其他变量:

例如:

result

=

PicInComment(1,

250)

主程序调用子程序编程指令是:右击——插入——OB,然后填上OB100,OB由系统调用,并非由用户调用。

一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被集成为软件库。函数在面向过程的语言中已经出现。是结构和类的前身。本身就是对具有相关性语句的归类和对某过程的抽象。

转子指令和返回指令:

在子程序的调用与返回过程中,子程序的入口地址是指子程序第一条指令的地址。用于调用子程序、控制程序的执行从主程序转向子程序的指令称为专注指令(子程序调用指令、过程调用指令)。为了正确调用子程序,必须在转子指令中给出子程序的入口地址。

主程序中转子指令的下一条指令的地址称为断点,断点是子程序返回主程序的返回地址,从子程序返回主程序的指令称为返回指令。为了在执行返回指令时能够正确地返回主程序,转子指令应具有保护断点的功能。

执行转子指令时保护断点的方式有多种,常用的有:将断点保存到子程序第一条指令的前一个字单元;将断点保存到某一约定的寄存器中;将断点压入堆栈。

问题不是出在那一句,而是这一句调用的子过程中,只是显示在一句。

问题出在以上这句中,GetAttr 函数只有一个参数,你设了两个参数,当然出错。这句改为以下即可。

If GetAttr(s &fname) = vbDirectory Then


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11469933.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存