You can do a lot with macros. You can open and close forms, show and hide
toolbars, and run reports. However, if you want more control over your
application's behavior, you can convert your macros to Visual Basic for
Applications code. To help you convert existing macros to Visual Basic for
Applications code, you can use the Microsoft Access Macro Conversion
Wizard. This article explains how to use the Macro Conversion Wizard, and
how it converts your macro actions.
↑ Back to the top
To convert a macro to Visual Basic for Applications code, follow these
steps:
- Start Microsoft Access and open the sample database Northwind.mdb.
- In the Database window, click Macros under Objects, and select a macro, for example, Customer Labels Dialog.
- On the File menu, click Save As.
- Under As in the Save As box, select Module, and then click OK.
- In the Convert macro box, click to select the Add error handling to generated functions and the Include macro comments check boxes.
- Click Convert.
The Macro Conversion Wizard does the following when it converts a macro to
Visual Basic code:
- It creates a new module of procedures using the names from the
Macro Names column in the original macro.
- It converts macro actions to appropriate DoCmd methods in Visual Basic. For the several macro actions that do not have a DoCmd equivalent, the Macro Conversion Wizard does the following:
No DoCmd Equivalent Solution
-----------------------------------------------------------------------
AddMenu The wizard comments out these lines in the code
and notifies the user.
MsgBox Uses the MsgBox function.
RunApp Uses the Shell function to run another
application.
RunCode Uses the Call statement, and runs the function
directly in Visual Basic.
SendKeys Uses the SendKeys statement.
SetValue Sets the value directly in Visual Basic.
StopAllMacros Uses the End statement.
StopMacro Uses the Exit Function statement.
- It converts expressions in the macro's Condition column to If...Then statements.
- If the Condition column contains a full reference to a control in a form or report (for example, Forms!MyForm![LastName]), Microsoft Access uses If...Then statements. If the reference refers to a control name only (for example, [LastName]), Access uses a With...End With or a CodeContextObject statement.
↑ Back to the top
For more information about converting macros to Visual Basic forApplications code, click Microsoft Access Help on the Help menu, type convert macros to microsoft visual basic in the Office Assistant or the Answer Wizard, and then click Search to view the topic.
↑ Back to the top