Classificar contatos marcados como empresa

1

Encontrei um Applescript no site de suporte da apple para classificar qualquer contato com a marca de seleção "Empresa" marcada em um grupo "Negócios":

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

Ele falha em:

            make new person at end of group groupName with data singlePerson

Com erro:

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

Alguém conhece um método para classificar todos os contatos marcados como "Empresa"?

Por exemplo, NÃO quero ninguém que tenha um nome de empresa, mas seja um cartão individual:

insira a descrição da imagem aqui

Mas EU QUERO empresas com a Companycaixa marcada:

insira a descrição da imagem aqui

Chrismas007
fonte

Respostas:

2

Atualizar:

Eu originalmente pensei que você não precisa do Applescript para fazer isso.

E você pode criar um grupo inteligente que faz isso por você.

insira a descrição da imagem aqui


insira a descrição da imagem aqui


MAS a 'Empresa: está definida' não é para a caixa de seleção. É para o campo de texto real da empresa.

Portanto, você não pode usar o acima para isso, pois não importa se a caixa de seleção da empresa está marcada ou não. Só importa se houver texto no campo Empresa.

Então Applescript é o caminho a percorrer. E usando o company is trueque se refere à caixa de seleção.

    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
fonte
Isso não funciona. Estou procurando um método que selecione apenas contatos com a caixa "Empresa" marcada. Este método seleciona todos que tem um nome da empresa preenchido (incluindo contatos individuais)
Chrismas007
Veja minha edição acima no meu Q.
Chrismas007
@ Chrismas007, Ah, eu vejo o que você está procurando agora. Veja resposta atualizada
markhunte 27/01