Este blog é um complemento do nosso canal no YouTube. Clique em @CanalQb para seguir e acompanhar nossos vídeos!

Sugestões de pesquisas

Como Usar Windows Script Host com VBA para Criar Atalhos e Automatizar Aplicativos

#vba; #automacao; #windows
@CanalQb

Como usar Windows Script Host com VBA para automações práticas


@CanalQb

Dica de segurança: Sempre crie uma frase de segurança única para jogos, @CanalQb e qualquer outra operação online. Nunca utilize sua carteira principal em sites ou ferramentas de origem desconhecida.


Introdução ao Windows Script Host com VBA

O Modelo de Objeto do Host de Scripts do Windows é uma biblioteca poderosa, identificada como IWshRuntimeScripting, localizada em ...\WINDOWS\system32\wshom.ocx. Essa biblioteca oferece recursos adicionais ao tradicional Scripting Runtime, como:

  • Criação de atalhos de arquivos e URLs
  • Execução de aplicações externas
  • Funções de rede e impressora
  • Interações com o shell do Windows

Para aprofundamento técnico, recomenda-se visitar a documentação oficial da Microsoft no site MSDN - Windows Script Host.

Exemplo prático: Criando atalhos com VBA

O código abaixo mostra como criar atalhos utilizando a biblioteca IWshRuntimeLibrary:


Public Sub CreateShortcuts()
    Dim objWshShell As New IWshRuntimeLibrary.WshShell
    Dim objWshShortcut As IWshRuntimeLibrary.WshShortcut
    Dim objWshURLShortcut As IWshRuntimeLibrary.WshURLShortcut
    Dim strTargetFolder As String

    ' Criar atalho de URL nos Favoritos
    With objWshShell
        strTargetFolder = .SpecialFolders("Favoritos")
        Set objWshURLShortcut = .CreateShortcut(strTargetFolder & "\TheScripts.url")
    End With

    With objWshURLShortcut
        .TargetPath = "http://www.thescripts.com"
        .Save
    End With

    ' Criar atalho na área de trabalho
    With objWshShell
        strTargetFolder = .SpecialFolders("AllUsersDesktop")
        Set objWshShortcut = .CreateShortcut(strTargetFolder & "\MyShortcut.lnk")
    End With

    With objWshShortcut
        .TargetPath = "C:\SomeFile.txt"
        .Description = "Link to my file"
        .Save
    End With

    ' Criar atalho no menu Iniciar
    With objWshShell
        strTargetFolder = .SpecialFolders("AllUsersStartMenu")
        Set objWshShortcut = .CreateShortcut(strTargetFolder & "\MyShortcut.lnk")
    End With

    With objWshShortcut
        .TargetPath = "C:\SomeFile.txt"
        .Description = "Link to my file"
        .Save
    End With

    ' Liberar objetos
    Set objWshURLShortcut = Nothing
    Set objWshShortcut = Nothing
    Set objWshShell = Nothing
End Sub

Executando aplicativos com WSH

Outro uso prático é iniciar e monitorar um aplicativo como o Calc.exe. Veja o exemplo:


Dim objCalc As IWshRuntimeLibrary.WshExec

Private Sub Form_Close()
    If Not objCalc Is Nothing Then
        objCalc.Terminate
        Set objCalc = Nothing
    End If
End Sub

Private Sub Form_Timer()
    If objCalc Is Nothing Then Exit Sub
    With Me
        If objCalc.Status = WshRunning Then
            .tglCalc = True
        Else
            .tglCalc = False
        End If
    End With
End Sub

Private Sub tglCalc_AfterUpdate()
    Dim objWshShell As New IWshRuntimeLibrary.WshShell

    If Me.tglCalc Then
        Set objCalc = objWshShell.Exec("calc.exe")
    Else
        objCalc.Terminate
    End If

    Set objWshShell = Nothing
End Sub

Conclusão

Com a biblioteca Windows Script Host integrada ao VBA, é possível automatizar uma variedade de tarefas do Windows, como atalhos e execuções de arquivos, otimizando a produtividade e integrando soluções corporativas com mais eficiência.

Recomendação: Utilize ferramentas seguras para programação como o VBA Excel oficial e mantenha seu ambiente Windows atualizado. Evite executar códigos VBA não verificados em ambientes de produção ou com permissões elevadas.

Importante: Este conteúdo é informativo. Qualquer ação de instalação ou execução de scripts é de total responsabilidade do usuário. Sempre analise os riscos antes de realizar qualquer automação ou investimento.

إرسال تعليق

Comente só assim vamos crescer juntos!
CanalQb mais próximo Quer falar com o CanalQb?
Em que posso te ajudar?
Fale comigo