Plug-In: Replace Note Text with Clipboard
This plug-in will replace the text content of the note of the selected project or task with the text content of the clipboard.
Return to: OmniFocus Plug-In Collection
Replace Note Text with Clipboard
/*{"type": "action","targets": ["omnifocus"],"author": "Otto Automator","identifier": "com.omni-automation.of.replace-note-text-with-clipboard","version": "1.2","description": "Will replace the text content of the note of the selected project or task with the text content of the clipboard.","label": "Replace Note Text with Clipboard","shortLabel": "Replace Note Text","paletteLabel": "Replace Note Text","image": "arrow.right.doc.on.clipboard"}*/(() => {const action = new PlugIn.Action(function(selection, sender){try {if (selection.tasks.length === 1){var item = selection.tasks[0]} else if(selection.projects.length === 1){var item = selection.projects[0]} else {throw {"name":"Selection Error", "message":"Please select a single project or task."}}var alertTitle = "CONFIRMATION"var alertMessage = "Replace note text with text from the clipboard?"var alert = new Alert(alertTitle, alertMessage)alert.addOption("Replace")alert.addOption("Cancel")alert.show(buttonIndex => {if (buttonIndex === 0){if(app.userVersion.atLeast(new Version("4"))){// show notetree = document.windows[0].contentnode = tree.nodeForObject(item)node.expandNote(true)}// replace textconsole.log(item)item.note = Pasteboard.general.string}})}catch(err){new Alert(err.name, err.message).show()}});action.validate = function(selection, sender){return (Pasteboard.general.hasStrings &&selection.databaseObjects.length === 1)};return action;})();