那这个Index如何确定?Public Function SetPrinter(Index As Integer) As Integer If Printers.Count < 1 Then
MsgBox "系统没有安装打印机!", vbCritical, App.Title
SetPrinter = -1
Exit Function
End If
On Error GoTo setErr
Set Printer = Printers(Index)
Exit Function
setErr: '这里我想设置打印机为默认打印机,请问“?”的值该是多少(假设安装了两台打印机)?
Set Printer = Printers("?")
MsgBox "打印机设置错误!将使用系统默认打印机打印当前文件。", vbCritical, App.Title
End Function
MsgBox "系统没有安装打印机!", vbCritical, App.Title
SetPrinter = -1
Exit Function
End If
On Error GoTo setErr
Set Printer = Printers(Index)
Exit Function
setErr: '这里我想设置打印机为默认打印机,请问“?”的值该是多少(假设安装了两台打印机)?
Set Printer = Printers("?")
MsgBox "打印机设置错误!将使用系统默认打印机打印当前文件。", vbCritical, App.Title
End Function
需要时在Printers中找到那个打印机.
If Printers.Count > 0 Then
DefaultPrinterName = Printer.DeviceName
End IfEnd Sub
Public Function SetPrinter(Index As Integer) As Integer
Dim X As Printer, I As Integer
If Printers.Count < 1 Then
MsgBox "系统没有安装打印机!", vbCritical, App.Title
SetPrinter = -1
Exit Function
End If
On Error GoTo setErr
Set Printer = Printers(Index)
SetPrinter = Index
Exit Function
setErr:
For Each X In Printers
If X.DeviceName = DefaultPrinterName Then
'停止寻找打印机。
Exit For
End If I = I + 1 '我就是要得到这个I,这个I是要保存的! Next
SetPrinter = I
Set Printer = Printers(I)
MsgBox "打印机设置错误!将使用系统默认打印机打印当前文件。", vbCritical, App.TitleEnd Function'别处调用
Private Sub CmdPrint_Click If SetPrinter(BBPrinter) < 0 Then'没有打印机
Exit Sub
else
BBPrinter=SetPrinter
sReg = Chng_IniKey("打印机", "报表打印机", BBPrinter, iniFilePath)
End If '.....用获得的打印机继续打印end sub
'别处调用
Private Sub CmdPrint_Click BBPrinter = SetPrinter(BBPrinter)
If BBPrinter < 0 Then '没有打印机
Exit Sub
Else
sReg = Chng_IniKey("打印机", "报表打印机", BBPrinter, iniFilePath)'保存到配置文件
End If
'.....用获得的打印机继续打印end sub
Win98系统,何解?在家里测试好好的。