Foxtable(狐表)用户栏目专家坐堂 → 怎么判断指定的打印机是否存在,请教老师


  共有9892人关注过本帖树形打印复制链接

主题:怎么判断指定的打印机是否存在,请教老师

帅哥哟,离线,有人找我吗?
mamuaiqing
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:824 积分:6294 威望:0 精华:0 注册:2012/3/1 3:17:00
怎么判断指定的打印机是否存在,请教老师  发帖心情 Post By:2013/1/17 20:17:00 [显示全部帖子]

做了张打印机的表,代码如下:

Dim x As String = Tables("打印参数")(0)("打印机")

Doc.PrinterName = "x"

 

想在代码执行前先判断 指定的"X"打印机名是否存在,也就是跟电脑连接上没,代码该怎么写?


 回到顶部
帅哥哟,离线,有人找我吗?
mamuaiqing
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:824 积分:6294 威望:0 精华:0 注册:2012/3/1 3:17:00
  发帖心情 Post By:2013/1/17 20:18:00 [显示全部帖子]

上面代码是按专业报表执行,不是窗口

 回到顶部
帅哥哟,离线,有人找我吗?
mamuaiqing
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:824 积分:6294 威望:0 精华:0 注册:2012/3/1 3:17:00
  发帖心情 Post By:2013/1/18 19:26:00 [显示全部帖子]

代码试半天搞不清楚,求教老师下

Dim ptn As String = Tables("打印参数")(0)("打印机")

Dim s As String = ""
For Each p As String In InstalledPrinters
    s = s & p & "|"
Next
s = s.trimEnd("|","")

If ptn <> s Then
    MessageBox.Show("未找到打印机!","温馨提示!",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If

 

上面的代码不行,执行后打印机是连着的但还是出现提示, If ptn <> s Then 这行判断代码不知道怎么写

 

\\Microsof-acfe67\DPK770E这是网络打印机名,保存到了"打印参数"表



 回到顶部
帅哥哟,离线,有人找我吗?
mamuaiqing
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:824 积分:6294 威望:0 精华:0 注册:2012/3/1 3:17:00
  发帖心情 Post By:2013/1/19 10:29:00 [显示全部帖子]

感谢林老师,再请教下dim canNotFind as boolean = True这行代码是代表什么?

 回到顶部
帅哥哟,离线,有人找我吗?
mamuaiqing
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:824 积分:6294 威望:0 精华:0 注册:2012/3/1 3:17:00
  发帖心情 Post By:2013/1/19 10:45:00 [显示全部帖子]

没实现.........执行的话都是未找到打印机

Dim ptn As String = Tables("打印参数")(0)("打印机")

Dim s As String = ""
Dim canNotFind As Boolean = True
For Each p As String In InstalledPrinters
    If ptn = s Then
        canNotFind = False
    End If
Next
If canNotFind  Then
    MessageBox.Show("未找到打印机!","温馨提示!",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If


 回到顶部
帅哥哟,离线,有人找我吗?
mamuaiqing
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:824 积分:6294 威望:0 精华:0 注册:2012/3/1 3:17:00
  发帖心情 Post By:2013/1/20 0:23:00 [显示全部帖子]

林老师的代码执行的时候发现几个问题

 

1.代码执行后实现了判断的打印机名称,但没判断出连接状态,比如以DPK770E打印机为例,打印机电源关着也就是没连接上指定的打印机,并不会出现"未找到打印机"的提示

 

2.当为网络打印机的时候判断的名称不符合,比如网络打印机名为 \\Microsof-acfe67\DPK770E ,如果打印机名就输入DPK770E的话就出现了"未找到打印机"的提示,而在报表代码执行的

 

时候打印机名为DPK770E的话也能按照名称寻找到打印机进行打印


 回到顶部
帅哥哟,离线,有人找我吗?
mamuaiqing
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:824 积分:6294 威望:0 精华:0 注册:2012/3/1 3:17:00
  发帖心情 Post By:2013/1/20 0:25:00 [显示全部帖子]

以下是引用程兴刚在2013-1-19 12:36:00的发言:
估计楼主是要从已经安装的打印机中自动找到已经连接的打印机,这个foxtable本身好像没有提供,估计要用到VB.net的其他知识。

 

都没接触过VB.net知识,基础都没....狂汗

 

学生知道程老师前段时间对打印机这块也进行了研究,能否指导下....


 回到顶部
帅哥哟,离线,有人找我吗?
mamuaiqing
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:824 积分:6294 威望:0 精华:0 注册:2012/3/1 3:17:00
  发帖心情 Post By:2013/1/21 17:40:00 [显示全部帖子]

感谢林老师多次帮助,这行代码在命令窗口执行后感觉挺怪的,什么情况再汇报给林老师,希望林老师能再次帮助下

 

FalseTrue
TrueTrue
FalseTrue
FalseTrue
FalseTrue


 回到顶部