Connect failed: Connection timed out

[GastForen Programmierung/Entwicklung AppleScript Ordnerstruktur aus Excel-Tabelle anlegen ?

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Ordnerstruktur aus Excel-Tabelle anlegen ?

Farbenhuhn
Beiträge gesamt: 173

8. Nov 2010, 20:17
Beitrag # 1 von 16
Bewertung:
(25946 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

nach dem ich gelernt habe, was mit Apple-Script alles möglich ist starte ich eine neue Frage in diesem Board. Für mein Buchprojekt möchte ich nun für die vielen eingehenden Daten jeweils einen Ordner anlegen, in dem ich die Bilder, Texte usw. ablege.

Die Ordnernamen ergeben sich aus der mir vorgegebenen Codierung. Die Liste dieser Codierungen liegt bereits als Excel-Tabelle vor. Ich könnte mir vorstellen, dass aus dieser Excel-Tabelle automatisch die gewünschte Ordnerstruktur erzeugt werden könnte. Das wäre sicherlich deutlich einfacher und weniger fehleranfällig, als das manuell zu definieren.

Meine Versuche mit der Bridge und auch ein Blick auf a better finder rename brachten keinen Erfolg. Evtl. kann es ja Apple-Script. Eine Excel-Tabelle und eine csv-Datei zum Testen habe ich hier upgeloadet: http://ul.to/93qcgx
X

Ordnerstruktur aus Excel-Tabelle anlegen ?

-hans-
Beiträge gesamt: 748

8. Nov 2010, 21:08
Beitrag # 2 von 16
Beitrag ID: #456305
Bewertung:
(25930 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

die CSV-Datei kann AS direkt einlesen ...


Schaugst :)

Code
set foldernames to (paragraphs 2 thru -1 of (read (choose file))) --read csv-file 
set folderstructurepath to choose folder with prompt "Wo sollen die Ordner erstellt werden?"
tell application "Finder"
repeat with i from 1 to count foldernames
try
make new folder at folderstructurepath with properties {name:item i of foldernames}
end try
end repeat
end tell



als Antwort auf: [#456304]
(Dieser Beitrag wurde von -hans- am 8. Nov 2010, 21:11 geändert)

Ordnerstruktur aus Excel-Tabelle anlegen ?

Farbenhuhn
Beiträge gesamt: 173

9. Nov 2010, 17:18
Beitrag # 3 von 16
Beitrag ID: #456407
Bewertung:
(25884 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Auch hi,

schon habe ich geschaut :-)

Funktioniert wunderprächtig und in einer wahnsinnigen Geschwindigkeit. 100 Punkte von mir. Vielen Dank dafür. Aber genau so stolz bin ich auf mich selbst, dass ich das überhaupt umsetzen konnte. Ich habe es einfach als app gespeichert und gestartet wie die anderen Scripte auch. Der Rest geht dann ja von alleine. Wirklich mal wieder ganz tolle Arbeit. Wenn jetzt Sommer wäre, würde ich Dich auf ein virtuelles Eis einladen.


als Antwort auf: [#456305]

Ordnerstruktur aus Excel-Tabelle anlegen ?

-hans-
Beiträge gesamt: 748

10. Nov 2010, 10:07
Beitrag # 4 von 16
Beitrag ID: #456456
Bewertung:
(25847 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

nicht übertreiben ;-)
... außerdem: Hustensaft und Wärmflasche kämen gerade besser :(


als Antwort auf: [#456407]

Ordnerstruktur aus Excel-Tabelle anlegen ?

Hans Haesler
  
Beiträge gesamt: 5826

10. Nov 2010, 14:48
Beitrag # 5 von 16
Beitrag ID: #456502
Bewertung:
(25824 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Farbenhuhn,

hier eine Variante ohne Dialoge. :-)

Den Code als Programm speichern. Das ergibt ein Droplet (im Icon ist ein Pfeil zu erkennen), welches ins Dock gezogen werden kann.

Die csv-Datei in den Ordner legen, in welchem die Ordner erzeugt werden sollen. Und dann dieselbe Datei auf das Droplet ziehen.

Code
on open oneObject 
set csvFile to item 1 of oneObject as Unicode text
tell application "Finder" to set folPath to container of file csvFile
set folNames to (paragraphs 2 thru -1 of (read file csvFile))
repeat with i from 1 to count folNames
tell application "Finder"
try
make new folder at folPath with properties {name:item i of folNames}
end try
end tell
end repeat
end open

Es kann auch eine normale Textdatei verwendet werden. In diesem Fall muss im Script in der Zeile ...

Code
set folNames to (paragraphs 2 thru -1 of (read file csvFile)) 

... die 2 durch eine 1 ersetzt werden. Oder in der Textdatei mit einer Dummy-Zeile beginnen.

Gruss, Hans


als Antwort auf: [#456456]

Ordnerstruktur aus Excel-Tabelle anlegen ?

iowa77
Beiträge gesamt: 15

18. Dez 2010, 21:12
Beitrag # 6 von 16
Beitrag ID: #460024
Bewertung:
(25443 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

könnte man das Script auch so abändern, dass statt Ordner Bilddaten erzeugt werden? Ich tüftele da an einer automatischen Katalogproduktion mit Hilfe der Datenzusammenführung in InDesign. Meine Idee ist, auf Basis einer angelieferten Excel-Datei das Grundlayout des Katalogs zu erzeugen. Als Bilder möchte ich Platzhalter verwenden, die später durch die Feindaten ersetzt werden. Das kann ich in InDesign leicht über die Aktualisierung der Verknüpfungen realisieren. Doch dazu müssen die Platzhalterbilder einen eindeutigen Dateinamen haben weshalb sich die Artikelnummern aus der Exceltabelle anbieten.

Wenn ich also aus der Exceltabelle eine CSV-Datei erzeugen würde, die ein Applescript zur Erstellung von Bilddaten nutzen könnte, wäre das eine enorme Hilfe. Das kann jeweils eine beliebige Bilddatei sein, z.B. 10x10cm in 72 dpi im Dateiformat JPEG. Kann Applescript neue Daten erzeugen? Wenn nicht, könnte man evtl. eine Musterbilddatei irgendwo ablegen, die das Applescript kopiert und jeweils umbenennt. Die einzelnen Bilder sollten dann alle in einem Ordner liegen und die Bezeichnungen aus der CSV-Datei haben.


als Antwort auf: [#456502]

Ordnerstruktur aus Excel-Tabelle anlegen ?

-hans-
Beiträge gesamt: 748

18. Dez 2010, 22:07
Beitrag # 7 von 16
Beitrag ID: #460025
Bewertung:
(25428 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

das sollte eigentlich kein Problem sein ... eine vorhandene Bild-Dummy-Datei zu benutzen wuerde sich tatsaechlich anbieten ... Wie wäre die CSV-Datei denn aufgebaut?

Und bitte lass' mich dann nicht dumm sterben und verrate mir das geplante Vorgehen mittels Datenzusammenführung ;-) soweit ich die Funktion in ID kenne funktionieren nur recht starre Layouts ...

Gruß

Hans


als Antwort auf: [#460024]

Ordnerstruktur aus Excel-Tabelle anlegen ?

iowa77
Beiträge gesamt: 15

18. Dez 2010, 22:25
Beitrag # 8 von 16
Beitrag ID: #460026
Bewertung:
(25420 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

das einfachste Beispiel wäre wahrscheinlich wie im Eröffnungsbeitrag hier. Ich müsste ja nur in der Exceltabelle die Spalte mit den Artikelnummern extrahieren. Als erste Zeile könnte man die Spaltenüberschrift stehen lassen oder nicht, das wäre mir egal.

Die Datenzusammenführung in InDesign ist natürlich kein Ersatz für ein professionelles Database-Publishing-Tool. Bekannte Probleme sind z.B. dass immer nur ein Datensatz pro Seite erstellt wird und das keine Doppelseiten möglich sind. Das Problem habe ich aber bei meinem Projekt nicht, da ich so etwas ähnliches wie eine Loseblattsammlung für ein Makler-Exposé erstellen soll, d.h. pro Seite wird immer nur Objekt dargestellt. Die Bilder werden in unregelmässigen Abständen aktualisiert je nach Terminplan, daher die Platzhalter. Wenn ich die Platzhalterbilder mit den Texten erstmal im Layout in der richtigen Reihenfolge hätte, wäre ein Update der Bilder später kein Problem.


als Antwort auf: [#460025]

Ordnerstruktur aus Excel-Tabelle anlegen ?

-hans-
Beiträge gesamt: 748

19. Dez 2010, 10:56
Beitrag # 9 von 16
Beitrag ID: #460038
Bewertung:
(25388 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo iowa77,

CSV, Bilddummy und Zieldatei per Dialog auswählen ...

hier das Script:
Code
--Frage-Marathon ;-) 
set PicNames to (paragraphs 2 thru -1 of (read (choose file with prompt "Bitte die CSV-Datei wählen" without invisibles)))
set DummyFile to choose file with prompt "Bitte die Dummybild-Datei auswählen" without invisibles
set PicPath to choose folder with prompt "Wo sollen die Bider abgelegt werden?" without invisibles

tell application "Finder"
set theSuffix to name extension of DummyFile
end tell


repeat with i from 1 to count PicNames
try
--Pfad zur Zieldatei
set TheTargetPath to quoted form of POSIX path of ((PicPath as text) & item i of PicNames & "." & theSuffix)
--Kopieren über die Shell ...
do shell script "cp -f " & quoted form of POSIX path of DummyFile & space & TheTargetPath
on error the error_message number the error_number
display dialog "Error: " & the error_number & ". " & the error_message
end try
end repeat


Hab's noch nicht nachgeschaut, aber ich meine mich zu erinnern, dass mehrere Datensätze auf einer Seite auch möglich sind ... nur falls das für Deinen Auftrag noch von Nutzen sein könnte ...

Viel Erfolg :)

Schönen Sonntag,

Hans


als Antwort auf: [#460026]
(Dieser Beitrag wurde von -hans- am 19. Dez 2010, 11:05 geändert)

Ordnerstruktur aus Excel-Tabelle anlegen ?

iowa77
Beiträge gesamt: 15

19. Dez 2010, 12:49
Beitrag # 10 von 16
Beitrag ID: #460042
Bewertung:
(25366 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

auch das Script funktioniert ganz hervorragend wofür ich mich ebenfalls bedanken möchte.

So viel ich weiß, kann man mit der Datenzusammenführung nur mehrere Nutzen eines Datensatzes auf einer Seite platzieren, aber nicht unterschiedliche. Die Demos zeigen immer nur mehrere gleiche Nutzen einer Visitenkarte auf einer Seite, aber nie mehrere unterschiedliche.


als Antwort auf: [#460038]

Ordnerstruktur aus Excel-Tabelle anlegen ?

-hans-
Beiträge gesamt: 748

19. Dez 2010, 13:29
Beitrag # 11 von 16
Beitrag ID: #460043
Bewertung:
(25360 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

ich hab' mal kurz in die Online-Hilfe geschaut ... Also in der Hilfe http://help.adobe.com/...01ea8cb3f-6c3ca.html steht: "... Wählen Sie die Option „Mehrere Datensätze“, um mehr als einen Datensatz pro Seite einzufügen"

... aber wenn ich es richtig verstehe, dann soll ja eh' immer nur ein Datensatz auf eine Seite :)

Gruß
Hans


als Antwort auf: [#460042]

Ordnerstruktur aus Excel-Tabelle anlegen ?

unimatrix0001
Beiträge gesamt: 8

15. Jan 2015, 11:35
Beitrag # 12 von 16
Beitrag ID: #535933
Bewertung:
(19773 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

kann man das Script auch so abändern, das in den Ordnern Unterordner erzeugt werden?

Ich habe in Bridge meinen Bildern hi­e­r­ar­chisch Stichworte vergeben.

Die Stichworte kann man nun in eine txt-datei exportieren und aus dieser möchte ich eine Ordnerstruktur erstellen, um dann die Bilder einzusortieren.

Schöner wär natürlich ein direkter automatischer Export - mittels auslesen der Stichworte - der Bilder aus Bridge ohne manuelles Einordnen. Aber das kann Bridge leider nicht leisten.

Liebe Grüße

Bildschirmfoto von Bridge und die Textdatei. https://www.dropbox.com/s/d9v2pddc5ydxkby/Archiv.zip?dl=0


als Antwort auf: [#456502]

Ordnerstruktur aus Excel-Tabelle anlegen ?

Hans Haesler
  
Beiträge gesamt: 5826

15. Jan 2015, 13:09
Beitrag # 13 von 16
Beitrag ID: #535948
Bewertung:
(19752 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo unimatrix0001,

ein Script kann auch Unterordner anlegen.

Aber ich bin gerade unterwegs und werde erst gegen Abend prüfen können, ob die Angaben in Deinen Dateien dafür ausreichen.

Gruss, Hans


als Antwort auf: [#535933]

Ordnerstruktur aus Excel-Tabelle anlegen ?

Hans Haesler
  
Beiträge gesamt: 5826

15. Jan 2015, 22:22
Beitrag # 14 von 16
Beitrag ID: #535988
Bewertung:
(19702 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo unimatrix0001,

das folgende Script legt die Ordnerstruktur an. Dort wo sich die Textdatei befindet.

Zum Gebrauch:
– das Script starten;
– im Dialog die Textdatei auswählen;
– abwarten bis der Dialog "Fertig." erscheint.

Code
-- die Textdatei wählen ... 
set txtFile to (choose file) as Unicode text
-- ... und den Zielordner bestimmen
tell application "Finder" to set folPath to container of file txtFile
-- die Textdatei einlesen
set folNames to (paragraphs 1 thru -1 of (read file txtFile as «class utf8»))
-- eine Schleife durch die Ordnernamen
repeat with n from 1 to count folNames
set curName to item n of folNames
set nChars to count of curName
if nChars is greater than 0 then
repeat with c from 1 to nChars
if character c of curName is not tab then
exit repeat
end if
end repeat
set defName to text c thru -1 of curName
tell application "Finder"
try
if c is 1 then
set mainFolder to make new folder at folPath with properties {name:defName}
else if c is 2 then
set targetFolder1 to make new folder at mainFolder with properties {name:defName}
else if c is 3 then
set targetFolder2 to make new folder at targetFolder1 with properties {name:defName}
else if c is 4 then
set targetFolder3 to make new folder at targetFolder2 with properties {name:defName}
end if
end try
end tell
end if
end repeat
-- das Ende der Aktion verkünden
display dialog "Fertig." buttons "OK" default button 1 with icon 1 giving up after 2

Aber wie Du die Bilder unterbringst, weiss ich nicht.

Gruss, Hans


als Antwort auf: [#535933]

Ordnerstruktur aus Excel-Tabelle anlegen ?

unimatrix0001
Beiträge gesamt: 8

16. Jan 2015, 10:07
Beitrag # 15 von 16
Beitrag ID: #536007
Bewertung:
(19669 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

PERFEKT!

Vielen lieben Dank dafür.


Viele Grüße Matthias


als Antwort auf: [#535988]
X