5 votes

Un AppleScript peut-il écrire dans un document Notes.app ?

Je voudrais écrire du texte dans une "note" (par opposition à un fichier .txt ou .rtf standard), car les notes Mac se synchronisent automatiquement avec un compte iCloud, sur tous les appareils.

(Je comprends que l'on peut utiliser divers moyens pour obtenir le même effet avec des documents texte standard, c'est-à-dire non propriétaires, par exemple avec un service comme Dropbox. Notes.app est simplement beaucoup plus pratique).

Cependant, il semble qu'il n'y ait aucun moyen d'écrire dans une note en AppleScript. Je dis cela parce qu'il ne semble pas que les notes soient enregistrées quelque part sur le Mac en tant que fichier .rtf (ou similaire). Par cette question (mais, notez que la question a été posée en 2013), j'ai vérifié les répertoires suivants :

  • ~/Library/Group Containers/group.com.apple.notes/

    • y
  • ~/Library/Containers/com.apple.Notes/Data/Library/Notes/

Je n'ai rien trouvé qui ressemble à un document texte lisible. J'ai ouvert certains de ces fichiers dans TextEdit.app, et j'ai découvert que ces fichiers contenaient du texte purement charabia.

J'imagine que je pourrais efficacement coder un AppleScript pour "écrire dans un document Notes," en déclenchant des clics de souris et des pressions de touches. Mais je suis curieux de savoir s'il est possible d'écrire dans une note, de manière "correcte".

0 votes

Selon la Bibliothèque dans l'éditeur script, il semble que Notes soit complètement scriptable. Une des propriétés : body (text) : le contenu HTML de la note . Il semble donc qu'il soit scriptable en utilisant le balisage HTML. Macosautomation a un article plus ancien, mais l'application Notes est toujours incluse dans la bibliothèque script à partir de MacOS 10.12.

1 votes

Notes stocke ses données dans une base de données au format SQLite 3 et c'est pour cela qu'il ressemble à du texte charabia dans TextEdit.app lorsque vous ouvrez les fichiers à ces emplacements. Si vous voulez vraiment voir le contenu, faites une copie du dossier et ouvrez le dossier de la base de données. .storedata (la copie, pas l'original) avec Liya .

9voto

Kent Points 6002

Notes est scriptable, et le dictionnaire peut être ouvert avec script Editor pour les détails.

Il y a aussi un long tutoriel aquí .

Bien que je ne l'aie pas testé avec iCloud, vous devriez pouvoir définir le compte, et créer une note dans ce compte.

En simplifiant l'exemple de cette page, et en utilisant mon compte Exchange, j'ai pu créer la note en utilisant ce script :

tell application "Notes"
  tell account "Exchange"
    make new note at folder "Notes" with properties {name:"this is a test", body:"and more text"}
  end tell
end tell

Pour obtenir le contenu d'une note existante, afin de la modifier :

tell application "Notes"
  tell account "Exchange"
    tell folder "Notes"
      get body of note "this is a test"
    end tell
  end tell
end tell

Et, pour modifier le contenu :

tell application "Notes"
  tell account "Exchange"
    tell folder "Notes"
      set body of note "this is a test" to "reset the body text"
    end tell
  end tell
end tell

2 votes

Je l'ai testé avec mon compte iCloud et cela fonctionne parfaitement. Bien joué, @Kent

0 votes

Savez-vous s'il est possible de modifier une note déjà existante ? Ou bien faut-il créer une toute nouvelle note à chaque fois ?

0 votes

Ouaip. J'ai modifié la réponse. Vous voudrez probablement définir une variable avec le texte original, et faire des modifications avant de définir le corps à une nouvelle valeur ; mais, ce n'est pas difficile.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X