[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Fußnotenverweise in einer dropdown list anzeigen

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

Fußnotenverweise in einer dropdown list anzeigen

stone0203
Beiträge gesamt: 20

14. Okt 2014, 21:22
Beitrag # 1 von 7
Bewertung:
(2747 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

Ich versuche mich gerade an einem Skript, welches alle Fußnotenverweise auf der aktuellen Seite findet und diese dann in einer dialog box in einer dropdown list anzeigt. (also in der dropdown list soll dann nur die Hochzahl vom Fließtext stehen)
Hintergrund is jener, dass ich mit diesem Skript die in der dropdown list ausgewählte Fußnote löschen möchte.

mein Ansatz is folgender:

Code
       var myDialog = app.dialogs.add({name:" Fußnoten:",canCancel:true}); 
var myStory = app.selection[0].parentStory;
var myNotes = myStory.footnotes;
with(myDialog){
//Add a dialog column.
with (dialogColumns.add()){
staticTexts.add({staticLabel:"Please choose:"});
}
with (dialogColumns.add()){
mymenu = dropdowns.add({stringList:myNotes[0], selectedIndex:0});
}}

//Display the dialog box.
var myResult = myDialog.show();
if(myResult == true){
//Get the values from the dialog box controls.
var myString = myTextEditField.editContents; }
else {
exit()}
//Remove the dialog box from memory.
myDialog.destroy();


Das Skript findet zwar die Fußnotenverweise aber ich weis einfach nicht, wie ich diese in eine dropdown list bekomme.
Ich hab auch schon versucht mittels GREP das Zeichenformat der Fußnotenverweise zu finden, das klappt zwar auch aber hilft mir mit meinem Problem nicht weiter :)

vl hat ja Jemand eine Idee!

Grüße
X

Fußnotenverweise in einer dropdown list anzeigen

drerol74
Beiträge gesamt: 434

15. Okt 2014, 00:51
Beitrag # 2 von 7
Beitrag ID: #533016
Bewertung:
(2694 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

die Dropdown-Liste ist ja im Prinzip nur ein Array aus Strings. Wenn du dort die Zahlen (1 bis Anzahl der Fußnoten) stehen hast, kannst du über die Indexzahl des ausgewählten Elementes auf die Fußnote mit dem entsprechenden Index zugreifen.

Mit Script UI bist du übrigens wesentlich flexibler ...

Schöne Grüße
Roland


als Antwort auf: [#533013]

Fußnotenverweise in einer dropdown list anzeigen

stone0203
Beiträge gesamt: 20

18. Okt 2014, 17:46
Beitrag # 3 von 7
Beitrag ID: #533188
Bewertung:
(2608 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi, danke für deine Antwort!

Ich habe jetzt versucht, das was du angesprochen hast umzusetzen aber ich bekomm das einfach nicht hin...

eine Möglichkeit wäre noch auf die dropdown list zu verzichten und die Fußnoten per GREP anzusprechen.

Hast du da eine Idee wie der GREP aussehen könnte um zb. die Fußnote mit der Nummer 4 zu suchen?


als Antwort auf: [#533016]

Fußnotenverweise in einer dropdown list anzeigen

drerol74
Beiträge gesamt: 434

19. Okt 2014, 13:43
Beitrag # 4 von 7
Beitrag ID: #533192
Bewertung:
(2448 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hier ein einfaches Beispiel:

Code
var _story = app.activeDocument.stories[0], 
_footnotes = _story.footnotes,
_selectedIndex;

_selectedIndex = __selectFootnote(_footnotes.length);

if(_selectedIndex >= 0) {
alert(_footnotes[_selectedIndex].contents);
} else {
alert("Auswahl abgebrochen!");
}


function __selectFootnote(_numberOfFootnotes) {

var _footnoteIndexList = [];

for(var i=1; i<=_numberOfFootnotes; i++) _footnoteIndexList.push(i) ;

var _ui = new Window ("dialog","Fu\u00dfnoten:");
with (_ui) {
orientation = "row";
var _dropdown = add ("dropdownlist", undefined, _footnoteIndexList);
with(_dropdown) {
_dropdown.selection = 0;
}
add ("button", undefined, "Ausw\u00e4hlen", {name: "ok"});
add ("button", undefined, "Abbrechen", {name: "cancel"});
} /* END _ui window */

return (_ui.show() != 2) ? _dropdown.selection.index : -1;
} /* END function __selectFootnote */


Die Funktion __selectFootnote kannst du dann in deinem Skript einbauen.

Schöne Grüße
Roland


als Antwort auf: [#533188]

Fußnotenverweise in einer dropdown list anzeigen

stone0203
Beiträge gesamt: 20

19. Okt 2014, 16:30
Beitrag # 5 von 7
Beitrag ID: #533195
Bewertung:
(2419 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

erstmal vielen vielen dank für dein Skript, das macht genau das, was ich möchte!! :)

Ich hab es jetzt etwas angepasst, sodass es nur die Fußnoten auf der aktuellen Seite in die dropdown List einfügt. Das funktioniert wunderbar.

Jetzt möchte ich, dass die Fußnote, welche ich in der dropdown List ausgewählt habe, gelöscht wird. Hierzu habe ich im code eine Zeile angehängt app.select( app.selection[0].parentStory.insertionPoints.item( app.selection[0].parent.storyOffset.index +1 ), SelectionOptions.replaceWith);
mit der, der Cursor aus der ausgewählten Fußnote hinter die Fußnotenreferenz im Text springt. Allerdings weiß ich nicht, wie ich diese Fußnotenreferenz auch löschen kann?

wär toll, wenn du mir nochmal helfen könntest!

Code
//Schleife durch alle Textframes auf aktiver Seite 
var allFrames = app.layoutWindows[0].activePage.textFrames;
for (i=1; i<allFrames.length; i++) {

var framewnote = app.layoutWindows[0].activePage.textFrames[i]} //Textframe welcher fußnoten enthält

var _story = framewnote,
_footnotes = _story.footnotes,
_selectedIndex;

_selectedIndex = __selectFootnote(_footnotes.length);

if(_selectedIndex >= 0) {
alert("Fußnote mit dem Inhalt " + "„" + _footnotes[_selectedIndex].contents + " “" + " wurde gelöscht!");


_footnotes[_selectedIndex].texts[0].select();
app.select( app.selection[0].parentStory.insertionPoints.item( app.selection[0].parent.storyOffset.index +1 ), SelectionOptions.replaceWith);


} else {
alert("Auswahl abgebrochen!");
exit();
}


function __selectFootnote(_numberOfFootnotes) {

var _footnoteIndexList = [];

for(var i=1; i<=_numberOfFootnotes; i++) _footnoteIndexList.push(i) ;

var _ui = new Window ("dialog","Fußnote auswählen:");
with (_ui) {
orientation = "row";
var _dropdown = add ("dropdownlist", undefined, _footnoteIndexList);
with(_dropdown) {
_dropdown.selection = 0;
}
add ("button", undefined, "Ausw\u00e4hlen", {name: "ok"});
add ("button", undefined, "Abbrechen", {name: "cancel"});
} /* END _ui window */

return (_ui.show() != 2) ? _dropdown.selection.index : -1;
} /* END function __selectFootnote */



als Antwort auf: [#533192]
(Dieser Beitrag wurde von stone0203 am 19. Okt 2014, 16:37 geändert)

Fußnotenverweise in einer dropdown list anzeigen

drerol74
Beiträge gesamt: 434

19. Okt 2014, 17:12
Beitrag # 6 von 7
Beitrag ID: #533196
Bewertung:
(2402 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Dafür gibt es eine eigene Methode: remove()

Code
_footnotes[_selectedIndex].remove(); 


zum Nachlesen:
http://www.indd-skript.de/...d1e495314__d1e495785

Schöne Grüße
Roland


als Antwort auf: [#533195]

Fußnotenverweise in einer dropdown list anzeigen

stone0203
Beiträge gesamt: 20

19. Okt 2014, 17:21
Beitrag # 7 von 7
Beitrag ID: #533197
Bewertung:
(2398 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
also da muss ich jetzt schon leicht schmunzeln. Ich hab jetzt über ne Stunde rumprobiert aber daran hatt ich nicht gedacht :)

also nochmals vielen Dank! funktioniert jetzt alles perfekt!!

Grüße und noch einen schönen Sonntag


als Antwort auf: [#533196]
X

Aktuell

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
26.01.2021 - 27.01.2021

Digicomp Academy AG, Zürich oder virtuell
Dienstag, 26. Jan. 2021, 08.30 Uhr - Mittwoch, 27. Jan. 2021, 17.00 Uhr

Kurs

In diesem Advanced-Kurs erlernen Sie weitergehende Methoden im Dokumentenaufbau, der Typografie und im Bereich Layouttechniken. Nach diesem Kurs können Sie strukturierte Dokumente erstellen oder bestehende effizienter anpassen.

Dauer: 2 Tage
Preis: CHF 1'400.–

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/INDEM2

Veranstaltungen
27.01.2021 - 28.01.2021

Digicomp Academy AG, Bern oder Basel
Mittwoch, 27. Jan. 2021, 08.30 Uhr - Donnerstag, 28. Jan. 2021, 17.00 Uhr

Kurs

Mit After Effects können Sie visuelle Effekte und Animationen für Video, Web, DVD und Blu-Ray erzeugen. In diesem Kurs lernen Sie die Grundlagen kennen und sehen inspirierende Anwendungsbeispiele, die Ihnen helfen, Ihre eigenen Ideen umzusetzen.

Preis: CHF 1'700.-
Dauer: 2 Tage

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/AFT

Neuste Foreneinträge


Text- oder Grafikrahmen nach Position und Größe suchen und ändern

Absätze vor/nach AF suchen

Laser Drucker druckt schwarze Flecken Links und Rechts von Blatt

Gleich Große Icons erstellen

PSD CS6 (!) Mac: Dialog "Dateiinformationen" Fenster leer und Sackgasse

Langsamer MacMini

Illustrator Skript Übersatztext - Hilfe benötigt

ID CC 2019 und 2020: Crash beim Startvorgang - 2021

Inhalt Textrahmen verbinden

iPhone Farbprofil
medienjobs