Изменение стиля окна очищенной программы - PullRequest
0 голосов
/ 26 февраля 2020

Можно ли в 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 - не лучший способ отправки команд в программу, но я пойму это, как только исправлю этот стиль окна.

У кого-нибудь есть какие-нибудь решения для меня? Благодаря.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...