vba - 使用用户表单将工作表导出为单独的文件并浏览文件路径
问题描述
我知道以前也有人问过将工作表导出为单独的文件。我检查了这些答案,但找不到解决问题的方法,因此提出了新问题。
代码 :
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
使用上面的代码和用户表单,我可以完美地工作。我不知道 and 的 FileFormatNum csv
,txt
因此我无法为这两个文件格式创建 if 循环。
我需要你的帮助。我需要在用户窗体中创建一个组合框,指定大约 15 种文件格式。此外,还有一个文件浏览按钮来选择导出文件夹。用户同时进行选择(文件格式和导出文件夹的位置)。
我创建了用户表单:
- 单击浏览按钮时,应打开一个选择文件夹对话框,用户从中选择一个文件夹以导出工作表。文件夹的路径应显示在浏览按钮旁边的文本框中。
- 组合框将显示 15 种文件格式。从列表中选择任何一个时,将使用该文件扩展名导出工作表。
我该怎么做?我做不到。请任何人。只要给我一个推动,我会完成它。
解决方案
用于 csv 和 txt 的 FileFormatNum 在这里。
- CSV : 20
- txt (Unicode) : 42
https://msdn.microsoft.com/en-us/VBA/Excel-VBA/articles/xlfileformat-enumeration-excel
要轻松查找 xlfileformat,只需转到 VB 窗口中的对象浏览器(按 F2),然后在“搜索文本”框中键入 xlFileFormat。
推荐阅读
- excel - 捕获数据,然后在现有代码中创建循环
- node.js - BotFrameworkAdapter 缺少活动类型 - 在本地调试 Messenger
- sql - 从没有键的非规范化数据库中查询许多表
- c# - DataBindings 未使用 OnPropertyChanged 更新
- sql - 如果所有值都满足条件则返回
- oauth-2.0 - 资源服务器如何与 OAuth 2.0 中的身份验证服务器绑定
- javascript - Vuejs:在多个页面上使用的共享组件消失了
- react-native - 使用 Native Base Content 结构时如何修复 IOS 中的“KeyboardAvoidingView”
- r - 如何同时对值和名称进行子集化
- javascript - 带有 Google Maps JS API 地点详细信息的无限循环调用“open_now”