我使用下面的过程来作的:
Public Sub OutDataToExcel(Flex As MSFlexGrid) '导出至Excel
Dim s As String
Dim i As Integer
Dim j As Integer
Dim k As Integer
On Error GoTo Ert
Me.MousePointer = 11
Dim Excelapp As Excel.Application
Set Excelapp = New Excel.Application
On Error Resume Next
DoEvents
Excelapp.SheetsInNewWorkbook = 1
Excelapp.Workbooks.Add
Excelapp.ActiveSheet.Cells(1, 3) = s
Excelapp.Range("C1").Select
Excelapp.Selection.Font.FontStyle = "Bold"
Excelapp.Selection.Font.Size = 16
With Flex
k = .Rows
For i = 0 To k - 1
For j = 0 To .Cols - 1
DoEvents
Excelapp.ActiveSheet.Cells(3 + i, j + 1) = "'" & .TextMatrix(i, j)
Next j
Next i
End With
Me.MousePointer = 0
Excelapp.Visible = True
Excelapp.Sheets.PrintPreview
Ert:
If Not (Excelapp Is Nothing) Then
Excelapp.Quit
End If
End Sub但是我在表单的按钮中处理时,显示“数据类型不匹配”
Private Sub Command1_Click()
OutDataToExcel (lstsip)
End Sub
这里的lstsip是表单的一个msflexgrid控件的名称。
如果把Public Sub OutDataToExcel(Flex As MSFlexGrid) 换成OutdataToExcel(flex)就不提示出错,但导不出数据,只有第一行能发现变动。请问高手,这是怎么回事?急急急!!
Public Sub OutDataToExcel(Flex As MSFlexGrid) '导出至Excel
Dim s As String
Dim i As Integer
Dim j As Integer
Dim k As Integer
On Error GoTo Ert
Me.MousePointer = 11
Dim Excelapp As Excel.Application
Set Excelapp = New Excel.Application
On Error Resume Next
DoEvents
Excelapp.SheetsInNewWorkbook = 1
Excelapp.Workbooks.Add
Excelapp.ActiveSheet.Cells(1, 3) = s
Excelapp.Range("C1").Select
Excelapp.Selection.Font.FontStyle = "Bold"
Excelapp.Selection.Font.Size = 16
With Flex
k = .Rows
For i = 0 To k - 1
For j = 0 To .Cols - 1
DoEvents
Excelapp.ActiveSheet.Cells(3 + i, j + 1) = "'" & .TextMatrix(i, j)
Next j
Next i
End With
Me.MousePointer = 0
Excelapp.Visible = True
Excelapp.Sheets.PrintPreview
Ert:
If Not (Excelapp Is Nothing) Then
Excelapp.Quit
End If
End Sub但是我在表单的按钮中处理时,显示“数据类型不匹配”
Private Sub Command1_Click()
OutDataToExcel (lstsip)
End Sub
这里的lstsip是表单的一个msflexgrid控件的名称。
如果把Public Sub OutDataToExcel(Flex As MSFlexGrid) 换成OutdataToExcel(flex)就不提示出错,但导不出数据,只有第一行能发现变动。请问高手,这是怎么回事?急急急!!
你检查一下你引用的控件是否正确应该引用 microsoft hierarchical flexgrid 控件哦!然后再使用你的代码如果不行,发消息给我,请注明问题哈!!
Public Sub OutDataToExcel(Flex As Object) '导出至Excel将前面的ON ERROR RESUME NEXT 去了,执行一次,看哪一行出错?