4

テキストラベルとURLを取得し、Applescriptを使用してそれらをMacクリップボードに追加して、リッチテキストアプリがデータをURLとして認識し、データを貼り付けるときにリンクされたアンカーテキストを作成する方法はありますか?

「画面」タイトル(アンカーテキスト)が必要な無題の参照URL(コードを介して生成)があります。URLとアンカーテキストを作成できます。しかし、MacクリップボードがデータをURLとして扱うように、どうすればそれらを組み合わせることができますか?私は試した:

set the clipboard to "<a href=\"" & theURI & "\" target=\"_blank\">" & theAnchor & "</a>"

..しかし、他のアプリからこのデータを使用すると、表示される画面テキストとしてアンカーテキストを含むリンクではなく、HTML文字列が取得されます。

StandardAdditionsには「URL」クラスと「Webページ」クラスがありますが、それらを適用する方法がわかりません。これはコンパイルされますが、実行すると失敗します。

set myURL to theURI as URL
set myLinkAnchor to theAnchor as text
set linkURL to {URL: myURL, name: myLinkAnchor} as web page
4

2 に答える 2

1

AppleScript は、16 進数でエンコードされた HTML をクリップボードに入れることをサポートしています。

set the clipboard to «data HTML3c6120687265663d22687474703a2f2f7777772e69727261646961746564736f6674776172652e636f6d22207461726765743d225f626c616e6b223e4972726164696174656420536f6674776172653c2f613e»

それはかなり回り道ですが、あなたが望むことをする方法は次のとおりです:

set theURI to "http://www.irradiatedsoftware.com"
set theAnchor to "Irradiated Software"
set the clipboard to "<a href=\"" & theURI & "\" target=\"_blank\">" & theAnchor & "</a>"
set theHEX to do shell script "pbpaste | hexdump -ve '1/1 \"%.2x\"'"
if theHEX is "" then
    beep
else
    run script "set the clipboard to «data HTML" & theHEX & "»"
end if

YMMV。これをWord 2011に貼り付けてみましたが、うまくいきました。Pages にペーストをとらせることができませんでした。また、新しいメール メッセージ (Mail.app) に貼り付けてみましたが、リンクは問題ありませんが、クリックできません。ただし、受信者はリンクをクリックできます。

于 2015-04-01T23:47:12.657 に答える
-1

すべてのアプリケーションが HTML を受け入れ、クリック可能な文字列に自動的に変換するとは限りません。これを実行できるかどうかは、ターゲット アプリケーションがリッチ テキストを処理する方法によって異なります。Cocoa の組み込みのリッチ テキスト エリア クラスを使用するものもあれば、独自の方法で URL を処理する独自の完全なカスタム テキスト エリアを持つものもあります。ターゲット アプリケーションのディクショナリを調べて、識別可能な方法で URL を作成できるかどうかを確認できます。

于 2012-07-02T16:33:25.817 に答える