Boa tarde. Gostaria de saber como posso abrir um software externo (como o Excel) em um segundo monitor. Resumidamente tenho dois monitores conectados e um deles definido como principal onde a minha aplicação roda.
Abrir tela de programas externos em um segundo monitor
Resposta rápida (considerando que seu monitor 2 está a direita do principal.)
Sub btnOpenXl_Click()
Const xlMaximized = -4137
Const xlNormal = -4143
Dim dLeft
Dim objWb
Dim objXl
Set objXl = CreateObject("Excel.Application")
Set objWb = objXl.Workbooks.Add
objXl.Visible = False
' Maximiza para obter a resolucao do monitor.
objXl.Application.WindowState = xlMaximized
' Armazena largura do monitor.
dLeft = objXl.Width
' Volta estado da janela em normal p/ poder move-la.
objXl.Application.WindowState = xlNormal
' Move a esquerda.
objXl.Left = dLeft
' Maximiza janela excel no monitor 2.
objXl.Application.WindowState = xlMaximized
' TODO: abrir ou criar sua planilha.
objXl.Visible = True
' TODO: Fechar/salvar aplicativo.
'objWb.Close
'objXl.Quit
'Set objXl = Nothing
End Sub
Atualmente, caso a aplicação externa (nesse caso o Excel) tenha suporte nos seus parâmetros de execução para definir a posição onde será inicializada, pode-se utilizar o parâmetro “Arguments” do método ExecuteExternalApp.