[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Verknüpfung zu einer Liste mit Produkt ID-Nummern

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

Verknüpfung zu einer Liste mit Produkt ID-Nummern

Satz21
Beiträge gesamt: 15

12. Dez 2011, 16:10
Beitrag # 1 von 17
Bewertung:
(6008 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, ich habe folgendes Problem:

Ich habe eine Liste im Tabellenformat in ID kopiert. In dieser Liste befinden sich in einer Spalte Produkte mit eindeutigen Artikel-Nummern.
Im Innenteil der Publikation tauchen diese einmaligen Artikel-Nummern bei den Produktbeschreibungen wieder auf.

Frage: Wie kann ich die Liste, möglichst ohne großem Aufwand, mit den jeweiligen Seitenzahlen jeweils zu den platzierten Artikel-Nummern in einer zusätzlichen Spalte ergänzen?

Für Hinweise binn ich jetzt schon dankbar!

lg
X

Verknüpfung zu einer Liste mit Produkt ID-Nummern

-hans-
Beiträge gesamt: 748

12. Dez 2011, 21:37
Beitrag # 2 von 17
Beitrag ID: #486166
Bewertung:
(5965 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

ohne Netz und doppelten Boden, ausgehend davon das jede Artikelnummer wirklich nur noch ein weiteres mal im Dokument vorkommt ... + die Zellen mit der Artikelnummer enthalten wirklich nur die Artikelnummer

Die Kolumne mit den Seitenzahlen wird neben der Kolumne mit den Artikelnummern eingefügt.

Kein schöner Code ;-) getestet mit CS3

Code
#target InDesign 
//Bitte den Textrahmen mit der Tabelle auswählen, dann Script starten
var newColumnContents = []

var myColumn = prompt('Bitte die Spalte der Tabelle eingeben in der die Artikelnummern stehen ', '1')
var myCells = app.selection[0].tables[0].columns[myColumn - 1].cells;

for (var i = 0; i < myCells.length;i++){
var toSearch = myCells[i].texts[0].contents;

app.findGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.findWhat= toSearch;
var resultArray = app.activeDocument.findGrep();
var luckyPunch = resultArray[1].parentTextFrames[0].parent.name.toString();
newColumnContents.push(luckyPunch)
}

app.selection[0].tables[0].columns.add(LocationOptions.AFTER, app.selection[0].tables[0].columns[myColumn - 1])

var myCells = app.selection[0].tables[0].columns[myColumn].cells;
for (var i = 0; i < myCells.length;i++){
var myCell = myCells[i];
myCell.texts[0].contents = 'Seite ' + newColumnContents[i];
}


Hoffe es klappt :)

Lieben Gruß

Hans-Gerd Claßen


als Antwort auf: [#486145]

Verknüpfung zu einer Liste mit Produkt ID-Nummern

Satz21
Beiträge gesamt: 15

13. Dez 2011, 09:37
Beitrag # 3 von 17
Beitrag ID: #486199
Bewertung:
(5923 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

vielen Dank für die schnelle Hilfe. Ich arbeite mit einem CS 4 auf PC mit XP. Mir fehlt leider das Wissen ein Script in ID einzupflegen. Werde mich einlesen und versuchen.

Gruß


als Antwort auf: [#486166]

Verknüpfung zu einer Liste mit Produkt ID-Nummern

Satz21
Beiträge gesamt: 15

13. Dez 2011, 11:48
Beitrag # 4 von 17
Beitrag ID: #486215
Bewertung:
(5897 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

ich bekomme beim starten des scripts sofort eine Fehlermeldung mit dem Text:
Fehlernummer:1024
Fehlerzeichenfolge: Anweisung erwartet

Datei:C\Programme\Adobe\Adobe InDesign CS4\Scripts\Scripts Panel\Samples\VBScript\KursScriptHans.vbs(so hab ich das genannt)

....Weißt Du Rat?

Gruß

Armin


als Antwort auf: [#486166]

Verknüpfung zu einer Liste mit Produkt ID-Nummern

kurtnau
Beiträge gesamt: 2170

13. Dez 2011, 12:21
Beitrag # 5 von 17
Beitrag ID: #486221
Bewertung:
(5882 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo armin,

nenn das script *.jsx und lege es in den javascript ordner.

gruß kurt


als Antwort auf: [#486215]

Verknüpfung zu einer Liste mit Produkt ID-Nummern

Satz21
Beiträge gesamt: 15

13. Dez 2011, 13:52
Beitrag # 6 von 17
Beitrag ID: #486235
Bewertung:
(5860 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kurt,
auch Dir zunächst ein Dankeschön.
Es ist nicht allzuleicht ohne tiefere Kenntnisse des scriptens da durchzusteigen.
Ich habe das Script umbenannt und in das entsprechende .jsx-Verzeichnis gelegt.

Eine Fehlermeldung erscheint nun an anderer Stelle des Scripts mit:
JavaScript Fehler!
Fehlernummer: 21
Fehlerzeichenfolge: undefined ist kein Objekt
...dann Zeile 14
var lucky. . .


Die Frage ist auch: dürfen die Tabellen miteinander verkettet sein?
Funktioniert das Script auch wenn schon eine Spalte für die Seitenzahl vorhanden ist?
Kannst Du noch einmal bitte schauen, Kurt? (Hans ist nicht da...)


als Antwort auf: [#486221]
(Dieser Beitrag wurde von Satz21 am 13. Dez 2011, 14:04 geändert)

Verknüpfung zu einer Liste mit Produkt ID-Nummern

kurtnau
Beiträge gesamt: 2170

13. Dez 2011, 14:30
Beitrag # 7 von 17
Beitrag ID: #486240
Bewertung:
(5842 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo armin,

ich kann dir leider nicht helften, da ich vom scripten selber leider keine ahnung habe.

gruß kurt


als Antwort auf: [#486235]

Verknüpfung zu einer Liste mit Produkt ID-Nummern

-hans-
Beiträge gesamt: 748

13. Dez 2011, 14:50
Beitrag # 8 von 17
Beitrag ID: #486242
Bewertung:
(5837 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hi,

es handelt sich um ein JavaScript.
Am besten im "C:\Program Files (x86)\Adobe\Adobe Utilities\ExtendScript Toolkit CS4\ExtendScript Toolkit.exe" öffnen und in das Verzeichnis "C:\Program Files (x86)\Adobe\InDesign\Scripts" sichern.

Über die Scriptenpalette in ID ausführen ...

Tschöle

Hans-Gerd Claßen


als Antwort auf: [#486235]

Verknüpfung zu einer Liste mit Produkt ID-Nummern

Satz21
Beiträge gesamt: 15

13. Dez 2011, 15:50
Beitrag # 9 von 17
Beitrag ID: #486247
Bewertung:
(5815 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

Ich habe das Script umbenannt und in das entsprechende .jsx-Verzeichnis gelegt.

Eine Fehlermeldung erscheint nun an anderer Stelle des Scripts mit:
JavaScript Fehler!
Fehlernummer: 21
Fehlerzeichenfolge: undefined ist kein Objekt
...dann Zeile 14
var lucky. . .


Die Frage ist auch: dürfen die Tabellen miteinander verkettet sein?
Funktioniert das Script auch wenn schon eine Spalte für die Seitenzahl vorhanden ist?

Gruß


als Antwort auf: [#486242]

Verknüpfung zu einer Liste mit Produkt ID-Nummern

-hans-
Beiträge gesamt: 748

13. Dez 2011, 16:15
Beitrag # 10 von 17
Beitrag ID: #486251
Bewertung:
(5801 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

in der Tabellenzelle mit der Artikelnummer darf nur die Artikelnummer stehen, sonst nichts. Pro Artikelnummer eine Zelle, alle Zellen in einer Kolumne ...

Die Tabelle kann verkettet sein.

Wenn luckyPunch nicht definiert ist dann gibt es für die Artikelnummer keinen Treffer. Diese Fehlermeldung kann man ausschließen, sie bedeutet aber, das die Artikelnummer im Dokument kein weiteres Mal gefunden wurde!


Code
#target InDesign  
//Bitte den Textrahmen mit der Tabelle auswählen, dann Script starten
var newColumnContents = []

var myColumn = prompt('Bitte die Spalte der Tabelle eingeben in der die Artikelnummern stehen ', '1')
var myCells = app.selection[0].tables[0].columns[myColumn - 1].cells;

for (var i = 0; i < myCells.length;i++){
var toSearch = myCells[i].texts[0].contents;

app.findGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.findWhat= toSearch;
var resultArray = app.activeDocument.findGrep();
if (resultArray.length != 1){
var luckyPunch = resultArray[1].parentTextFrames[0].parent.name;
newColumnContents.push(luckyPunch) ;
}else{
alert('Die Artikelnummer ' + toSearch + 'wurde nicht gefunden')
}
}

app.selection[0].tables[0].columns.add(LocationOptions.AFTER, app.selection[0].tables[0].columns[myColumn - 1])

var myCells = app.selection[0].tables[0].columns[myColumn].cells;
for (var i = 0; i < myCells.length;i++){
var myCell = myCells[i];
myCell.texts[0].contents = 'Seite ' + newColumnContents[i];
}


Immerhin bist Du schon soweit, dass Du keine Javascriptfehlermeldungen mehr von VB-Scripts bekommst ;-)

Tschöle

Hans-Gerd


als Antwort auf: [#486247]
(Dieser Beitrag wurde von -hans- am 13. Dez 2011, 16:17 geändert)

Verknüpfung zu einer Liste mit Produkt ID-Nummern

Satz21
Beiträge gesamt: 15

23. Dez 2011, 13:44
Beitrag # 11 von 17
Beitrag ID: #486840
Bewertung:
(5654 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

...ja ich mache Fortschritte ;-) !

Aber dennoch habe ich ein Problem wo Du vielleicht weiterhelfen kannst. Ich bekomme nach der Auswahl 1. Spalte folgende Fehlermeldung: JavaScript Fehler
Fehlernummer: 45
Fehlerzeichenfolge: Objekt ist ungültig
....
Zeile: 6

Quelle: varmyCells ....


als Antwort auf: [#486251]

Verknüpfung zu einer Liste mit Produkt ID-Nummern

-hans-
Beiträge gesamt: 748

23. Dez 2011, 15:21
Beitrag # 12 von 17
Beitrag ID: #486849
Bewertung:
(5638 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

stimmt! Weil das Script davon ausgeht, dass du einen Textrahmen auswählst - nicht eine Tabellenspalte.

Code
//Bitte den Textrahmen mit der Tabelle auswählen, dann Script starten 


Frohes Fest :)


als Antwort auf: [#486840]

Verknüpfung zu einer Liste mit Produkt ID-Nummern

Satz21
Beiträge gesamt: 15

24. Dez 2011, 12:20
Beitrag # 13 von 17
Beitrag ID: #486866
Bewertung:
(5572 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
...was soll ich sagen?

schöne Weihnacht und ein Danke!

lg

Armin


als Antwort auf: [#486849]

Verknüpfung zu einer Liste mit Produkt ID-Nummern

Satz21
Beiträge gesamt: 15

27. Dez 2011, 12:57
Beitrag # 14 von 17
Beitrag ID: #486951
Bewertung:
(5478 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
das Script funktionierte soweit es die gewünschten Eintragungen in den ersten Teil der verketteten Tabelle machte. In den zweiten Teil der Tabelle wurden nur eine Seitenzahl für alle weiteren Felder eingetragen, die alledings nicht stimmte.
Liegt es vielleicht doch an der Verkettung?

Vielen Dank für eine nochmnalige Hilfe im Voraus.

Gruß

Armin


als Antwort auf: [#486866]

Verknüpfung zu einer Liste mit Produkt ID-Nummern

Satz21
Beiträge gesamt: 15

27. Dez 2011, 14:38
Beitrag # 15 von 17
Beitrag ID: #486954
Bewertung:
(5455 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

habe jetzt ale Daten in eine komplette nicht verkettete Tabelle zusammengeführt. Bis Zeile 35 läuft allse nach Wunsch, dann wird nur noch die eine falsche Seitenzahl vom Script eingefügt.
An der Verkettung kann's ja nun nicht liegen. Wo denn? Eine Idee?

????

Tschö


als Antwort auf: [#486849]
X

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
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/