
Tengo un cliente que recibe informes automáticamente en formato Excel. Los archivos tienen una .xlsx
extensión. Utilizan FileMaker para manipular los datos en el formato que prefieran.
FileMaker admite la importación de .xlsx
archivos, pero los bloquea a menos que se abran, guarden y cierren en Excel. Todo lo que hay que hacer es abrir el archivo, guardarlo y cerrarlo. No se realizan cambios en los contenidos. Esto funciona cuando lo hacen en Windows o yo lo hago en macOS.
Si estuvieran usando macOS, usaría AppleScript para automatizar este proceso. ¿Existe un método nativo de Windows para hacer esto?
Respuesta1
@HelpingHand me indicó la dirección correcta. Terminé aprendiendo suficiente VB Script y escribí un pequeño script en el que se puede hacer doble clic y que convierte archivos en una ruta específica de Excel a 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