Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
  • Avatar do usuário
#6878
Prezados. Gostaria por gentileza de uma ajuda sobre o uso da função Shell.
Fiz uma macro para gerar gerar relatórios baseados em dados e gráficos.
As planilhas são calculadas e organizadas com a macro.
Os gráficos são gerados por um aplicativo *.exe e somente depois são inseridos no relatório via macro.
O problema é que a macro não espera o aplicativo gerar os gráficos, dando assim um erro.
Gostaria de ajuda para informar na macro para esperar o aplicativo rodar e continuar a macro apenas quando ele terminar (rodar em série e não em paralelo).
Segue trecho da macro onde executo o aplicativo externo para gerar meus gráficos.
_____________________________________________________________________
Sub macro()
'
Application.Goto Reference:="macro"

'Limpar dado mensal da pasta mes
Plan2.Activate
Plan2.Range("A1:Z6000").Value = ""

' Roda executável para gerar gráficos desejados
ChDir Application.ThisWorkbook.Path
Dim RetVal
RetVal = Shell("C:\caminho\WTGraphR10b.exe", 1)

Restante da macro...
____________________________________________________________________

Agradeço
#6901
Dim wsh As Object
Set wsh = VBA.CreateObject("WScript.Shell")
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 1

wsh.Run "C:\caminho\WTGraphR10b.exe", windowStyle, waitOnReturn

Fontes:
http://stackoverflow.com/questions/1595 ... o-complete
http://stackoverflow.com/questions/8902 ... rmat-cells
#6931
Prezado,

Obrigado pela resposta.
Quanto da implementação, apresentou erro indicando " Erro em tempo de execução '-2147024894 (80070002)':"
"O método 'Run' do objeto 'IWshShell3' falhou."
Consegui identificar a causa do erro. Na descrição do caminho para o .exe não pode haver espaço tipo "C:\Users\Documents\015 Programas\....). Onde a forma correta deveria ser tipo "C:\Users\Documents\015Programas\....).
Fazendo esse ajuste, tudo funcionou corretamente.

Obrigado
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord