Como executar um aplicativo do Windows com Excel VBA

Como executar um aplicativo do Windows com o Excel VBA

Em algumas situações, você pode querer abrir uma segunda aplicação do Windows ao mesmo tempo que operam em outra aplicação, como Excel. VBA, short para o Visual Basic for Applications, fornece um método que utiliza algumas linhas de código para chamar em cima de outro aplicativo, como o Microsoft Word enquanto trabalha com Excel. Embora você poderia fazer a mesma coisa, simplesmente usando o "Começar" comando para abrir a segunda aplicação, utilizando VBA faz com que o segundo programa executado de forma assíncrona. Ou seja, o controle retorna imediatamente para o Excel, que continua realizando cálculos sem mudar para o outro aplicativo manualmente.

  • Abra um novo livro no Microsoft Excel. Clique no "Desenvolvedor" aba no menu de nível superior. Se você não ver esta opção, clique no "Escritório" botão no canto superior esquerdo do Excel. selecionar "Opções do Excel" da janela e clique na caixa ao lado de "Mostrar guia Desenvolvedor na Faixa de Opções." Clique "ESTÁ BEM."

  • Clique no "Visual básico" guia agora visível na linha de opções de Desenvolvedor. Isso abre uma Visual Basic for Applications (VBA) a janela de desenvolvimento.

  • Clique "Visão" na lista do menu superior na janela de desenvolvimento. Clique "Código" a partir da lista drop-down.

    Insira o seguinte código:



    Private Sub CommandButton1_Click ()
    Dim AppName As String
    `A próxima linha define uma maneira para que você escolha o aplicativo do Windows
    "AppName = InputBox ("Digite o caminho eo nome do executável da aplicação")
    "A linha seguinte mostra como você tem que digitar o caminho eo nome do arquivo executável para o App
    "AppName = "C: Arquivos de Programas (x86) Microsoft Office Office12 winword.exe"
    `Se o App está no caminho normal, como Word, Notepad, Excel IE, e outros padrões da Microsoft` são, então você não precisa do caminho completo. Digite apenas o executável do programa actual como você vê.
    AppName = "winword.exe"
    Shell AppName, vbNormalFocus
    End Sub

    Nota: As linhas que começam com apóstrofos não executam.

  • Retornar à tela de folha de cálculo, parcialmente escondido por trás das janelas de codificação. Clique no ícone a apontar para baixo na "Inserir" aba do menu Developer. Clique duas vezes no "Botão de comando" no ícone "Controles ActiveX" seção. Isso adiciona o botão para a folha de cálculo do Excel com o nome padrão "CommandButton1." Arraste este botão com o mouse para um local out-of-the-way em sua planilha. Dê um duplo clique no botão para verificar se o código digitado na etapa 3 aparece. Se isso não acontecer, verifique a tela do código, especialmente para assegurar o nome do Sub (sub-rotina) acima corresponde ao nome do botão de comando.

  • Salve a planilha como uma versão habilitada para macro. Feche o arquivo de planilha. Reabri-lo, e quando alertou sobre a execução de macros, selecione o "Activar macros" opção.

  • Clique "Casa" no menu de nível superior. Clique no botão que você criou na planilha e Microsoft Word abrirá. Retornar para a seção de código VBA e alterar as linhas de código para coincidir com os aplicativos que você deseja executar. Remover o apóstrofo na linha começando ""AppName = Caixa de Entrada" para torná-lo executável. Em seguida, será solicitado para uma aplicação. Exclua as linhas começando "AppName ="winword.exe" e `AppName ="C: Program Files" assim você pode executar qualquer aplicativo que você deseja.

dicas & avisos

  • Vestir-se o seu programa renomeando o CommandButton para algo mais significativo, como "Executar outro aplicativo." direita; clique no botão e selecione "propriedades" para mudar o back-cor, fonte e outras aparições.
  • Devido à natureza assíncrona do comando Shell, dependendo da acção empreendida sob o comando, o processo poderá não ser concluída antes da próxima instrução é executada. De acordo com "Mastering VBA," "isso pode causar erros em seus procedimentos, se os comandos subseqüentes dependem da declaração Shell ter executado."
De esta maneira? Compartilhar em redes sociais:

LiveInternet