用VB如何将excel批量转换成csv格式?

发布网友 发布时间:2022-04-21 20:01

我来回答

5个回答

热心网友 时间:2023-07-10 01:31

Attribute VB_Name = "模块1"
2 Sub Macro1()
3 Attribute Macro1.VB_Description = " "
4 Attribute Macro1.VB_ProcData.VB_Invoke_Func = " \n14"
5 '
6 ' Macro1 Macro
7 ' 宏由 Eric yang 录制,时间:
8 '
9
10 '
11 ChDir "D:\"
12
13 cDir = "D:\"
14
15 Do While True
16
17 FName = InputBox("请输入要转换的文件名:", "转换到CSV")
18
19 If FName = "" Then
20 Exit Sub
21 End If
22
23 Workbooks.Open Filename:=cDir & FName & ".xls"
24
25 ActiveWorkbook.SaveAs Filename:=cDir & FName & ".csv", FileFormat:=xlCSV, _
26 CreateBackup:=False
27
28 ActiveWindow.Close SaveChanges:=-1
29
30 Loop
31
32 End Sub

热心网友 时间:2023-07-10 01:31

saveas方法可以被两种对象调用,分别是workbook和worksheet。你的意思应该是调用worksheet,但代码中写成了workbook。所以你知道问题出在哪里了?

热心网友 时间:2023-07-10 01:32

既然你已经能解决批量转换csv的问题了,那么只要在你打开每个excel后的vba代码里加上
Rows("1:1").Select
Selection.Delete
Shift:=xlUp
Range("A1").Select
即可

热心网友 时间:2023-07-10 01:32

我刚刚用VBA 做了一个类似的工具,需要的话留个邮箱我发给你,不过是VBA的

热心网友 时间:2023-07-10 01:33

学习了。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com