【问题标题】:convert xlsx file to csv将 xlsx 文件转换为 csv
【发布时间】:2015-07-04 17:14:20
【问题描述】:

我正在尝试找到一种快速的方法来将我的 xlsx 文件保存为 csv 文件,其文件名与 xlsx 文件相同(只是 csv 格式)。我已经录制了一个带有快捷方式的宏,但问题是每当我尝试使用新文件时,它都会保存为与我录制初始宏时相同的文件名(即见下文,可能是因为我在代码中将文件标记为:@987654322 @)。是否需要将 3WDL_1 (2014-08-07)10secDataTable sit.csv 替换为使用与我正在使用的实际工作簿相同的文件名保存宏。

所以基本上我有一个充满 xlsx 文件的文件夹,我想在每个 xslx 文件上使用快捷方式/宏将它们转换为与原始 xlsx 文件具有完全相同名称的 csv 文件,并保存到相同文件夹。

我需要将代码的3WDL_1 (2014-08-07)10secDataTable sit.csv 部分替换为适用于我打开的任何新 xlsx 文件的内容。否则我还不如用老式的鼠标来做呢

非常感谢,

稻田

Sub SaveAsCSVFile

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

【问题讨论】:

标签: excel vba csv


【解决方案1】:

要获取文件名,使用:ActiveWorkbook.Name 获取路径,使用:ActiveWorkbook.Path

这样的事情也应该起作用:

ActiveWorkbook.SaveAs FileName:= ActiveWorkbook.Path & "\" & _
    Replace(ActiveWorkbook.Name, "xslx", "csv"), _
    FileFormat:=xlCSVMac, CreateBackup:=False

【讨论】: