0 votos

El uso de AppleScript para alternar el uso compartido de Internet no funciona

Estoy usando un applescript para activar la opción de compartir internet desde 'System Pref> Sharing'. Trabajo en MacOS 10.9.4. Encontré este script en un foro y lo estoy usando. Esto funciona bien, cuando la ventana de Preferencias del Sistema está abierta. Sin embargo, cuando la ventana de Preferencias del Sistema se cierra, el script abre la ventana de Preferencias del Sistema y luego muestra este mensaje de error:

 System Events got an error: Can’t get menu item \"Sharing\" of menu \"View\" of menu bar 1 of process \"System Preferences\"." number -1728 from menu item "Sharing" of menu "View" of menu bar 1 of process "System Preferences"

Este es el código del script

tell application "System Preferences"
        activate
    end tell
    tell application "System Events"
        activate
        tell process "System Preferences"

            click menu item "Sharing" of menu "View" of menu bar 1
            delay 2
            tell window "Sharing"...
//code after this 

No soy un experto en AppleScript, pero sólo necesito usar este para obtener un atajo de teclado para cambiar el uso compartido de Internet. Además, el foro del que lo he sacado dice que los demás usuarios pueden utilizar el script. Me pregunto si tiene algo que ver con MacOS 10.9

1voto

predhme Puntos 1377

Puede utilizar este código para activar la compartición con los ajustes que ya existían:

tell application "System Preferences"
    activate
    set current pane to pane "com.apple.preferences.sharing"
end tell
tell application "System Events" to tell process "System Preferences"

    --find lock and click it if it is not unlocked
    repeat with x in buttons of window "Sharing"
        try
            if (value of attribute "AXTitle" of x) is equal to "Click the lock to make changes." then
                click x
            end if
        end try
    end repeat
    delay 5

    --find the checkbox for Internet Sharing and select the row so script can enable sharing through ethernet
    repeat with r in rows of table 1 of scroll area 1 of group 1 of window "Sharing"
        if (value of static text of r as text) starts with "Internet" then
            select r
        end if
    end repeat
    delay 2

    --enable Internet Sharing
    repeat with r in rows of table 1 of scroll area 1 of group 1 of window "Sharing"
        if (value of static text of r as text) starts with "Internet" then
            set sharingBool to value of checkbox of r as boolean
            select r
            if sharingBool is false then click checkbox of r
        end if
    end repeat
    delay 2

    if (exists sheet 1 of window "Sharing") then
        click button "Start" of sheet 1 of window "Sharing"
    end if
    delay 2

end tell
ignoring application responses
    tell application "System Preferences" to quit
end ignoring

Espero que esto ayude.

0voto

rpetrich Puntos 25769

Otra forma de abrir las Preferencias del Sistema en el panel Compartir es...

tell application "System Preferences"
    activate
    set current pane to pane id "com.apple.preferences.sharing"
end tell

Esto funcionará tanto si las Preferencias del Sistema están abiertas como si no.

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