1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > vba 编写的Excel 批量另存为xls() xlsx pdf csv 工具

vba 编写的Excel 批量另存为xls() xlsx pdf csv 工具

时间:2023-11-27 19:14:58

相关推荐

vba 编写的Excel 批量另存为xls() xlsx pdf csv 工具

多个Excel文件如何批量存成xls格式、格式、格式、格式、xlsx格式 、csv格式、或pdf格式,或格式之间进行转换的工具提供如下:

下面是 vba编写的excel批量转换为 ,xls格式、xlsx格式 、csv格式、或pdf格式的工具。用office打开就可以使用。

使用界面如下:

解压缩,用office的Excel打开《vbaPLLCW.xlsm》文件,启用宏

选择转换文件,ctrl A 本目录下文件全选,注意去掉后缀后不要有名称相同的,不然会报不能打开相同名称工作薄错误。

点击执行,选择另存的目录,注意不要选择原来的目录,默认覆盖目录中已有文件。

下载地址: 点击: 批量转换Excel格式 下载后解压

核心代码:

‘点击执行则将listBox1中的文件执行批量另存为Private Sub CommandButtonRun_Click()Dim saveFolderSel As StringDim saveType As StringsaveFolderSel = SelectFolder()If Len(saveFolderSel) <= 0 ThenMsgBox ("未选择保存的目录")End IfsaveType = GetSaveType()If Len(saveType) <= 0 ThenMsgBox ("未选择保存的文件类型")End IfIf Len(saveType) > 0 And Len(saveFolderSel) > 0 ThensaveFolder.Caption = "另存到:" + saveFolderSelDim allCount As LongallCount = ListBox1.ListCountWith ListBox1For i = 0 To .ListCount - 1LabelShowInfo.Caption = "正在处理第" + Str(i + 1) + "个,总共" + Str(allCount) + "个"Dim filePath As StringfilePath = .List(i)Call SaveAs_DelDefaultMaxRowCol(filePath, saveFolderSel, saveType)LabelShowInfo.Caption = "正在处理第" + Str(i + 1) + "个,总共" + Str(allCount) + "个"NextEnd WithLabelShowInfo.Caption = ""MsgBox ("全部完成,确定后程序退出,记住另存为的目录:" + saveFolderSel)End IfEnd Sub‘按照格式另存为Sub SaveAs_DelDefaultMaxRowCol(file As String, folder As String, saveType As String)Dim fileName As StringfileName = GetFileNameByFilePath(file)Dim saveFilePathStr As StringsaveFilePathStr = folder + "\" + fileName + saveTypeIf saveType = ".xlsx" ThenWorkbooks.Open fileName:=fileApplication.DisplayAlerts = FalseActiveWorkbook.SaveAs fileName:=saveFilePathStr, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=FalseActiveWorkbook.SaveActiveWorkbook.CloseElseIf saveType = ".xls" ThenWorkbooks.Open fileName:=fileApplication.DisplayAlerts = FalseActiveWorkbook.SaveAs fileName:=saveFilePathStr, FileFormat:=xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=FalseActiveWorkbook.SaveActiveWorkbook.CloseElseIf saveType = ".csv" ThenWorkbooks.Open fileName:=fileApplication.DisplayAlerts = FalseActiveWorkbook.SaveAs fileName:=saveFilePathStr, FileFormat:=xlCSV, CreateBackup:=FalseActiveWorkbook.SaveActiveWorkbook.CloseElseIf saveType = ".pdf" ThenWorkbooks.Open fileName:=fileApplication.DisplayAlerts = FalseActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, fileName:=saveFilePathStr, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=FalseActiveWorkbook.CloseEnd IfApplication.DisplayAlerts = TrueEnd Sub

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。