我知道也曾要求将导出工作表作为单独的文件。我检查了这些答案,但找不到解决问题的方法,因此提出了新问题。
代码:
Private Sub cancel_button_Click()
Unload Me
End Sub
Private Sub export_button_Click()
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim xWs As Worksheet
Dim xWb As Workbook
Dim FolderName As String
Application.ScreenUpdating = False
Set xWb = Application.ThisWorkbook
DateString = Format(Now, "yyyy-mm-dd hh-mm-ss")
FolderName = xWb.Path & "\" & xWb.Name & " " & DateString
MkDir FolderName
For Each xWs In xWb.Worksheets
xWs.Copy
If xlsx = True Then
FileExtStr = ".xlsx": FileFormatNum = 51
Unload Me
ElseIf xlsm = True Then
FileExtStr = ".xlsm": FileFormatNum = 52
Unload Me
ElseIf xls = True Then
FileExtStr = ".xls": FileFormatNum = 56
Unload Me
ElseIf xlsb = True Then
FileExtStr = ".xlsb": FileFormatNum = 50
Unload Me
End If
xFile = FolderName & "\" & Application.ActiveWorkbook.Sheets(1).Name & FileExtStr
Application.ActiveWorkbook.SaveAs xFile, FileFormat:=FileFormatNum
Application.ActiveWorkbook.Close False
Next
MsgBox "You can find the files in " & FolderName
Application.ScreenUpdating = True
End Sub
使用上面的代码和用户窗体,我可以完美地工作。我不知道csv
和txt
的FileFormatNum,因此无法为这两个文件格式创建if循环。
我需要你的帮助。我需要在userform中创建一个组合框,指定大约15种文件格式。还有一个文件浏览按钮,用于选择导出文件夹。用户同时进行选择(文件格式和要导出的文件夹的位置)。
我已经创建了用户表单:
我该怎么办?我做不到。请任何人。只需推一下我,我就结束了。
答案 0 :(得分:1)
csv和txt的FileFormatNum在这里。
https://msdn.microsoft.com/en-us/VBA/Excel-VBA/articles/xlfileformat-enumeration-excel
要轻松查找xlfileformat,只需转到VB窗口中的对象浏览器(按F2),然后在“搜索文本”框中键入xlFileFormat。