我正在努力寻找一种快速的方法来拯救我的xlsx
文件为csv
具有相同文件名的文件xlsx
文件(就在csv
格式)。我已经用快捷方式录制了一个宏,但问题是,每当我尝试使用新文件时,它都会保存为与我录制初始宏相同的文件名(即见下文,可能是因为我在代码中将文件标记为:3WDL_1 (2014-08-07)10secDataTable sit.csv
)。有什么我需要更换的吗3WDL_1 (2014-08-07)10secDataTable sit.csv
使用与我正在使用的实际工作簿相同的文件名保存宏。
所以基本上我有一个充满的文件夹xlsx
文件,我想在每个文件上使用快捷方式/宏xslx
文件将它们转换为csv
与原始名称完全相同的文件xlsx
文件,并保存到同一文件夹中。
Sub xlstocsv()
'
' xlstocsv Macro
'
' Keyboard Shortcut: Ctrl+a
'
Columns("A:A").Select
Range("A41243").Activate
Selection.NumberFormat = "0.00"
ActiveWindow.ScrollRow = 41231
ActiveWindow.ScrollRow = 41090
ActiveWindow.ScrollRow = 39753
ActiveWindow.ScrollRow = 30184
ActiveWindow.ScrollRow = 26385
ActiveWindow.ScrollRow = 13017
ActiveWindow.ScrollRow = 10976
ActiveWindow.ScrollRow = 8162
ActiveWindow.ScrollRow = 4785
ActiveWindow.ScrollRow = 4503
ActiveWindow.ScrollRow = 774
ActiveWindow.ScrollRow = 1
Range("A1").Select
ChDir "C:\Users\paddy\Desktop\NEW CSV files whole CGM date ok!"
ActiveWorkbook.SaveAs Filename:= _
"C:\Users\paddy\Desktop\NEW CSV files whole CGM date ok!\3WDL_1 (2014-08-07)10secDataTable sit.csv" _
, FileFormat:=xlCSVMac, CreateBackup:=False
End Sub
现在,您已经将文件名硬编码在“之后”ActiveWorkbook.SaveAs
“所以它用这个硬编码名称保存所有内容。
我想你会想使用“ActiveWorkbook.Name
” 获取当前文件的名称并将其连接到您拥有的“Filename”变量(不带文件扩展名)和新扩展名。例如:
"C:\Users\padd\Desktop\NEW CSV...ok!\" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1) & ".csv")
这是一种肮脏的方法,但它应该可以满足您的需求。另外,根据您使用的 Excel 版本,我认为您可能需要使用“ThisWorkbook
“ 代替 ”ActiveWorkbook
“但我不确定。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)