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

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.