VB调用EXCEL打印报表的小问题
为什么我调用了EXCEL设置了XLAPP.VISIBER=FALSE,把应用程序设置不可见,然后在PRINTPRIVIEW的时候就会出现应用程序忙,、什么转到,重试的一类的话呢,还有一个问题,我用PRINTPRIVIEW的时候怎么在没有打印机的情况下也执行QUIT呢,退出EXCEL.
还有一个问题,怎么通过VB设置页面设置里面的页眉页脚呢?
谢谢阿,我是新手,多谢大家帮助
源码如下;
Private Sub 打印标签_Click()
Dim xlApp As excel.Application
Dim xlbook As excel.Workbook
Dim xlsheet As excel.Worksheet
Set xlApp = New excel.Application
Dim lngCount As Long
'Set xlApp = CreateObject("Excel.Application")
'激活EXCEL应用程序
Dim strSource, strDestination As String
strSource = App.Path & "\baobiao.xls"
'RegisterFee.xls就是一个模版文件
strDestination = App.Path & "\Temp.xls"
FileCopy strSource, strDestination
xlApp.Visible = True '隐藏EXCEL应用程序窗口
'Set xlbook = xlApp.Workbooks.Open(strDestination)
'打开工作簿,strDestination为一个EXCEL报表文件
'Set xlsheet = xlbook.Worksheets(1)
Set xlbook = xlApp.Workbooks.Open(strDestination)
Set xlsheet = xlApp.Worksheets(1)
With xlsheet.PageSetup
.PaperSize = xlPaperA4 'A4纸
.Orientation = xlLandscape '横向
.LeftMargin = 0
.RightMargin = 0
.TopMargin = 0
.BottomMargin = 0
End With
adoRst.MoveFirst
With xlsheet
For lngCount = 1 To 11
.Columns(lngCount).HorizontalAlignment = xlHAlignCenter
.Columns(lngCount).VerticalAlignment = xlVAlignCenter
Next
For lngCount = 1 To adoRst.RecordCount
.Cells(lngCount, 2) = adoRst!身份性质
.Cells(lngCount, 4) = adoRst!档号
If Len(adoRst!姓名) = 2 Then
.Cells(lngCount, 6) = Mid(adoRst!姓名, 1, 1)
.Cells(lngCount, 8) = Mid(adoRst!姓名, 2, 1)
ElseIf Len(adoRst!姓名) = 3 Then
.Cells(lngCount, 6) = Mid(adoRst!姓名, 1, 1)
.Cells(lngCount, 7) = Mid(adoRst!姓名, 2, 1)
.Cells(lngCount, 8) = Mid(adoRst!姓名, 3, 1)
ElseIf Len(adoRst!姓名) = 4 Then
.Cells(lngCount, 6) = Mid(adoRst!姓名, 1, 1)
.Cells(lngCount, 7) = Mid(adoRst!姓名, 2, 1)
.Cells(lngCount, 8) = Mid(adoRst!姓名, 3, 1)
.Cells(lngCount, 9) = Mid(adoRst!姓名, 4, 1)
End If
.Cells(lngCount, 11) = adoRst!出生时间
adoRst.MoveNext
Next
End With
xlApp.DisplayAlerts = False
xlsheet.PrintPreview '执行打印
xlbook.Close
xlApp.Quit
Set xlsheet = Nothing
Set xlbook = Nothing
Set xlApp = Nothing
End Sub
补充:VB , 数据库(包含打印,安装,报表)