[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt 2-Wege Hyperlinks via Charstyle [INDD15.1.1 WIN10]

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

2-Wege Hyperlinks via Charstyle [INDD15.1.1 WIN10]

cwenet
Beiträge gesamt: 1131

18. Mär 2021, 09:26
Beitrag # 1 von 1
Bewertung:
(5813 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag,

ich versuche gerade Ziffern innerhalb eines Dokumentes zu verknüpfen (Hyperlink und Textanker).
Zuerst setze ich alle Textanker an die Ziffern die mit einem bestimmten Zeichenformat markiert sind. Die Ziffern kommen jeweils nur einmal vor.

Code
app.findTextPreferences = NothingEnum.nothing; 
app.findTextPreferences.appliedCharacterStyle = "fn_ref_";
myLinkResult = app.activeDocument.findText();

for (i = 0; i < myLinkResult.length; i += 1) {

myLink = myLinkResult[i];
myDoc = myLink.parentStory.parent;
myLinkAnchorDest = myDoc.hyperlinkTextDestinations.add(myLink);
myLinkAnchorDest.name = "fn_ref_"+myLink.contents;

}



app.findTextPreferences = NothingEnum.nothing;
app.findTextPreferences.appliedCharacterStyle = "fn_targ_";
myLinkResult = app.activeDocument.findText();

for (i = 0; i < myLinkResult.length; i += 1) {

myLink = myLinkResult[i];
myDoc = myLink.parentStory.parent;
myLinkAnchorDest = myDoc.hyperlinkTextDestinations.add(myLink);
myLinkAnchorDest.name = "fn_targ_"+myLink.contents;

}


Da klappt schonmal prima.
Nun möchte ich jeweils einen Hyperlink setzen. Der soll von einer Ziffer springen und wieder zurück.
Hier mein erster Versuch für die Verlinkung in die eine Richtung:

Code
var myDoc = app.activeDocument;  

app.findTextPreferences = NothingEnum.nothing;
app.findTextPreferences.appliedCharacterStyle = myDoc.characterStyles.itemByName("fn_targ_");
myLinkResult = app.activeDocument.findText();

for (i = 0; i < myLinkResult.length; i ++)
{

myLink = myLinkResult[i];


source = myDoc.hyperlinkTextSources.add(myLink);
if (myDoc.hyperlinkTextDestinations.item(myLink.contents).isValid) {
anchor = myDoc.hyperlinkTextDestinations.item(myLink.contents);
xref = myDoc.hyperlinks.add("fn_ref_"+source, anchor);
myRandomString = String(Math.random());
xref.name = myLink.contents + "_" + myRandomString.slice(2,);
}
}


Da passiert aber irgendwie nichts in der Hyperlinkpalette.
Bitte um Hilfe
Gruß
Chrisotph



Demofile:
https://www.dropbox.com/s/0r4hpbkveoas3ir/fn2way.indd?dl=0
https://www.dropbox.com/s/tpgglirrjnvmlzs/fn2way_result.indd?dl=0
X