|
本帖最后由 yangyangzhifeng 于 2012-12-16 10:57 编辑
找了一下,好像论坛还没有完整的方法,算是抛砖引玉吧!
为什么整这个,因为有时需要为每个工作表指定不一样的打印机,而后批量打印
http://club.excelhome.net/forum.php?mod=viewthread&tid=957782&page=1#pid6565472
上面这个链接,就提出了这种要求。
worksheets("????").PrintOut ActivePrinter:=???像这样调用就好了
- Sub allprinter()
- Dim i&, ws As Object, st$, ptn$, arr() As String, n&
- Set ws = CreateObject("wscript.network")
- st = Application.ActivePrinter '保存系统默认打印机
- n = ws.EnumPrinterConnections.Count
- ReDim arr(1 To n / 2)
- For i = 1 To n - 1 Step 2
- ptn = ws.EnumPrinterConnections.Item(i) '打印机名称
- ws.SetDefaultPrinter ptn
- If InStr(st, ptn) Then st = ptn
- arr((i - 1) / 2 + 1) = Application.ActivePrinter
- Next
- ws.SetDefaultPrinter st '恢复系统默认打印机
- End Sub
复制代码
|
评分
-
2
查看全部评分
-
|