【问题标题】:having an issue with an if then statement using vbYesNo使用 vbYesNo 的 if then 语句有问题
【发布时间】:2014-06-18 15:47:01
【问题描述】:

我正在尝试创建一个脚本,询问用户是否要将网络打印机设置为默认值。我的问题是,无论他们选择什么(是或否),它都会将其设置为默认值,并且它总是在 else 下回显我的回显语句。谁能告诉我我做错了什么?

` ' Printers.vbs - Windows 登录脚本。

   printername = "DCPTTEAM462W"
   server = "DCDEPLOY03"

   Dim objectNetwork, printer
   printer = "\\DCPRINT03\DCPTTEAM462W"

   Msgbox printername & " will now install on your computer.",0, "Add printer" & printername  


   intRespnseY = Msgbox("Would you like " & printername & " to be set as your default printer", vbYesNo, "Set as Default")


   If intResponseY = vbNo Then

   Set objNetwork = CreateObject("WScript.Network")
   objNetwork.AddWindowsPrinterConnection printer
   WScript.Echo "DCPTTEAM462W was added as a printer."

   Else

   Set objNetwork = CreateObject("WScript.Network")
   objNetwork.AddWindowsPrinterConnection printer
   objNetwork.SetDefaultPrinter printer
   WScript.Echo "DCPTTEAM462W has been set as your default printer."

   End If

`

【问题讨论】:

  • 非常感谢修复了回显问题,但它仍将打印机设置为默认值。
  • 谢谢你们的帮助。我看到我的问题是,在我删除打印机后,它将 Workshare PDF Publisher 设置为我的默认打印机。如果我将默认打印机更改为另一台打印机并运行脚本,它会按设计工作。罪魁祸首是下面提到的“o”。

标签: if-statement printing vbscript


【解决方案1】:

你有一个错字:

intRespnseY = Msgbox(....

应该是

intResponseY = Msgbox(....

【讨论】:

    【解决方案2】:

    使用

    Option Explicit
    

    为了避免以下错误:

    intRespnseY = Msgbox("...")
    If intResponseY = vbNo Then
    

    (标记缺少的“o”)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多