Entendo, obrigado pelo retorno.
Problema é ficar limitado próximo origem do monitor 2 e/ou a dois monitores somente.
Caso queira testar, ente usar o prj
deste link com a seguinte chamada:
Sub button_Click()
Const SCREEN_WIDTH = 1920
Const SCREEN_HEIGHT = 1080
Dim iMonitor
Dim newValue
Dim posX
Dim posY
iMonitor = Application.GetMouseX() \ SCREEN_WIDTH
posX = ( iMonitor * SCREEN_WIDTH ) + ( SCREEN_WIDTH / 2 )
posX = posX - ( 364 / 2 ) ' menos metade da largura da inputbox ~364px
posY = SCREEN_HEIGHT / 2
posY = posY - 128 ' menos metade da altura da inputbox ~128px
newValue = (New InputBoxEx)("Digite o novo valor:", , , posX, posY)
MsgBox newValue
End Sub
Class InputBoxEx
Dim sRetval
' TODO: prompt, [title], [defaultValue], [xpos], [ypos], [helpfile], [context]
Public Default Function Init( prompt, title, defaultValue, xpos, ypos )
sRetval = Application.DoModal("InputBoxEx", title, xpos, ypos, , , Array(prompt, defaultValue), 1+2+16+64+256)
If sRetval <> vbCancel Then
sRetval = CreateObject ("WScript.Shell")_
.RegRead("HKCU\Software\InputBoxEx\Retval")
Else
sRetval = Empty
End If
Init = sRetval
End Function
End Class
Sub Foo()
End Sub