/ / Uso de Applescript para generar y escribir en un archivo excel - excel, applescript, applescript-excel

Usar Applescript para generar y escribir en un archivo excel - excel, applescript, applescript-excel

Nuevo en AppleScript pero estoy trabajando en un scripttoma una carpeta de imágenes, obtiene el nombre, el perfil de color, el ancho, la altura y calcula la relación de aspecto (WxH) de cada imagen y exporta toda esa información a un archivo de Excel. Pude hacerlo con éxito cuando simplemente escribí en un .csv, pero ahora realmente quiero escribir en un .xls, así que también puedo hacer algún formato condicional a la columna de relación de aspecto. A continuación se muestra el bloque de código que causa problemas. Cuando voy a compilar me sale el siguiente error:

Error de compilación de AppleScript:

No se puede establecer «clase DPVu» de «clase ccel» "A" & num en imgName. Acceso no permitido.

Este error se produce en la primera declaración "establecer valor de celda". Si comento cada una de estas líneas una a la vez y las compilo, se produce el mismo error para cada una de ellas.

He intentado buscar en Google todo lo que puedo pensar en Google y no he encontrado nada útil ...

Código:

--counter variable for excel row placement. (row 1 is a header row)
set num to 2

repeat with img in imgFolder
--write specs to excel file
tell application "Microsoft Excel"
set value of Cell "A"&num to imgName
set value of Cell "B"&num to imgColorProfile
set value of Cell "C"&num to imgWidth
set value of Cell "D"&num to imgHeight
set value of Cell "E"&num to imgRatio
end tell

--incremental counter for next excel row
set num to num + 1
end repeat

Respuestas

0 para la respuesta № 1

Yo escribiria mas simple

set num to 2

repeat with img in imgFolder
--write specs to excel file
tell application "Microsoft Excel"
tell row num
set value of cell 1 to imgName
set value of cell 2 to imgColorProfile
set value of cell 3 to imgWidth
set value of cell 4 to imgHeight
set value of cell 5 to imgRatio
end tell
end tell

--incremental counter for next excel row
set num to num + 1
end repeat