Ordenar contactos marcados como empresa

1

Encontré un Applescript en el sitio de soporte de Apple para clasificar cualquier contacto con la marca de verificación "Empresa" en un grupo "Empresa":

property groupName : "Business"
tell application "Contacts"
    if (name of groups as list) does not contain groupName then
        make new group at end of groups with properties {name:groupName}
    end if
    repeat with singlePerson in people
        if company of singlePerson is true then
            if (people of group groupName as list) does not contain (singlePerson as list) then
                make new person at end of group groupName with data singlePerson
            end if
        end if
    end repeat
    save
end tell

Falla en:

            make new person at end of group groupName with data singlePerson

Con error:

error "Contacts got an error: AppleEvent handler failed." number -10000

¿Alguien sabe de un método para ordenar todos los contactos marcados como "Empresa"?

Por ejemplo, NO quiero a nadie que tenga el nombre de una compañía pero sea una tarjeta individual:

ingrese la descripción de la imagen aquí

Pero sí quiero empresas con la Companycasilla marcada:

ingrese la descripción de la imagen aquí

Chrismas007
fuente

Respuestas:

2

Actualizar:

Originalmente pensé que no necesita Applescript para hacer esto.

Y podría crear un grupo inteligente que lo haga por usted.

ingrese la descripción de la imagen aquí


ingrese la descripción de la imagen aquí


PERO la 'Compañía: está configurada' no es para la casilla de verificación. Es para el campo de texto real de la empresa.

Por lo tanto, no puede usar lo anterior para esto, ya que no le importa si la casilla de verificación de la empresa está marcada o no. Solo le importa si hay texto en el campo Empresa.

Entonces Applescript ES el camino a seguir. Y usando el company is trueque se refiere a la casilla de verificación.

    property groupName : "Business"
tell application "Contacts"

    if not (exists (group groupName)) then
        make new group with properties {name:groupName}
    end if
    set the_people to people whose company is true
    repeat with i from 1 to number of items in the_people
        set this_person to item i of the_people
        add this_person to group groupName
        save
    end repeat
end tell
Markhunte
fuente
Esto no funciona. Estoy buscando un método que solo seleccione contactos con la casilla "Empresa" marcada. Este método selecciona a todos los que tienen el nombre de una empresa completado (incluidos los contactos individuales)
Chrismas007
Vea mi edición arriba en mi Q.
Chrismas007
@ Chrismas007, Ah, ahora veo lo que buscas. Ver respuesta actualizada
markhunte