================================================================================
注意:这个需要安装Adobe PDF 虚拟打印机(装完后应该在你的打印机列表中出现一个名称为Adobe PDF的打印机
Option Explicit
'----------------------------------------------------------------------------------------
'
Const HWND_BROADCAST = &HFFFF&
Const WM_WININICHANGE = &H1A
Private Declare Function GetProfileString Lib "kernel32 " Alias "GetProfileStringA " (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long
Private Declare Function WriteProfileString Lib "kernel32 " Alias "WriteProfileStringA " (ByVal lpszSection As String, ByVal lpszKeyName As String, ByVal lpszString As String) As Long
Private Declare Function SendMessage Lib "user32 " Alias "SendMessageA " (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
'---------------------------------------------------------------------------------------
Private Sub cmdExportToPdf_Click()
Dim i As Long
Dim gFlag As Boolean
Dim strDefaultPrinterName As String
Dim PrinterName As String
strDefaultPrinterName = Printer.DeviceName
'判断有没有安装打印机
If strDefaultPrinterName = " " Then
MsgBox "没有安装打印机! " vbExclamation + vbOKOnly, Me.Caption
Exit Sub
End If
'-----------------------------------------------------------------------
'判断所有打印机列表中有没有Adobe PDF 打印机
gFlag = False
For i = 0 To Printers.count - 1
If Printers(i).DeviceName = "Adobe PDF " Then
gFlag = True
Exit For
End If
Next i
If gFlag = False Then
MsgBox "没有安装 Adobe PDF 打印机!! ", vbExclamation + vbOKOnly, Me.Caption
Exit Sub
End If