# Re: 做不到预设的印表机

Posted by 纪文和 on May 06, 1999 at 00:58:12:

In Reply to: 做不到预设的印表机 posted by Alex on May 06, 1999 at 00:22:49:

: Dim X As Printer
: For Each X In Printers
: If X.Orientation = vbPRORPortrait Then
: '将印表机设定为系统预设的印表机。
: Set Printer = X
: '停止搜寻印表机。
: Exit For
: End If
: Next

: 如我需要一直用 4L 印表机做预设的印表机，但别的程式要用 LQ300，
: 用以上方法找到印表机，但为何在我印到一半(我用 Debug.Print Printer.DeviceName 检查) ，
: 它会变回 4L (电脑预设的印表机)，令到 LQ300 出现乱码？

我想您的程式码是直接从 MSDN Library Copy 出来的,但是您没有注意到它的说明(程式码寻找所有的可用印表机，---搜寻第一个将页方向设定为直印的印表机---，然后将其设定为预设印表机。)而您的4L印表机刚好方向也是直印, 所以您其实是将4L印表机设为预设印表机了,您应该将程式改成如下:
Dim X As Printer
For Each X In Printers
If X.DeviceName = "LQ300" Then <====
' 设定为系统预设印表机。
Set Printer = X
' 终止寻找印表机。
Exit For
End If
Next

Follow Ups:

- Re: 做不到预设的印表机 Alex 01:13:08 5/06/99 (3)
  - 你是用什么版本的 VB 呢? 小吴 08:40:24 5/06/99 (2)
    - Re: 你是用什么版本的 VB 呢? Alex 00:39:12 5/07/99 (0)
    - 我以前也遇到同一个问题,装sp3立即ok kkcheung 20:24:40 5/06/99 (0)