3

インポート プロセスの一部は、Word 文書からハイパーリンクを削除することです。用意したスクリプトは非常にシンプルで簡単で、ある程度機能します。

私たちが抱えている問題は、以下のコードを使用してリンクを削除しようとしても、ストーリー エディターにハイパーリンク シンボルがまだ表示されているため、今後このテキスト ブロックに手動でリンクを追加できなくなることです。

また、2 つのハイパーリンクの違いを示すために、inDesign からハイパーリンクを手動で追加しました。下の画像を参照してください。そうは言っても、inDesign からリンクが追加された後にスクリプトを実行しても、結果は上記と同じです。

スクリプト

var activeDocument = app.activeDocument;

trace("There are " + activeDocument.hyperlinks.length + " link(s) in the document.");

for(var i=(activeDocument.hyperlinks.length - 1); i >= 0; i--)
{
    trace("Removing hyperlink: " + activeDocument.hyperlinks.item(i).destination.name);
    activeDocument.hyperlinks.item(i).remove();
}

trace("There are " + activeDocument.hyperlinks.length + " link(s) in the document.");

ストーリー エディターとハイパーリンク パネル

ハイパーリンク パネルに存在しないハイパーリンクを表示するストーリー エディター

インポートからの出力

There are 1 link(s) in the document.
Removing hyperlink: http://www.google.com
There are 0 links(s) in the document.
4

2 に答える 2

2

ハイパーリンクはいくつかの異なる部分で構成されており、それらをすべて削除するように注意する必要があります。単一の「ハイパーリンク」オブジェクトは、一種の抽象コンテナ オブジェクトにすぎません。ハイパーリンクされたアイテムとそのリンクへの参照が含まれています。

これを試して:

app.activeDocument.hyperlinkTextDestinations.everyItem().remove();
app.activeDocument.hyperlinkTextSources.everyItem().remove();
app.activeDocument.hyperlinks.everyItem().remove();
于 2013-07-09T11:21:45.073 に答える