Como posso fazer um Msgbox aparecer em cima de outro aplicativo?

1

Eu tenho uma macro do Excel que lida com milhares de linhas em várias tabelas e faz algumas operações de copiar / colar / analisar / combinar .... leva quase 10 minutos para executá-lo totalmente.

Eu adicionei um MsgBox "Job Done" no final, a única coisa é que o pop-up aparece apenas se o Excel for a janela ativa. Se eu estou, por exemplo, no Outlook, o pop-up não irá aparecer, limitando muito sua vantagem.

Posso configurar algo para que ele apareça?

    
por Memes 29.12.2014 / 09:35

2 respostas

0

Pense fora da caixa. Existem outras maneiras de chamar sua atenção ao lado de Msgbox

Abra uma janela de linha de comando que está no topo

Sub Sample()
  RetVal = Shell("CMD /k echo Hello World", vbNormalFocus)
End Sub

Observação: isso não interrompe a macro do VBA. Sua execução como um processo separado

Reproduza um sinal sonoro som

Sub Sample()
  Beep
End Sub

Nota: O bip padrão deve ter um som associado a este para trabalhar

Abra o bloco de notas para ganhar atenção

Sub Sample()      
  Set WScript = CreateObject("WScript.Shell")
  WScript.Run "%windir%\notepad", 1
End Sub

Leia mais sobre o excelente artigo Programando o host de scripts do Windows . O comportamento do foco pode ser alterado com intWindowStyle

    
por 29.12.2014 / 11:01
1

Que tal

vbSystemModal   4096    System modal; all applications are suspended until the user responds to the message box.

Veja Função MsgBox

    
por 29.12.2014 / 10:05