我有一个客户,他会自动接收 Excel 格式的报告。这些文件有一个.xlsx
扩展名。他们使用 FileMaker 将数据处理成他们喜欢的格式。
FileMaker 支持文件导入.xlsx
,但除非在 Excel 中打开、保存和关闭这些文件,否则文件会卡住。只需打开、保存并关闭文件即可。不会对内容进行任何更改。当他们在 Windows 上执行此操作或我在 macOS 上执行此操作时,此方法有效。
如果他们使用的是 macOS,我会使用 AppleScript 来自动化此过程。是否有原生的 Windows 方法可以执行此操作?
答案1
@HelpingHand 为我指明了正确的方向。我最终学习了足够的 VB 脚本,并编写了一个可双击的小脚本,该脚本将特定路径下的文件从 Excel 转换为 CSV。
set xls = CreateObject("Excel.Application")
xls.DisplayAlerts = False
set fso = CreateObject("Scripting.FileSystemObject")
set w_shell = CreateObject("WScript.Shell")
desktop = w_shell.SpecialFolders("Desktop")
folder_path = fso.GetAbsolutePathName(desktop) & "\Payroll\"
set folder = fso.GetFolder(folder_path)
set files = folder.Files
for each file in files
path = folder_path & file.Name
set workbook = xls.Workbooks.Open(path)
path = Replace(path, "xlsx", "csv")
workbook.SaveAs path, 6
workbook.Close False
next
xls.Quit