
У меня есть клиент, который автоматически получает отчеты в формате Excel. Файлы имеют .xlsx
расширение. Они используют FileMaker для преобразования данных в предпочитаемый ими формат.
FileMaker поддерживает импорт .xlsx
файлов, но задыхается от этих файлов, если они не открыты, не сохранены и не закрыты в Excel. Все, что нужно сделать, это открыть файл, сохранить его и закрыть. В содержимое не вносятся никакие изменения. Это работает, когда они делают это в Windows или я делаю это в macOS.
Если бы они использовали macOS, я бы использовал AppleScript для автоматизации этого процесса. Есть ли собственный метод Windows для этого?
решение1
@HelpingHand указал мне верное направление. В итоге я достаточно изучил VB Script и написал небольшой скрипт с двойным щелчком, который преобразует файлы по указанному пути из 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