Задайте 2 вопроса и получите 3 разных результата - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь задать пользователям с MsgBox два отдельных вопроса.В зависимости от того, что они выбрали, чтобы напечатать соответствующий набор рисунков.

Это то, где я сейчас нахожусь.Один вариант Да и Нет будет работать, но Да и Да не работает.

Dim acadMsgBox As String, exclMsgBox As String
Dim LoginName As String, destFolder As String

acadMsgBox = MsgBox("Print all AutoCad Drawings to PDF?", vbYesNo, "Drawings (" & Worksheets("Drawing Index").Range("D2") & " Package)")
exclMsgBox = MsgBox("Print all Excel Spreadsheets to PDF?", vbYesNo, "Spreadsheets (" & Worksheets("Drawing Index").Range("D2") & " Package)")

LoginName = UCase(GetUserID)
destFolder = "C:\Users\" & LoginName & "\Desktop\"

If acadMsgBox & exclMsgBox = vbYes Then
    Call AcadPlot
    On Error Resume Next
    Call ExcelPlot
    Shell "Explorer.exe" & " " & destFolder, vbNormalFocus
ElseIf acadMsgBox = vbYes Then
    Call AcadPlot
    Shell "Explorer.exe" & " " & destFolder, vbNormalFocus
ElseIf exclMsgBox = vbYes Then
    Call ExcelPlot
    Shell "Explorer.exe" & " " & destFolder, vbNormalFocus
End If

Спасибо за любые отзывы

1 Ответ

0 голосов
/ 29 января 2019

Функция MsgBox возвращает значение перечисления VbMsgBoxResult, которое по сути является именованной Long константой.

Dim acadMsgBox As String, exclMsgBox As String

Объявите их As VbMsgBoxResult, а не As String.

If acadMsgBox & exclMsgBox = vbYes Then

Объявление их As Long также будет работать, но с VbMsgBoxResult вы получите бесплатное автозаполнение после знака =.

& это оператор объединения строк , Коминтерн проинформировал вас об этом .Здесь вы хотите использовать логический оператор:

If acadMsgBox = vbYes And exclMsgBox = vbYes Then

Обратите внимание, что для этого потребуется побитовая операция, которая не приведет к ожидаемому результату:

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