[GastForen Programmierung/Entwicklung AppleScript „FileMaker Pro Advanced“ hat einen Fehler erhalten: Die Verbindung ist ungültig."

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

„FileMaker Pro Advanced“ hat einen Fehler erhalten: Die Verbindung ist ungültig."

Anonym
Beiträge gesamt: 22827

27. Nov 2006, 12:53
Beitrag # 1 von 6
Bewertung:
(2073 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,
hab ein AS, das über FileMaker eine Dateiumbenamung steuern soll. Ich hatte es auch schon am laufen.
Ein Ordner wird über alle Unterordner nach QXPs gescannt. Diese werden in ein Liste geschrieben und anschließend werden alle nacheinander über eine FM-Formel und eine verknüpfte Arbeitsseite-zu-Pagina DB umbenamt (etwas aufwendigere Umstellung und Neubenamung; da ich fitter mit FM als mit AS bin, hab ich diesen Teil über FM rechnen lassen.).
Anschließend werden nacheinander in allen QXPs auch die Layoutnamen aktualisiert.

Hatte das Script am laufen. Dann mit Droplet probiert, seitdem erhalte ich die Meldung:
„FileMaker Pro Advanced“ hat einen Fehler erhalten: Die Verbindung ist ungültig."

Das kenne ich auch nur aus QXP bei defekten Projekten/Dateien.

Hat jemand eine grundsätzliche Idee, in welche Richtung ich mal prüfen kann?

Hatte erst auf der eigenen Platte getestet, dann im Netz. Geht aber jetzt weder noch.

Viele Grüße
Gerd
Ach ja, hier mal das Script:

global quarkverzeichnis --Basisordner, ab dem Quarkdateien gesucht werden sollen
global liAlteDateinamen --Liste der Quarkdateien am Anfang
global liNeueDateinamen --Liste der Quarkdateien nach Umbenennung (evtl. Fehlerstring drin!)
global liUmbenannteDateien --Liste der kompletten Pfade der umbenannten Dateien

set quarkverzeichnis to "Macintosh HD:Users:Admin:Desktop:#Auftrag:FMLösung_Standard:TD"

set liAlteDateinamen to {}
set liNeueDateinamen to {}
set liUmbenannteDateien to {}

-- -------------------------------------------------------------------------------------------------
--
--                HANDLER
--

-- -------------------------------------------------------------------------------------------------
-- Handler, der nachschaut, ob ein Ordner schon in der liOrdnerOK drin ist:
--
on istSchonInOrdnerOKListe(pfad)
set myLocalAnz to count items of liOrdnerOK
repeat with i from 1 to myLocalAnz
-- liOrdnerOK ist Liste von Paaren. Ich prüfe daher von jedem item wieder den ersten item.
if item 1 of item i of liOrdnerOK is equal to pfad then
return true
exit repeat
end if
end repeat
return false
end istSchonInOrdnerOKListe

--
--
-- Handler, der aus einem kompletten HFS-Pfad den Dateinamen extrahiert
--
--
on extrahiereDateinamen(myname)
set olddelim to AppleScript's text item delimiters
set AppleScript's text item delimiters to ":"
try
set resultat to the last item of the text items of myname
set AppleScript's text item delimiters to olddelim
on error
set AppleScript's text item delimiters to olddelim
end try
return resultat
end extrahiereDateinamen

--
--              ENDE HANDLER
--
-- -------------------------------------------------------------------------------------------------

-- -------------------------------------------------------------------------------------------------
--
--              HAUPTROUTINE
--


--Mit Finder Liste der Quarkdateien  in einem gegebenen Grundverzeichnis aufbauen.
tell application "Finder"
set quarkfileobjects to entire contents of folder quarkverzeichnis
--Noch ausdünnen: Nur Quarkdateien!
repeat with myobj in quarkfileobjects
if class of myobj is document file then
if the creator type of myobj is "XPR3" then
set liAlteDateinamen to liAlteDateinamen & (myobj as string)
end if
end if
end repeat
end tell

--Nun mit Hilfe von FileMaker die neuen Dateinamen ermitteln und die liNeueDateinamen aufbauen.
tell the application "FileMaker Pro Advanced"
open "Macintosh HD:Users:Admin:Desktop:#Auftrag:FMLösung_Standard:Umbenamungstest"


--Schleife über Liste der Quarkdateien
repeat with quarkdatei in liAlteDateinamen
set aktfile to my extrahiereDateinamen(quarkdatei)

set cell "Name_Alt" to aktfile
--FileMaker füllt nun die Felder Pagina_Alt, Pagina_Neu und Name_Neu aus.
--Damit machen wir weiter:
--Testen ob Zelle Pagina_Neu aus Tabelle Seitenzahlen nicht leer. Dann haben wir ein Problem.
if cell "Pagina_Neu" is not "" then
set liNeueDateinamen to liNeueDateinamen & {cell "Name_Neu"}
else
set liNeueDateinamen to liNeueDateinamen & {"unbekannte Pagina"}

end if
end repeat
close document 1
end tell


--Finder alle Quarkdateien umbenennen lassen + grün färben, wenn OK
tell the application "Finder"
set dateianzahl to count items of liAlteDateinamen
repeat with i from 1 to dateianzahl
--enthaltenden Ordner der aktuellen Datei (noch nicht umbenannt) grün färben.
set aktdatei to ((item i of liAlteDateinamen) as alias)
set aktOrdner to ((container of aktdatei) as string)
--Wenn der Ordner nicht schon rot gefärbt ist (Index ist 2), dann färbe ich ihn grün:
if the label index of folder aktOrdner is not 2 then
set the label index of folder aktOrdner to 6
end if
--fragen, ob neuer Dateiname ungleich "unbekannte Pagina".
--Falls ja, können wir die Datei umbenennen und sie grün färben.
--Falls nein, können wir sie nicht umbenennen, färben sie rot und färben auch
-- den umgebenden Ordner rot!
set neuername to item i of liNeueDateinamen
if neuername is not "unbekannte Pagina" then
set the name of aktdatei to neuername
set label index of file aktdatei to 6
set liUmbenannteDateien to liUmbenannteDateien & {aktdatei as string}
else
--rename not possible
set label index of file aktdatei to 2
set label index of folder aktOrdner to 2
end if
end repeat
end tell


--Quark alle umbenannten Dateien aufmachen lassen und Neuen Namen als Layoutnamen einsetzen
tell the application "QuarkXPress Passport"
activate
repeat with aktfile in liUmbenannteDateien
open file aktfile
-- Neuen Dateinamen einsetzen
set myname to my extrahiereDateinamen(aktfile)
set myprops to properties of project 1
set name of active layout space of myprops to myname
-- Resultat speichern
save document 1
close document 1
end repeat
end tell
X

„FileMaker Pro Advanced“ hat einen Fehler erhalten: Die Verbindung ist ungültig."

Hans Haesler
  
Beiträge gesamt: 5818

27. Nov 2006, 14:00
Beitrag # 2 von 6
Beitrag ID: #421358
Bewertung:
(2072 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerd,

leider habe ich FileMaker nicht zur Verfügung. Deshalb kann ich auch
nicht das Problem reproduzieren.

Wenn ich Deine Andeutung richtig auslege, dann ist aber FileMaker
nicht unbedingt erforderlich. Das Ganze könnte also vereinfacht
werden und die Fehlerquelle wäre ausgeschaltet.

Sende mir doch bitte die Beispiel-Text-Dateien mit den alten und den
neuen Namen. Dann werde ich versuchen, ein Droplet zum Laufen
zu bringen.

Gruss, Hans


als Antwort auf: [#421357]

„FileMaker Pro Advanced“ hat einen Fehler erhalten: Die Verbindung ist ungültig."

Anonym
Beiträge gesamt: 22827

27. Nov 2006, 14:53
Beitrag # 3 von 6
Beitrag ID: #421359
Bewertung:
(2072 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
vielen Dank für das Hilfsangebot!! Ich muss leider immer wieder die unterschiedlichsten Umbenamungen auf die Reihe bekommen und das kann ich relativ spielend mit FM realisieren. Mit AS scheint mir das schon aufwendiger.
Beispiel:
CH_L_00722_AS0002_TD_T00  wird zu
CHD_00722_AS0144_D_S

Das "S" ist wieder von bestimmten Parametern (Bogen-) abhängig. Bei anderen Sprachen sieht es dann wieder anders aus (Bei diesem schweizer Kunden: D, FR, I).

Per FM können das meine Kollegen selber. Mit AS bin ich noch nicht mal der Einäugige unter den Blinden. Die anderen können es gar nicht. Deshalb will ich das Problem auf alle Fälle FM gestützt lösen.

Hätte ja sein können, dass es eine Standard-Erklärung für das Problem gibt.

Vielen Dank und herzliche Grüße
Gerd


als Antwort auf: [#421357]

„FileMaker Pro Advanced“ hat einen Fehler erhalten: Die Verbindung ist ungültig."

Anonym
Beiträge gesamt: 22827

27. Nov 2006, 15:04
Beitrag # 4 von 6
Beitrag ID: #421360
Bewertung:
(2072 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
... Ergänzend noch dazu: Die Anzahl der Stellen vor dem "D" ist nicht immer gleich. Ich muss also bei meiner Abrage ein paar Prüfungen auf "_" oder eine Buchstabenfolge laufen lassen, um die Dateinamenstruktur erst Mal zu finden.

Viele Grüße
Gerd


als Antwort auf: [#421357]

„FileMaker Pro Advanced“ hat einen Fehler erhalten: Die Verbindung ist ungültig."

Hans Haesler
  
Beiträge gesamt: 5818

27. Nov 2006, 15:09
Beitrag # 5 von 6
Beitrag ID: #421361
Bewertung:
(2072 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerd,

okay. Aber dann kann Dir hoffentlich
ein FM-versierter Mitleser weiterhelfen.

Gruss, Hans


als Antwort auf: [#421357]

„FileMaker Pro Advanced“ hat einen Fehler erhalten: Die Verbindung ist ungültig."

Anonym
Beiträge gesamt: 22827

30. Nov 2006, 11:01
Beitrag # 6 von 6
Beitrag ID: #421362
Bewertung:
(2073 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,
hab den Fehler noch selber gefunden:
--Nun mit Hilfe von FileMaker die neuen Dateinamen ermitteln und die liNeueDateinamen aufbauen.
tell the application "FileMaker Pro Advanced"
open "Macintosh HD:Users:Admin:Desktop:#Auftrag:FMLösung_Standard:Umbenamungstest"

hier wird versucht gleichzeitig FM aufzurufen und eine Datei, die FM mit startet.

Ich hab die FM DB einfach "kompiliert", bestehend aus zwei DBs (1 x UmbenamungsDB und 1 x Seiten Alt-Neu).
Die Alt-Neu wird jeweils in die Auftragsordner abgelegt, mit den auftragsbezogenen Reproplänen für die Zuweisung, welche Arbeitsseite zu welcher Pagina wird. Das ist ein Bestandteil des neuen Namens.

Wenn nun ein Mitarbeiter mit seinen Dokumenten fertig ist, kopiert er einfach die entspr. DB in den FM Projektordner, zieht dann den Ordner mit all seinen Unterordnern und QXP-Files zur Dateinamenumrechnung auf das AS-Droplet und alle gewünschten QXPs (nur die letzte und damit aktuelle Version - hat eine Endung "TOK" - die ich bei der Dateinamenerstellung in FM berücksichtige). Damit werden im ersten Schritt alle Dateinamen nach der neuen Syntax incl. der Pagina Information erzeugt und die Benamung durchgeführt (Bei einem 890 Seiten Katalog und Doppelseitenarbeitsweise dauert der Teil auf nem Powerbook mit 1 GHz ca. 5 Minuten). Anschließend schnappt sich das Script den "äußeren" Dateinamen der Dokumente, kopiert diesen und öffnet das Dokument, um anschließend auch den Layoutnamen entsprechend zu ändern. Dann noch speichern und schließen usw. bis alle Daten fertig sind.

Die Datensätze, die passen, werden grün etikettiert, die nicht funktioniert haben (Reproplanfehler), rot, und die, die nicht umgerechnet werden mussten, blieben ungefärbt.

Spart uns bei dieser Größenordnung ca. 3 Manntage und dauert insgesamt ca. 1-1,5 Std.

Gruß
Gerd


als Antwort auf: [#421357]
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.12.2022

Online
Donnerstag, 01. Dez. 2022, 10.00 - 10.45 Uhr

Webinar

Die drei ColorLogic-Programme ZePrA, CoPrA und ColorAnt sind in neuen Versionen mit vielen neuen Funktionen im Jahr 2022 veröffentlich worden oder werden in Kürze veröffentlicht (ColorAnt 9). In unserem ca. 45 minütigen kostenlosen Webinar zeigen wir Ihnen einige dieser neuen Funktionen mit dem Schwerpunkt auf Automatisierung und Produktivitätssteigerungen.

Ja

Organisator: Impressed GmbH

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=311

ColorLogic Update-Webinar ZePrA 10, CoPrA 9 und ColorAnt 9
Veranstaltungen
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/