[GastForen Programme Print/Bildbearbeitung Adobe InDesign Adobe Bridge / VBA

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

Adobe Bridge / VBA

pollux
Beiträge gesamt: 8

7. Jan 2007, 17:07
Beitrag # 1 von 7
Bewertung:
(3932 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
ich möchte xmp Daten aus Adobe Bridge auslesen -
Wenn möglich mit Visual Basic.
Gibt's da eine Schnittstelle (dll?)

und wenn nicht,
hat jemand ein entsprechendes Javascript?

Gregor
X

Adobe Bridge / VBA

Martin Fischer
  
Beiträge gesamt: 12778

7. Jan 2007, 21:21
Beitrag # 2 von 7
Beitrag ID: #269497
Bewertung:
(3910 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Georg,

mit Bridge und dem Skripten der Bridge kenne ich mich noch nicht so gut aus.
Aber eins kann ich Dir sagen: Bridge läßt sich nur per JavaScript ansprechen.
AppleScript und VB bleiben außen vor.

Vielleicht hilft Dir das folgende von mir leicht modifizierte JavaScript, einen Einstieg ins Skripten der Bridge zu finden (das ursprüngliche Original ist zu finden in http://www.adobeforums.com/...webx?14@@.3bc22cc1/0).

In der Bridge gibt es keine Skriptpalette wie in InDesign (oder ein Untermenü mit Skripten des Skriptordners wie in Illustrator). Die Bridge empfängt Skriptbefehle entweder direkt aus dem ExtendScript Toolkit oder aus einem StartupScriptsfolder (auf dem Mac: /Library/Application Support/Adobe/StartupScripts), in dem ein Skript liegt, das sich in ein Menü einhängt.

Das folgende Skript hängt sich im Menü "Scripts" ein (Du kannst es über das ExtendScript Toolkit einhängen). Es exportiert Dir nebst dem Dateinamen die Metadaten für Beschreibung, Autor und Copyright der sichtbaren Miniaturen tabsepariert in eine Textdatei (wird per Dialog bestimmt), die Du anschließend z.B. in Excel öffnen kannst.
Code
#target bridge   

if (BridgeTalk.appName == "bridge" ) {

// mit der folgenden Zeile wird der Eintrag "Export XLS Datei" im Menü Scripts erzeugt
var menu = MenuElement.create( "command", "Export XLS Datei", "at the end of scripts");
menu.onSelect = function(m) {
try {
// Dialog zur Eingabe des Namens der Exportdatei
var f = File.saveDialog("Dateiliste exportieren nach:", "Tabulator delimited file:*.xls");

if ( !f ) { return; }

// Spaltenkopfzeilen
f.open("w");
f.writeln("Dateiname\tBeschreibung\tPhotograph\tCopyright");

// Liste aller sichtbaren Miniaturen
var items = app.document.visibleThumbnails;
for (var i = 0; i < items.length; ++i) {
var item = items[i];
f.writeln(item.name + "\t" + ListMetadata(item) );
}
f.close();
} catch(e) {}
}
}

function ListMetadata(tn) {
md = tn.metadata;
md.namespace = "http://ns.adobe.com/photoshop/1.0/";
var varAuthor = md.Author + '\t';
var varCopyright = md.Copyright;

md.namespace = "http://purl.org/dc/elements/1.1/";
var varDescription = md.description + '\t';

return varDescription + varAuthor + varCopyright;
}


Für weitere Lernschritte empfehle ich Dir, ins Adobe Bridge Scripting-Forum reinzuschauen:
http://www.adobeforums.com/cgi-bin/webx/.3bba983b/.

Auf den CDs der Creative Suite findet sich eine JavaScript-Reference der Bridge: bridge_javascript_ref.pdf.


als Antwort auf: [#269468]
(Dieser Beitrag wurde von Martin Fischer am 13. Jan 2007, 18:59 geändert)

Adobe Bridge / VBA

Thaler
Beiträge gesamt: 139

9. Jan 2007, 18:41
Beitrag # 3 von 7
Beitrag ID: #269862
Bewertung:
(3836 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

danke für deine Antwort. Ich hatte das schon befürchtet. Dann muss ich mich wohl mit JavaScript auseinandersetzen.

Das Script funktioniert leider nicht, es schmeist mir beim Hochfahren von Adobe Bridge Fehlermeldungen.

Aber ich werde mich erstmal selbstständig reinhängen, notfalls meld ich mich nochmal.


Gregor


als Antwort auf: [#269497]

Adobe Bridge / VBA

Martin Fischer
  
Beiträge gesamt: 12778

9. Jan 2007, 19:04
Beitrag # 4 von 7
Beitrag ID: #269868
Bewertung:
(3828 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Das Script funktioniert leider nicht, es schmeist mir beim Hochfahren von Adobe Bridge Fehlermeldungen.

Hast Du's auch mal über das ExtendScript Toolkit probiert?


als Antwort auf: [#269862]

Adobe Bridge / VBA

Thaler
Beiträge gesamt: 139

13. Jan 2007, 18:16
Beitrag # 5 von 7
Beitrag ID: #270593
Bewertung:
(3767 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

ich habe es mit ExtendScript Toolkit probiert.

Die erste Fehlermeldung ist in Zeile:

var item = items[i.];

Ich hab mich getraut den Punkt nach dem i zu löschen mit dem Erfolg, dass ExtendScript Toolkit die Sache schluckt, beim hochfahren von Adobe Bridge ich dann die Fehlermeldung in Zeile:

var menu = MenuElement.create( "command", "Export XLS Datei", "at the end of scripts");

erhalte.
Mit ExtendScript Toolkit rührt sich gar nix.

Ich muss mich wohl in Javascript und mit der Entwicklungsumgebung ExtendScript Toolkit vertraut machen. Sonst wird das wohl nix.

Dennoch: Vielen Dank für die Rückfrage

Gregor


als Antwort auf: [#269868]

Adobe Bridge / VBA

Martin Fischer
  
Beiträge gesamt: 12778

13. Jan 2007, 19:03
Beitrag # 6 von 7
Beitrag ID: #270605
Bewertung:
(3751 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gregor,

>Ich hab mich getraut den Punkt nach dem i zu löschen

Sorry, das war mein Fehler.
Damit die Forensoftware "[i]" nicht als Anweisung zur Kursivstellung interpretiert, muß vor dem "i" ein Punkt eingegeben werden. Ich hatte den Punkt versehentlich nach das "i" gesetzt.

> var menu = MenuElement.create( "command", "Export XLS Datei", "at the end of scripts");

Versuch's alternativ bitte mal mit dieser Zeile:
Code
var menu = MenuElement.create( "command", "Export XLS Datei", "at the end of Tools"); 



als Antwort auf: [#270593]

Adobe Bridge / VBA

Thaler
Beiträge gesamt: 139

18. Jan 2007, 13:08
Beitrag # 7 von 7
Beitrag ID: #271284
Bewertung:
(3667 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

vielen Dank für die Antwort. Jetzt funktionierts.
Ein guter Ausgangspunkt für meine xmp-Daten

Danke
Gregor


als Antwort auf: [#270605]
X