老是说91错误,好像偶有几次也能通过,百思不解,恳请帮助作者: 盗到稻 时间: 2007-11-28 19:56
原代码如下:
Dim i As Integer, lblName As String, j As Integer
Dim TP(15) As String
Dim xlApp As Excel.Application '定义EXCEL类
Dim xlBook As Excel.Workbook '定义工件簿类
Dim xlSheet As Excel.Worksheet '定义工作表类
For i = 1 To 15
lblName = "Label" & Format(i, "00")
If Me.Child0.Form(lblName).Visible = True Then
TP(i) = Me.Child0.Form(lblName).Caption
j = i
Else
Exit For
End If
Next i
'导出到Excel
Dim stDocName As String
stDocName = ChrW(23548) & ChrW(20986) & ChrW(69) & ChrW(120) & ChrW(99) & ChrW(101) & ChrW(108)
DoCmd.OutputTo acForm, "StarShow", "MicrosoftExcelBiff8(*.xls)", "", True, "", 0
'导出的数据标题不直观
'修改Excel中第一列的标题
Set xlSheet = ActiveSheet
Set xlSheet = Nothing
Set xlApp = Nothing
Set xlBook = Nothing
Erase TP '回收数组
[ 本帖最后由 盗到稻 于 2007-11-28 19:57 编辑 ]作者: tmtony 时间: 2007-11-29 09:44
中间代码修改如下:
Dim xlApp As Excel.Application '定义EXCEL类
Dim xlBook As Excel.Workbook '定义工件簿类
Dim xlSheet As Excel.Worksheet '定义工作表类
'For i = 1 To 15
' lblName = "Label" & Format(i, "00")
' If Me.Child0.Form(lblName).Visible = True Then
' TP(i) = Me.Child0.Form(lblName).Caption
' j = i
' Else
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As Long) As Long
'判断Excel是已经打开
Dim hWnd As Long
hWnd = FindWindow("XLMAIN", 0)
If hWnd = 0 Then
Set xlApp = New Excel.Application
End If
另外王站你说的Sleep函数是不是延时功能的?是不是类似下面的?
Private Declare Function timeGetTime Lib "winmm.dll" () As Long '
Public Function atSleep(WaitDate As Integer)
Dim Savetime As Double
Savetime = timeGetTime '记下开始时的时间
While timeGetTime < Savetime + WaitDate
DoEvents
Wend