'********************************
' 该模块用来实现各种打印功能
'********************************
'打印到excel中
Public Function print2Excel() As Boolean
' On Error GoTo Print2Excel_Error
Dim xlApp As Excel.Application
Dim i, j ,colums As Integer
Dim startRow, startCol As Integer
Dim tmp() As Variant
startRow = 1
startCol = 1
colums =10
Set xlApp = New Excel.Application '注意之前,要在工程-》引用中将支持excel的控件加载进来
Set xlApp = CreateObject("Excel.Application") '激活EXCEL应用程序
xlApp.Visible = False '隐藏或显示EXCEL应用程序窗口
xlApp.SheetsInNewWorkbook = 1 '打开工作簿,strDestination为一个EXCEL报表文件
Set xlBook = xlApp.Workbooks.Add '打开工作簿,strDestination为一个EXCEL报表文件
Set xlSheet = xlBook.Worksheets(1)
xlSheet.PageSetup.Orientation = g_Print_Method
'设置打印数据 g_Print_Data是一个Variant的二维数组,这个你要根据自己的情况作修改
For i = LBound(g_Print_Data) To UBound(g_Print_Data)
For j = LBound(g_Print_Title) To colums - 1
'xlSheet.Cells(startRow, i + startCol).Width = Len(CStr(" " &g_Print_Data(i,j) &" "))
、 Next
Next
'页面设置 g_Preview为全局变量,是否要求预览
If g_Preview = True Then
xlApp.Caption = "打印预览" '设置预览窗口的标题
xlApp.Visible = True '隐藏或显示EXCEL应用程序窗口
xlApp.ActiveSheet.PrintPreview
Else
xlSheet.PrintOut '执行打印
End If
xlApp.DisplayAlerts = False
xlApp.Quit '退出EXCEL
xlApp.DisplayAlerts = True
' xlBook.Save '保存文件
print2Excel = True
Exit Function
Print2Excel_Error:
print2Excel = False
End Function
vb的printer好像不能设置打印机...只能用api选择打印机,或者只使用默认API的话可以用 OpenPrinter
VB声明
Declare Function OpenPrinter Lib "winspool.drv" Alias "OpenPrinterA" (ByVal pPrinterName As String, phPrinter As Long, pDefault As PRINTER_DEFAULTS) As Long
说明
打开指定的打印机,并获取打印机的句柄
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
pPrinterName String,要打开的打印机的名字
phPrinter Long,用于装载打印机的句柄
pDefault PRINTER_DEFAULTS,这个结构保存要载入的打印机信息
Type PRINTER_DEFAULTS
pDatatype As String '打印机使用的默认数据类型的名字。可设为vbNullString,表示使用当前的默认配置
pDevMode As Long'打印机默认配置信息的一个地址。可设为零,表示使用当前默认设置
DesiredAccess As Long '一个常规的安全值
End Type
Dim PD As PRINTER_DEFAULTS
Dim phand As Long '用于装载打印机的句柄
Dim pname As String '打印机型号
pname = Printer.DeviceName '获得打印机型号,自己输入也成,不输入好像也可以
f OpenPrinter(pname, phand, PD) <>1 Then '打开指定的打印机,并获取打印机的句柄。
MsgBox "打印机出现连接故障!", vbOKOnly, "错误提示"
Exit Sub
End If
有了句柄,就能用API命令随意控制打印机了。
你有没有添加excel的引用?在VB工程中添加对Excel类型库的引用
为了能从VB应用程序中访问Excel丰富的内部资源,使Excel应用程序运行得更快,需要在VB工程中添加对Excel类型库的引用。具体步骤如下:
a)从VB5“工程”菜单中选择“引用”;
b) 在“引用”对话框中选择Excel类型库:"Microsoft Excel9.0 Object Library";
c)单击左边小方框,使之出现“√”符号;
d)按“确定”退出。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)