Можно ли в Excel VBA изменить стиль окна очищенной программы?
Вот ситуация в деталях:
При нажатии кнопки пользователя пользователь должен возможность загрузки сторонней программы сканирования. Путь и файл программного обеспечения указываются в именованной ячейке с названием settings_scanningsoftware, как показано ниже. Тем не менее, я использую программу Shell, которая не ждет загрузки стороннего программного обеспечения, прежде чем продолжить. Если бы это было так, моя жизнь была бы проще. По этой причине я открываю диалоговое окно в Excel, в котором пользователю предлагается дождаться загрузки программного обеспечения и затем подготовить элемент для сканирования, прежде чем нажать кнопку «ОК». И, так как я открываю диалоговое окно, я загружаю программу сканирования свернутой, чтобы они могли видеть диалоговое окно (вместо того, чтобы скрываться за окном программного обеспечения, и им интересно, почему ничего не происходит). Пока что со мной?
Однако, как только они нажмут Ok, я хочу, чтобы Excel дал контроль программному обеспечению сканирования и предоставил ему окно обычного размера. Вот моя проблема: после того, как программа загружена в свернутом виде, я не могу изменить стиль окна, чтобы сделать его обычным.
Вот мой код:
On Error Resume Next
Dim ScannerShell As Integer
ScannerShell = Shell(Range("settings_scanningsoftware").Value, **vbMinimizedNoFocus**)
If (ScannerShell <> 0) Then
Dim MessageBoxValue As Integer
MessageBoxValue = MsgBox("When you're ready to scan the receipt, click Ok.", vbOKCancel, "Scan receipt")
If (MessageBoxValue = vbOK) Then
ScannerShell = Shell(Range("settings_scanningsoftware").Value, **vbNormal**)
AppActivate ScannerShell, False
SendKeys ("{TAB}{TAB}{TAB} ")
End If
End If
Заметьте, я ' Выше выделен vbMinimizedNoFocus, так что загрузка программного обеспечения сведена к минимуму, и пользователь может видеть предстоящее диалоговое окно. Как только они нажимают Ok, окно программного обеспечения должно быть нормализовано. Но Excel не окажет мне такую услугу.
Есть ли способ изменить стиль окна после его загрузки?
Не берите в голову команду SendKeys. Я поместил это туда, чтобы заставить сканер автоматически сканировать, когда все на месте (последовательность клавиш неполная, но одна проблема за раз). Я знаю, что SendKeys - не лучший способ отправки команд в программу, но я пойму это, как только исправлю этот стиль окна.
У кого-нибудь есть какие-нибудь решения для меня? Благодаря.