Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Chama uma macro em um projeto de VBA (Microsoft Visual Basic for Applications).
Sintaxe
RUNMACRO (macroname [, projname_opt ])
Parâmetros
| Name | Obrigatório/opcional | Tipo de dados | Descrição |
|---|---|---|---|
|
Nomedamacro |
Obrigatório |
String |
O nome da macro a ser chamada. |
|
projname_opt |
Opcional |
String |
O projeto que contém a macro. |
Comentários
Se um projeto for especificado, o Microsoft Visio verificará todos os documentos abertos para encontrar aquele que contém o projname_opt e chamará macroname do projeto. Se projname_opt for omitido ou nulo (""), será pressuposto que macroname esteja no projeto VBA do documento que contém a fórmula RUNMACRO que está sendo avaliada.
A função RUNMACRO difere da função CALLTHIS na medida em que não passa uma referência à forma que contém a fórmula sendo avaliada para macroname. Assim como CALLTHIS, a função RUNMACRO não requer uma referência a projname_opt para chamá-la.
O código VBA, que é invocado quando a instância do Visio avalia uma função RUNMACRO em uma fórmula, não deve fechar o documento que contém a célula que está usando a função, uma vez que ocorrerá um erro de aplicativo e o Visio será fechado.
Se você precisar fechar o documento que contém a célula que está utilizando a função RUNMACRO, utilize uma das técnicas a seguir:
Feche o documento a partir de um código que não seja VBA.
Feche o documento a partir de um projeto diferente do que está sendo fechado.
Envie mensagens de janela para fechar as janelas em vez de fechar o documento.
Para obter mais informações sobre a execução de códigos no Visio, consulte Sobre configurações de segurança e execução de códigos no Visio nesta Referência da ShapeSheet.
Exemplo
O exemplo a seguir invoca uma macro chamada MeuTeste no modelo de classe EsteDocumento do projeto VBA que contém a fórmula RUNMACRO.
RUNMACRO ("EsteDocumento.MeuTeste")