发布网友 发布时间: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
学习了。