调用VBA函数进入子过程 [英] Call a VBA Function into a Sub Procedure

查看:200
本文介绍了调用VBA函数进入子过程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道这对外面的人来说是一个简单的问题,但是我从来没有真正使用过功能模块,因为我不了解它们是什么.

I know this is a simple question for someone out there, but I have never really used function module at all because I did not understand what they were.

因此,我可以使用很多东西(减少冗余),但是我想知道如何从表单调用子过程(如单击按钮).

So I have a whole bunch of things I can use this for (cut down on redundancy), but I want to know how I call into a sub (like a button click) procedure from a form.

我尝试过了...

Sub Command_Click()
    Call "pptCreator"
End Sub

我知道这很糟糕,但是我不知道如何将其引入程序中.

I know that is pretty bad, but I have no idea how to bring this into a procedure.

推荐答案

以下是您可以在Microsoft Access中调用事物的一些不同方式:

Here are some of the different ways you can call things in Microsoft Access:

您要调用的表单中的sub必须是公开的,例如:

The sub in the form you are calling MUST be public, as in:

Public Sub DoSomething()
  MsgBox "Foo"
End Sub

像这样调用潜艇:

Call Forms("form1").DoSomething

拨打电话之前,必须先打开表单.

The form must be open before you make the call.

要调用事件过程,应在表单中调用一个公共过程,然后在此公共过程中调用该事件过程.

To call an event procedure, you should call a public procedure within the form, and call the event procedure within this public procedure.

Public Sub DoSomethingElse()
  MsgBox "Bar"
End Sub

...只需直接从您的事件过程中调用它即可:

...just call it directly from your event procedure:

Call DoSomethingElse

从表单中调用子例程而不使用事件过程

如果需要,您实际上可以将函数绑定到表单控件的事件,而不必在控件下创建事件过程.为此,您首先需要在模块中使用公共功能而不是子功能,例如:

To call a subroutine from a form without using an event procedure

If you want, you can actually bind the function to the form control's event without having to create an event procedure under the control. To do this, you first need a public function in the module instead of a sub, like this:

Public Function DoSomethingElse()
  MsgBox "Bar"
End Function

然后,如果您在表单上有一个按钮,则不要在属性窗口的OnClick事件中放置[Event Procedure](事件过程),

Then, if you have a button on the form, instead of putting [Event Procedure] in the OnClick event of the property window, put this:

=DoSomethingElse()

单击按钮时,它将调用模块中的public函数.

When you click the button, it will call the public function in the module.

如果调用子程序是这样的:

If calling a sub looks like this:

Call MySub(MyParameter)

然后调用函数如下:

Result=MyFunction(MyFarameter)

其中Result是该函数返回的类型的变量.

where Result is a variable of type returned by the function.

注意:您并非总是需要Call关键字.大多数时候,您可以像这样调用子程序:

NOTE: You don't always need the Call keyword. Most of the time, you can just call the sub like this:

MySub(MyParameter)

这篇关于调用VBA函数进入子过程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆