Actualmente estoy usando un archivo .exe llamado "vbadecompiler.exe" para procesar un grupo de archivos ".xlsm". Esos son muchos para procesar manualmente, por lo tanto, Powershell parece ser la respuesta. Mi intento actual es el siguiente:
dir *.xlsm | foreach-object {.\vbadecompiler.exe cmd/decompile /sXLfile:=$_ /sApplication:=Excel /sAppVersion:=Default /bOverBackup:=1 /bPreservDateTime:=0 /bLogActivity:=1 /sFilePassword:=""}
Pero solo se ejecuta a través del primer archivo, hay más de 100 archivos para procesar. No puedo encontrar cómo hacerlo pasar por todo. ¿Cómo deberia hacerse?
PD: Acabo de descubrir que hay una manera más simple de hacer esto usando VBA: https://stackoverflow.com/questions/17956651/execute-a-command-in-command-prompt-using-excel-vba
windows
powershell
A. Perez Cera
fuente
fuente
/sXLfile:=$_.
?$_.FullName
). Sin miembro, debería serlo$_
. En este caso, si el archivo era 'foo.xlsm',/sXLfile:=$_.
se interpretará como:/sXLfile:=foo.xlsm .
(tenga en cuenta el espacio y el punto después del nombre del archivo)