0 votos

Cómo formatear la cabecera en una hoja de cálculo de Excel utilizando AppleScript

Aquí está el código VBA para personalizar la fuente, el tamaño de la fuente y estilizar los encabezados y pies de página en una hoja de cálculo de Excel:

'With sht.PageSetup
            '.CenterHeader = "&R&""Consolas""&KFFFF00" & sht.Name
            '.PrintArea = Range(Cells(1, 1), Cells(lastrow, lastcol)).Address
'End With

¿Cómo puedo convertir esto en AppleScript? He intentado lo siguiente:

tell application id "com.microsoft.Excel"
    set screen updating to false
    set wb to active workbook
    set wsName to the name of the active sheet of wb
    repeat with ctr from 1 to the count of worksheets in wb
        log ctr
        set sName to (the name of worksheet ctr of wb)
        select worksheet sName
        tell page setup object of active sheet
            set center header to sName
            --.CenterHeader = "&R&""Consolas""&KFFFF00" & sht.Name
            -- set center header to "&R&""Consolas""&KFFFF00" & sName
        end tell
    end repeat

    save wb
    select worksheet wsName -- return to the original active sheet
    set screen updating to true

end tell

pero necesito ayuda en esta línea:

– set center header to "&R&""Consolas""&KFFFF00" & sName

1voto

Mockman Puntos 16

Prueba esto:

    set center header to "&R&\"Consolas,Regular\"&KFFFF00&A"

Un par de comentarios

center header también puede utilizarse para devolver la configuración de la cabecera. Así que cuando se trata de determinar la sintaxis correcta, siempre se puede establecer manualmente y luego ejecutar algo como esto.

tell page setup object of active sheet
    get center header
end tell

Devolverá esto, que luego puedes usar en tu script.

"&R&\"Consolas,Regular\"&KFFFF00&A"

Tenga en cuenta que la fuente requiere comillas a su alrededor - de lo contrario estaría insertando el código '&C' - y éstas deben ser escapadas. Además, el código '&A' insertará el nombre de la hoja, por lo que no debería tener que usar la variable sName. Por último, el código '&R' se comporta de forma irregular, ya que parece establecer el encabezado correcto. Tal vez es un error, tal vez es sólo en Excel 2011. Quién puede decirlo.

Espero que esto ayude.

Adenda:

Por cierto, la forma correcta de hacer que una hoja esté activa es activate object así:

tell application id "com.microsoft.Excel"
    activate

    set wb to active workbook
    set wsName to the name of the active sheet of wb
    delay 2
    activate object worksheet 4
    delay 2
    activate object worksheet wsName
end tell

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X