| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 552 人关注过本帖, 1 人收藏
标题:打印机名称赋值错误
只看楼主 加入收藏
w360989426
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:228
专家分:301
注 册:2013-11-12
结帖率:84%
收藏(1)
已结贴  问题点数:50 回复次数:9 
打印机名称赋值错误
图片附件: 游客没有浏览图片的权限,请 登录注册

我有2个打印机,\\192.168.0.37\EPSON LQ-730K ESC/P2 与 \\192.168.0.4\hp LaserJet 1010
当我将\\192.168.0.4\hp LaserJet 1010设为默认打印机时,出现以下画面,让我选择打印机
我选择了\\192.168.0.37\EPSON LQ-730K ESC/P2,但是最后到类模块这段赋值错误
vb_print.rar (6.89 KB)

图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

不等于\\192.168.0.37\EPSON LQ-730K ESC/P2,错误,
此段代码为strNewPrinterName = UCase$(Left(DevMode.dmDeviceName, _
                        InStr(DevMode.dmDeviceName, Chr$(0)) - 1))
这段代码影响后面的判断
   For Each objPrinter In Printers
        If UCase$(objPrinter.DeviceName) = strNewPrinterName Then _
          Set Printer = objPrinter
      Next
求指导谢谢
不知为什么,还请大师指导一下,



[ 本帖最后由 w360989426 于 2014-3-24 12:25 编辑 ]
搜索更多相关主题的帖子: 打印机 
2014-03-24 12:19
w360989426
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:228
专家分:301
注 册:2013-11-12
收藏
得分:0 
大侠们,来救救我啊
2014-03-24 16:48
w360989426
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:228
专家分:301
注 册:2013-11-12
收藏
得分:0 
选择\\192.168.0.4\hp LaserJet 1010不会出现这样的错误,就是选择\\192.168.0.37\EPSON LQ-730K ESC/P2会出现这样的错误,这是为什么啊。。版主来救救啊
2014-03-24 19:59
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
收藏
得分:25 
你首先得确认在系统下EPSON LQ-730K ESC/P2能打印,其次你把EPSON LQ-730K ESC/P2随便改个名字试试,也许在vb里“/”会当作路径分隔符。
没有条件实验,纯分析。
2014-03-24 20:54
w360989426
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:228
专家分:301
注 册:2013-11-12
收藏
得分:0 
回复 4楼 lowxiong
版主,您好,我已经将ESC/P2 给去掉了,结果测试正常,但是有一个问题,我自己明白,但是我开发给别人用,并不能跟别人说把打印机名字改一下才能用,别人不懂这个东西,敢问版主还有其他方法可以解决这个问题!
2014-03-25 14:29
w360989426
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:228
专家分:301
注 册:2013-11-12
收藏
得分:0 
回复 4楼 lowxiong
版主,有解决方法吗?
2014-03-25 19:53
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
收藏
得分:0 
没环境做实验,一下给不出答案。
一般来说,本机打印机是不会出现这种情况的,而网络打印机规则上命名不能输入“/ \”的,不知道你的为什么会出现这种情况。
2014-03-25 20:24
w360989426
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:228
专家分:301
注 册:2013-11-12
收藏
得分:0 
回复 7楼 lowxiong
应该不会啊。。那前面的IP地址不是没有发生错误么
2014-03-25 21:51
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:25 
估计是按 C++ 的转义来的。

\\  取消转意,
\字母  代表一个意思,然后放在字符串里时,转意后给 应用。然后就错误了。。。。

如果是这种,只有一种解决办法。你去翻一下 C++ 的转意代码,然后把转意表放到你应用里。
如果发现打印机名里包含 \字母  ,或者转意后的不可打印字母, 查这个表,进行还原成 不转意之前的内容。

-------------------
你自己测试一下吧,我们没这个环境测试。
仅仅是猜测。

授人于鱼,不如授人于渔
早已停用QQ了
2014-03-26 08:58
w360989426
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:228
专家分:301
注 册:2013-11-12
收藏
得分:0 
好吧
2014-03-26 18:16
快速回复:打印机名称赋值错误
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033943 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved