直接写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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)