如何使TextEdit链接可单击

时间:2015-07-13 08:19:54

标签: hyperlink applescript clickable textedit

此脚本应在新的浏览器窗口中打开一系列网页,然后使用预定的文本和链接打开TextEdit。
Safari完成了预期的工作。
文本编辑打开并粘贴我想要的文本,但链接不可点击 我知道我可以右键单击并选择替换>添加链接>我自己,但我正在努力使整个过程自动化 我代表我感谢您的时间和努力!谢谢!

OpenWebPages()  
OpenTextEditPage()  

to OpenTextEditPage()  
-- Create a variable for text  
set docText to ""  
tell application "TextEdit"  
    activate  
    make new document  
    -- Define the text to be pasted into TextEdit   
    set docText to docText & "Some text to show in TextEdit." & linefeed & "    
    My favorite site about coding is http://stackoverflow.com/   
    My favorite site for paper modeling is http://www.ss42.com/toys.html   
    My favorite site for inventing is  http://www.instructables.com/howto/bubble+machine/   
    " & linefeed & "Click the links above to improve your mind!" as string  
    -- Past the above text and links into TextEdit  
    set the text of the front document to docText & "" as string  
    tell application "System Events"  
        tell process "TextEdit"  
            -- highlight all text  
            keystroke "a" using command down  

            -- Think of a clever way to right click and choose Substitutions> Add Links>   
            -- Or think of another clever way to turn all URLs into links please.  

        end tell  
    end tell  
end tell  
end OpenTextEditPage  

to OpenWebPages()  
-- Start new Safari window  
tell application "Safari"  
    --      activate Safari and open the StackOverflow AppleScript page  
    make new document with properties {URL:"http://stackoverflow.com/search?q=applescript"}  
    -- Yoda is watching you  
    open location "http://www.ss42.com/pt/Yoda/YodaGallery/yoda-gallery.html"  
    -- Indoor boomerang   
    open location "http://www.ss42.com/pt/paperang/paperang.html"  
    --  Are you a Human ?  
    open location "http://stackoverflow.com/nocaptcha?s=f5c92674-b080-4cea-9ff2-4fdf1d6d19de"  
end tell  
end OpenWebPages  

1 个答案:

答案 0 :(得分:0)

根据this question,我建立了这个小小的处理程序。它需要一个像makeURLsHyper((path to desktop folder as string) & "TestDoc.rtf")这样的rtf文件的路径,并且在我的小测试中工作得很好。但此时它并不关心文本格式。

on makeURLsHyper(pathOfRtfFile)
    -- converting the given path to a posix path (quoted for later use)
    set myRtfPosixPath to quoted form of (POSIX path of pathOfRtfFile)
    -- RTF Hyperlink start
    set rtfLinkStart to "{\\\\field{\\\\*\\\\fldinst HYPERLINK \""
    -- RTF Hyperlink middle
    set rtfMiddlePart to "\"}{\\\\fldrslt "
    -- RTF Hyperlink end
    set rtfLinkEnd to "}}"
    -- use sed to convert http-strings to rtf hyperlinks
    set newFileContent to (do shell script "sed -i bak -e 's#\\(http[^[:space:]]*\\)#" & rtfLinkStart & "\\1" & rtfMiddlePart & "\\1" & rtfLinkEnd & "#g'  " & myRtfPosixPath)
end makeURLsHyper

祝你有个美好的一天,Michael / Hamburg