Windows 7 Can';在Windows 7上,我不能在VB6中获得错误,而在Windows Xp上我可以
我必须纠正用VB6编写的程序中的一些问题 当我尝试以XPS类型打印文件,然后关闭文件夹选择框时,程序会显示“运行时错误482” 因此,我决定通过以下方式获得错误:Windows 7 Can';在Windows 7上,我不能在VB6中获得错误,而在Windows Xp上我可以,windows-7,vb6,windows-xp,Windows 7,Vb6,Windows Xp,我必须纠正用VB6编写的程序中的一些问题 当我尝试以XPS类型打印文件,然后关闭文件夹选择框时,程序会显示“运行时错误482” 因此,我决定通过以下方式获得错误: On Error GoTo Error_Handler 它在Windows XP上工作,运行时错误不会出现,但在Windows 7(64位)下,程序没有响应 我不知道为什么它在一边起作用而在另一边不起作用 我曾尝试在Windows7上运行与WindowsXP兼容的软件,但不起作用 Public Sub Print_All_Click
On Error GoTo Error_Handler
它在Windows XP上工作,运行时错误不会出现,但在Windows 7(64位)下,程序没有响应
我不知道为什么它在一边起作用而在另一边不起作用
我曾尝试在Windows7上运行与WindowsXP兼容的软件,但不起作用
Public Sub Print_All_Click()
Dim prntLePrinter As Printer
Dim iI As Integer
For Each prntLePrinter In Printers
iI = iI + 1
Next
On Error GoTo Error_Handler
If (iI > 0) Then
MousePointer = vbHourglass
'CD Référence d'échelle pour l'imprimante
Printer.ScaleHeight = 100
Printer.ScaleWidth = 100
'CD Configuration de la font
Printer.FontName = "Arial"
Printer.FontSize = 8
Printer.FontBold = False
Printer.FontItalic = False
Printer.FontUnderline = False
Printer.FontStrikethru = False
Printer.FontTransparent = True
Printer.Font.Charset = 0
If g_nbSessions = 1 Then 'Mode NORMAL
PrintHEADER
PrintGeneral
PrintExceedances
PrintEpc
PrintAlarms
PrintMfdPages
PrintEndReport
Else 'Mode CUMUL
PrintHEADERCumul
PrintCUMUL
PrintEndReportCumul
End If
Printer.EndDoc
MousePointer = vbDefault
Else
MsgBox "No printer installed !", vbOKOnly, Frm_Main.Caption
End If
Error_Handler:
If MousePointer <> vbDefault Then
MousePointer = vbDefault
End If
End Sub
Public Sub-Print\u All\u Click()
将打印机设置为打印机
作为整数的Dim iI
对于打印机中的每个打印机
iI=iI+1
下一个
关于错误转到错误处理程序
如果(iI>0),则
鼠标指针=V沙漏
“和平进程CD”
Printer.ScaleHeight=100
Printer.ScaleWidth=100
'CD配置de la字体
Printer.FontName=“Arial”
Printer.FontSize=8
Printer.FontBold=False
Printer.FontItalic=False
Printer.FontUnderline=False
Printer.fontstrickethru=False
Printer.FontTransparent=True
Printer.Font.Charset=0
如果g_nbSessions=1,则“模式正常”
打印头
印刷将军
印刷超标
打印EPC
打印报警
打印MFDPages
PrintEndReport
埃尔斯模式
打印头
印刷体
PrintEndReportCumul
如果结束
打印机.EndDoc
MousePointer=vbDefault
其他的
MsgBox“未安装打印机!”,vbOKOnly,Frm_Main.Caption
如果结束
错误\u处理程序:
如果鼠标指针为默认值,则
MousePointer=vbDefault
如果结束
端接头
我找到了解决办法
在处理错误后,我必须使用“清除”来明确清除Err对象,然后当我想关闭“选择文件夹框”时,程序会在Windows XP和Windows 7上正确关闭它
因此,如果在错误上使用转到错误处理程序
不要忘记使用:
Error_Handler:
以及:
我现在的代码:
Public Sub Print_All_Click()
Dim prntLePrinter As Printer
Dim iI As Integer
For Each prntLePrinter In Printers
iI = iI + 1
Next
On Error GoTo Error_Handler
If (iI > 0) Then
MousePointer = vbHourglass
'CD Référence d'échelle pour l'imprimante
Printer.ScaleHeight = 100
Printer.ScaleWidth = 100
'CD Configuration de la font
Printer.FontName = "Arial"
Printer.FontSize = 8
Printer.FontBold = False
Printer.FontItalic = False
Printer.FontUnderline = False
Printer.FontStrikethru = False
Printer.FontTransparent = True
Printer.Font.Charset = 0
If g_nbSessions = 1 Then 'Mode NORMAL
PrintHEADER
PrintGeneral
PrintExceedances
PrintEpc
PrintAlarms
PrintMfdPages
PrintEndReport
Else 'Mode CUMUL
PrintHEADERCumul
PrintCUMUL
PrintEndReportCumul
End If
Printer.EndDoc
MousePointer = vbDefault
Else
MsgBox "No printer installed !", vbOKOnly, Frm_Main.Caption
End If
Error_Handler:
Err.Clear
If MousePointer <> vbDefault Then
MousePointer = vbDefault
End If
End Sub
Public Sub-Print\u All\u Click()
将打印机设置为打印机
作为整数的Dim iI
对于打印机中的每个打印机
iI=iI+1
下一个
关于错误转到错误处理程序
如果(iI>0),则
鼠标指针=V沙漏
“和平进程CD”
Printer.ScaleHeight=100
Printer.ScaleWidth=100
'CD配置de la字体
Printer.FontName=“Arial”
Printer.FontSize=8
Printer.FontBold=False
Printer.FontItalic=False
Printer.FontUnderline=False
Printer.fontstrickethru=False
Printer.FontTransparent=True
Printer.Font.Charset=0
如果g_nbSessions=1,则“模式正常”
打印头
印刷将军
印刷超标
打印EPC
打印报警
打印MFDPages
PrintEndReport
埃尔斯模式
打印头
印刷体
PrintEndReportCumul
如果结束
打印机.EndDoc
MousePointer=vbDefault
其他的
MsgBox“未安装打印机!”,vbOKOnly,Frm_Main.Caption
如果结束
错误\u处理程序:
呃,明白了
如果鼠标指针为默认值,则
MousePointer=vbDefault
如果结束
端接头
使用iI=打印机。对每个循环计数而不是第一个。哪种方法会跳转到XP上的错误处理程序?谢谢你的回答,但我找到了解决问题的方法。
Public Sub Print_All_Click()
Dim prntLePrinter As Printer
Dim iI As Integer
For Each prntLePrinter In Printers
iI = iI + 1
Next
On Error GoTo Error_Handler
If (iI > 0) Then
MousePointer = vbHourglass
'CD Référence d'échelle pour l'imprimante
Printer.ScaleHeight = 100
Printer.ScaleWidth = 100
'CD Configuration de la font
Printer.FontName = "Arial"
Printer.FontSize = 8
Printer.FontBold = False
Printer.FontItalic = False
Printer.FontUnderline = False
Printer.FontStrikethru = False
Printer.FontTransparent = True
Printer.Font.Charset = 0
If g_nbSessions = 1 Then 'Mode NORMAL
PrintHEADER
PrintGeneral
PrintExceedances
PrintEpc
PrintAlarms
PrintMfdPages
PrintEndReport
Else 'Mode CUMUL
PrintHEADERCumul
PrintCUMUL
PrintEndReportCumul
End If
Printer.EndDoc
MousePointer = vbDefault
Else
MsgBox "No printer installed !", vbOKOnly, Frm_Main.Caption
End If
Error_Handler:
Err.Clear
If MousePointer <> vbDefault Then
MousePointer = vbDefault
End If
End Sub