|
楼主 |
发表于 2017-6-19 15:27
|
显示全部楼层
先谢谢您回复
下面就是源码
这个按钮的作用挺简单,就是将窗体中llistview1控件中的数据导出,选择的路径后生成的新工作簿中的sheet1,就是不知道为何一运行就出错!
下面是源代码,您过过目
Private Sub CommandButton9_Click()
'On Error Resume Next
Dim Filename As Variant
Dim wk As Workbook
Dim sh As Worksheet
Dim i As Long
Dim j As Long
Dim ofilename
Dim dpath As String
'Application.ScreenUpdating = False
Application.EnableCancelKey = xlDisabled '禁止Ctrl+Break该事件的发生
Filename = Application.GetSaveAsFilename(FileFilter:="Excel 工作簿文件 (*.xls),*.xls", Title:="请输入文件名")
If Filename <> False Then
For Each wk In Workbooks
If wk.Name = Right(Filename, Len(wk.Name)) Then MsgBox "对不起,请不要与正在打开的文件同名!", 6 + 64, "注意:": Exit Sub
Next
If Dir(Filename) <> "" Then
If MsgBox("你所添加的文件已存在,是否更新?", 64 + vbYesNo, "提醒:") = vbNo Then Exit Sub
End If
Set wk = Workbooks.Add
Application.DisplayAlerts = False
wk.SaveAs Filename
Set sh = wk.Sheets(1)
With ListView1
For i = 1 To .ColumnHeaders.Count
sh.Cells(1, i) = .ColumnHeaders.Item(i) '将栏目头内容写入生成的工作表
Next i
For i = 1 To .ListItems.Count
sh.Cells(i + 1, 1) = .ListItems(i).Text '将控件内数据第一列写入工作表
Next i
For i = 1 To .ListItems.Count
For j = 1 To .ColumnHeaders.Count
sh.Cells(i + 1, j + 1) = .ListItems(i).SubItems(j) '将余下的控件数据写入工作表
Next j
Next i
End With
wk.Save
wk.Close
Set sh = Nothing: Set wk = Nothing
Unload UserForm1
End If
End Sub
|
|