我有一个VB6应用程序在程序试图从打印机集合中将打印机对象设置为特定的打印机时出现错误5“无效的过程调用或参数” 。有问题的打印机是通过打印服务器运行的某种复印机/打印机。将打印机对象设置为集合中定义的其他打印机时,不会发生该错误。任何想法在这种情况下可能导致错误5?我不确定在VB6中使用“Set Printer = x”语句时究竟发生了什么 - 是否尝试在此时与实际的打印机驱动程序进行交互?由于某种原因,驱动程序可能无法被VB6 Printer对象识别为有效的打印机,从而导致“无效参数”错误?设置打印机对象时出现“无效的过程调用或参数”
3
A
回答
3
“无效的过程调用或参数”是一个VB运行时错误5.
我怀疑你看到的错误5是Win32错误代码,这意味着“访问被拒绝”。
显然VB运行时错误不同于Win32错误 - 我怀疑它与VB甚至MS-DOS的根本有关:http://blogs.msdn.com/ericlippert/archive/2004/09/09/227461.aspx。我不确定你应该如何确定使用哪种解释
+0
啊......从来没有想到这一点。相关打印机位于打印服务器上,但用户可以使用其他应用程序进行打印。当尝试“设置打印机= x”时,什么原因导致VB6出现“访问被拒绝”?设置打印机对象是否需要对目标打印机具有某些配置权限? – 2009-04-10 15:06:28
2
您是否正在使用类似这样的代码来设置它的正确性? 不只是试图用一个字符串来设置它?
Dim strDeviceName As String
Dim prnCurrent As Printer
For Each prnCurrent In Printers
If UCase$(prnCurrent.DeviceName) = strDeviceName Then
Set Printer = prnCurrent
Exit For
End If
Next prnCurrent
为了停止更改默认打印机,请在设置打印机之前运行此代码。然后,您不必设置默认打印机。这也使您的打印机选择对您的程序是唯一的,这是大多数人想要的。
' deassociate printer object from default system printer
Printer.TrackDefault = False
0
1
我在MS Access 2007 VBA中通过包括服务器名称和打印机名称解决了这个问题。
Application.Printer = Application.Printers("\\servername\printername")
代替
Application.Printer = Application.Printers("printername")
希望这可以帮助其他人。
1
我得到这个错误,经过几个小时的挫折发现我的答案。这是一个大小写敏感的问题。当我有一个小写字母“s”时,我有一个资本“S”。
所以当代码是这样的:
XeroxReport = "\\Share\Red Xerox 430"
Set Application.Printer = Application.Printers(XeroxReport)
我会得到错误5
但是,当我把它改为:
XeroxReport = "\\share\Red Xerox 430"
Set Application.Printer = Application.Printers(XeroxReport)
似的,它的工作
相关问题
- 1. 调用MergeArea时无效的过程调用或参数
- 2. objFile.Write(现在)无效的过程调用或参数
- 3. 运行时错误的,无效的过程调用或参数
- 4. 运行时错误'5':无效的过程调用或参数
- 5. 更改路径时无效的过程调用或参数
- 6. 运行时错误5,无效的过程或调用参数
- 7. 运行时错误:5,无效的过程调用或参数
- 8. 填充ComboBox时无效的过程调用或参数vba
- 9. VB6 Shell函数 - 无效的过程调用或参数壳
- 10. Shell函数错误“无效的过程调用或参数”
- 11. 调用图表过程时出现无效的过程调用错误
- 12. 调出打印机设置对话框,并更改保存
- 13. OleDb对象无效或不再设置
- 14. 打印对象参数?
- 15. 如何设置数组打印对象
- 16. 访问交换机管理器:无效的过程调用或参数
- 17. 提取文本 - 无效的过程调用或参数
- 18. MacScript无效的过程调用或参数
- 19. 错误5无效的过程调用或参数
- 20. VBA Shell命令有无效的过程调用或参数
- 21. excel vba中的过程调用或参数无效
- 22. 无效的过程调用或参数在VBScript
- 23. VBA中的过程调用或参数错误无效
- 24. 访问VBA无效的过程调用或参数
- 25. 如何在打印时设置打印机设置PDF
- 26. 打印数组时出现SimpleXMLElement对象时出现奇怪的行为
- 27. 打印命令行参数时额外输出无效
- 28. 当将访问查询导入到excel表中时出现“无效的过程调用或参数”
- 29. 只有在Windows 7上编译“New ADODB.Connection”时出现“无效的过程调用或参数”错误
- 30. 调用System.Drawing.Image.Save时出现无效参数错误
你确定错误在设置打印机行吗?我遇到了设置不适用于特定打印机的不同属性的错误。但不在套路上。 – 2009-04-10 14:31:42
是的,它是在“设置打印机”行上。源是行编号,并且错误处理程序将Erl值显示为错误消息的一部分。 – 2009-04-10 14:43:09