Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Adobe Illustrator / Photoshop VBA Scripting Werte aus Excel nutzen“

MaschbauMichi

Noch nicht viel geschrieben

Hallo zusammen,

da das Scripting in Photoshop ähnlich verläuft wie im Illustrator, hoffe ich in der Photoshop-Kategorie Unterstützung zu bekommen.

Ich benötige im Illustrator 150 Rechtecke.
Jeder dieser Rechtecke hat seinen bestimmten Namen und seine eigenen Maße in Höhe und Breite.

Diese Werte sind in einer Excel-Datei abgelegt. In Spalte A der Name des Rechtecks, in Spalte B die Breite und in Spalte C die Höhe.
Von Zeile 1 bis 150.

Da ich zu faul bin alles mit der Hand zu mache und VBA oder JS im Illustrator ausprobieren will, möchte ich es mit einem Code versuchen.

Wie ich mit VBA in einem Illustrator-Dokument ein Rechteck anlege weiß ich. Nur weiß ich nicht, wie ich die Werte aus der Excel hole.

So sollte das Skript ablaufen:
- Illustrator holt sich Name, Höhe und Breite aus Excel
- Erstellt ein Rechteck mit Höhe und Breite
- Bennent das Rechteck nach dem Namen
- Wiederholt die Schleife 150 mal
- Fertig

Hat jemand eine Idee? Danke.
 

Vektorprogramme

buerzel

Versuch macht kluch!

Teammitglied
Zuletzt bearbeitet:

mm100

Benutzer

Für Scripting-Anfragen gibt es eine eigene Forenkategorie:


Ich fürchte allerdings, dass die VBS/VBA Scripter für Illustrator hier ziemlich rar sein werden. Wahrscheinlich wirst du mit Javascript eher Unterstützung finden.

Und nicht zuletzt: du benötigst in jedem Fall noch weitere Angaben wie z.B. Position und oder Abstand und auch noch, wie viele Rechtecke hintereinander in einer Linie erstellt werden sollen. Also, wann die "Zeile" an Rechtecken "umbrochen" werden soll.

Hast du vielleicht ein, zwei Beispiele?
 

ph_o_e_n_ix

acromyniker

Nachdem der TE nun noch einen weiteren Thread aufgemacht hat und hier nach wie vor kein Interesse zeigt, hat sich zumindest für mich damit das Thema schon wieder erledigt, noch bevor es richtig begonnen hat.

Immer wieder lästig, diese Pseudo-Anfragen...
 

MaschbauMichi

Noch nicht viel geschrieben

Hallo @mm100,

JavaScript ist auch für mich einfacher, als VBA, aber JS kann nicht auf Ordner zugreifen.
Ich mache das jetzt so:
Ich speichere meine Excel als CSV. Hole mir die Daten aus der CSV mit PHP, das mir in einer HTML Text-Area ein 3 dimensionales Array (da 3 Spalten bei mir) für JS erstellt. Diese kopiere ich dann und füge es in meine JS Datei im AI ein. Fertig. Umweg aber naja…
Ein Zusammenspiel zwischen AI und Excel wäre „Variable data“ ist aber leider nicht das, was ich suche.
Wenn es doch nur mit VBA eine einfach Methode gäbe Inhalt aus einer Excel-Zelle zu holen.
Gruß.
 

mm100

Benutzer

Könnte bitte ein Moderator dieses Thema nach verschieben?


@MaschbauMichi
Entweder bist du falsch informiert oder du hast dich nicht gründlich genug informiert oder ich verstehe deine Aussage nicht richtig.
JS kann auf Ordner und Dateien zugreifen.
JS kann CSV auslesen und auch Arrays vom Inhalt erstellen.
Warum willst du das Array in die JS-Datei einfügen? (Auslesen und verwenden reicht doch völlig aus)


... Und nicht zuletzt: du benötigst in jedem Fall noch weitere Angaben wie z.B. Position und oder Abstand und auch noch, wie viele Rechtecke hintereinander in einer Linie erstellt werden sollen. Also, wann die "Zeile" an Rechtecken "umbrochen" werden soll.
Hast du vielleicht ein, zwei Beispiele?

Wenn du uns ein aussagekräftiges Beispiel zeigst, die angefragten Infos nachlieferst (und wir nicht wieder 10 Tage auf Antwort warten müssen) dann können wir dir sicherlich helfen, etwas auf die Beine zu stellen.
 

MaschbauMichi

Noch nicht viel geschrieben

Hallo mm100,

Positionierungen oder ähnliches sind erst mal irrelevant. Auch das Erstellen der Rechtecke ist eigentlich irrelevant.

Mir ist nur wichtig Daten aus einer Excel zu holen und diese im AI zu verwenden.

Ich übe lediglich an Hand von Rechtecken. Die Excel Daten können auch für Farbcodes oder Texte verwendet werden.

Mir ist nur wichtig Daten aus einer Excel zu holen und diese im AI zu verwenden. Nur ohne dieses „variable data“.

Unten sieht man meinen JavaScript Code, das Resultat im AI und die Excel-Datei.

Ich habe das Array mal auf 5 Zeilen begrenzt. Der Code funktioniert einwandfrei.

Nur leider muss ich ein Array als „Datenbank“ im JS Code erstellen. Ich habe gehofft es gäbe eine Funktion oder Methode, mit der ich direkt per JavaScript auf die Zellen der Excel-Datei zugreifen kann.

Ich nutze AI Version 25.x. Freue mich auf Antworten.

Danke.

Irgendwie gehen die Bilder nicht einzufügen daher hier die Links:
https://abload.de/image.php?img=ai1hrkxf.jpg
https://abload.de/image.php?img=ai26dkow.jpg
https://abload.de/image.php?img=ai3xnjc2.jpg
tx354fq
RcrSj8C
VYCQ8Qc

image.php
image.php
image.php
 
Zuletzt bearbeitet:

mm100

Benutzer

Da habe ich jetzt zwar kein Fehlermanagement eingebaut, aber versuchs mal damit:
Code:
#target Illustrator
// rectangleDraw_dataFromCSV.jsx
// liest eine CSV-Datei aus und erstellt Rechtecke
// mm100  Mai 2021
// https://www.psd-tutorials.de/forum/threads/adobe-illustrator-photoshop-vba-scripting-werte-aus-excel-nutzen.183405/

var aDoc = app.activeDocument;
var csvFile = File ("~/Desktop/Beispieldatei.csv"); // ändere den Namen und den Pfad für deine Anforderungen

if(csvFile != null) {
    csvFile.open("r");
    var csvStr = csvFile.read();
    csvFile.close();
    csvFile = null;
    } else {
    alert("Kann die CSV-Datei nicht lesen.");
}

var rows = csvStr.split('\n');
var rect;

for (var i = 1; i<rows.length-1; i++) {
    cols = rows[i].split(';'); // für Semikolon-separierte CSV
    rect = aDoc.pathItems.rectangle(0, 0, cols[1], cols[2]);
    rect.name = cols[0];
    rect.filled = false;
}
 

MaschbauMichi

Noch nicht viel geschrieben

Danke! Das ist genau das, was ich gesucht habe!
Datei öffnen, Inhalt in ein Array einlesen, Datei schließen. Der Rest ist dann nur noch Verarbeitung des Arrays.

Wusste gar nicht, dass JavaScript sowas kann, da es aus Sicherheitsgründen bewusst so gemacht wurde. Hab es aus Neugier im Browser ausprobiert und siehe da, geht nicht. AI ist wohl keine Art von Client, wie ein Browser.

Danke. Bis zum nächsten Mal.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
175.189
Beiträge
2.582.077
Mitglieder
67.259
Neuestes Mitglied
SaschMasch1312
Oben