Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Joo42 •->

Anmeldedatum: 17.08.2015 Beiträge: 2
|
Verfasst am: 17.08.2015 - 13:34 Titel: Anlage eines Ordners über Parameter |
|
|
Hallo,
ich habe folgendes Applescript:
Code: | tell application "Finder"
make new folder at folder "data" of folder "Horizon" with properties {name:foldername}
end tell |
Jetzt möchte ich das statt den ordnernamen fest anzugeben, dieser variabel ist und bspw. über einen Userform aus excel angegeben werden kann.
Geht das Irgendwie?
Vielen Dank im Voraus
Gruss Jörg |
|
Nach oben |
|
 |
Lösung_Monitor_Auflös_App •-->

Anmeldedatum: 25.01.2016 Beiträge: 53
|
Verfasst am: 10.02.2016 - 10:56 Titel: |
|
|
ich würde das so lösen:
1) Aus dem Excel heraus kannst du handlings den Zwischenspeicher füttern mit (Apfel-Taste+c)
2) dann klickst du ein AS-script an das Z.B. auf dem dock deponiert ist und sog on run und on open Eigenschaften besitzt, als .app-Programm gespeichert (darüber gibt dir in hervorragender Weise Snows handler-Seite Auskunft nach der du dein obiges Script etwa in folgende Blöcke adaptieren könntest:
http://www.fischer-bayern.de/applescript/html/handler.html
Zitat: | on run
set theFileList to choose folder with multiple selections allowed
GetFileName(theFileList) -- Aufruf des Handlers
end run
on open theFileList
GetFileName(theFileList) -- Aufruf des Handlers
end open |
einen direkten Weg aus Excel gibt es sicherlich aber wenn ich die Mühen von Word mit dem AS als Warnung heranziehe würde ich dir eher abraten von so einem Unterfangen das man nun wirklich leichtestens mit dem Zwischenspeicher umgehen kann. |
|
Nach oben |
|
 |
Wolle-77 •--->


Anmeldedatum: 25.02.2003 Beiträge: 449 Wohnort: Geldern
|
Verfasst am: 10.02.2016 - 16:39 Titel: |
|
|
Sag mal bitte, "Lösung_Monitor_Auflös_App"
Du bist aber nicht zufällig die Reinkarnation vom ehemaligen Forumsmonster, dem Dermatologen aus O. im naheliegendsten Nicht-EU-Land, oder?
Denn Deine Beiträge lesen sich genauso schwerfällig, krude und beinhalten unglaublich verschwurbelt fast keinerlei Substanz, dafür aber kilometerlange Spaghetticode-Ressourcenfresser.
Sorry, aber wenn Du Joo42 mit seinem inzwischen halben Jahr alten "Problem" helfen willst, dann tu das doch einfach und schippte ihm was fertiges oder laß es bleiben. Aber Du brauchst doch nicht einem ASler zu erklären, was eine Zwischenablage ist und auf rudimentäre Grundtechniken verweisen, die vor zehn Jahren (!) mal verfasst worden sind?
Wenn sich Joo meldet, werde ich ihm mal was basteln, aber ich glaube, das ist nicht mehr akut.
Nur meine Meinung. _________________ Martin Wolter
--
Apple rocks the planet! |
|
Nach oben |
|
 |
Lösung_Monitor_Auflös_App •-->

Anmeldedatum: 25.01.2016 Beiträge: 53
|
Verfasst am: 11.02.2016 - 13:31 Titel: Re: Anlage eines Ordners über Parameter |
|
|
sorry edit 24.2.16:
Zwischenspeicher ist wohl keine gute Lösung: man sollte ihn ja prinzipiell meiden im AS
(ausser im FileMaker, wo für markierten Text keine Alternative exisitert)
Erst jetzt habe ich mich erinnert (man vergisst ja so viel):
der Umgang mit Words do Visual Basic ist verschlungen, Finten- und Fehler-reich im Vergleich zum geradezu trivialen Umgang mit Excels Appel-Script-Sprachen Gebrauch:(document , Sheet , Cell)
Joo42 hat Folgendes geschrieben: |
Code: | tell application "Finder"
make new folder at folder "data" of folder "Horizon" with properties {name:foldername}
end tell |
|
Mein gebastel zu obigem Problem würde also so lauten: hat Folgendes geschrieben: | tell application "Microsoft Excel"
tell document "Arbeitsmappe1"
tell Sheet "Tabelle1"
set Clipper to Formula of Cell "Z1S1"
end tell
end tell
end tell
--set Clipper to the clipboard
set Aus_Excel_gelesener_Ordnername to Clipper
tell application "Finder"
display dialog ¬
"der neue, aus Excel kopierte Ordner heisst:
Kannst diesen Namen HIER noch ändern-->" default answer Aus_Excel_gelesener_Ordnername
copy the result as list to {Antwort, ButtKlick}
set foldername to Antwort
try
--try <--für den Fall dass schon ein solchnamiger Ordner existiert
make new folder at folder "data" of ¬
folder "Horizon" with properties ¬
{name:foldername}
end try
--zur Kontrolle:
open folder "Horizon"
set frontmost of application "Finder" to true
end tell |
An Joo42:
Wenn du dennoch Zwischenspeicher brauchen willst wäre dein script dann sehr praktisch, wenn es als Programm gespreichert ist "as .app" und dann der link dazu Z.B. auf den Schreibtisch oder im Dock positioniert wird.
Zuletzt bearbeitet von Lösung_Monitor_Auflös_App am 20.04.2016 - 08:00, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Lösung_Monitor_Auflös_App •-->

Anmeldedatum: 25.01.2016 Beiträge: 53
|
Verfasst am: 26.02.2016 - 16:09 Titel: |
|
|
Was ich so schätze an Joo24 ist, dass er Zeit gibt wieder auf meinen ursprünglichen Vorschlag zurückzugreifen, nämlich einen {on run on open-handler} vorzuschlagen von folgendem Bautyp:
Zitat: | on run
set derFILE to choose file
MachWas(derFILE)
end run
on open derFILE
MachWas(item 1 of derFILE)
end open
on MachWas(derFILE)
return display dialog derFILE as text
end MachWas
|
Mit sowas kann man jenes Excel-doc "ziehen", das die entsprechenden Tabellen-Felder enthält, welche Angaben über die Finder-Ordner-Topographie enthalten und zwar direkt über das AS kann man es "ziehen" wenn das AS als {ein.. Programm.. .app} gespeichert ist, am besten auf dem Schreibtisch oder im Doc abgelegt
Deine Findertopographie habe ich belassen, wirst sie im untersten handler-Block wiedererkennen:
Joo42 hat Folgendes geschrieben: |
Code: | tell application "Finder"
make new folder at folder "data" of folder "Horizon" with properties {name:foldername}
end tell | |
Mein ultimativer?! Vorschlag hat Folgendes geschrieben: | on run
tell application "Finder" to set FileListe to ¬
{file (choose file with prompt ¬
"Wähle ein Excelfile um einen neuen Ordner zu kreieren" as list)}
set FileListe to FileListe as text
tell application "Finder"
activate
(select alias FileListe) activate
end tell
my excelFeldinhaltAlsOrdnername(FileListe)
end run
on open FileListe
my excelFeldinhaltAlsOrdnername(FileListe)
end open
on excelFeldinhaltAlsOrdnername(FileListe)
set EinExcelFile to name of (get info for alias FileListe)
tell application "Finder"
open file FileListe
end tell
tell application "Microsoft Excel"
Activate
tell document EinExcelFile --Z.B. "Arbeitsmappe1"
tell Sheet "Tabelle1" --<--Z.B.
set Clipper to Formula of Cell "Z1S1" --<--Z.B.
end tell
end tell
set Aus_Excel_gelesener_Ordnername to Clipper
display dialog ¬
"der neue, aus Excel kopierte Ordner heisst:
Kannst diesen Namen HIER noch ändern-->" default answer Aus_Excel_gelesener_Ordnername
end tell
copy the result as list to {Antwort, ButtKlick}
set foldername to Antwort
tell application "Finder"
try
--try <--für den Fall dass schon ein solchnamiger Ordner existiert
make new folder at folder "data" of ¬
folder "Horizon" with properties ¬
{name:foldername}
end try
--zur Kontrolle:
open folder "Horizon"
set frontmost of application "Finder" to true
end tell
end excelFeldinhaltAlsOrdnername |
|
|
Nach oben |
|
 |
Wolle-77 •--->


Anmeldedatum: 25.02.2003 Beiträge: 449 Wohnort: Geldern
|
Verfasst am: 26.02.2016 - 19:24 Titel: |
|
|
Sorry, aber zu diesem Kauderwelsch in Sprach- und komplett blödsinnigen, umständlichen und unperformanten Spaghetticode in vergewaltigter Scriptform kann ich nur eines sagen:
„Hilfe, Er ist wieder da!” _________________ Martin Wolter
--
Apple rocks the planet! |
|
Nach oben |
|
 |
Lösung_Monitor_Auflös_App •-->

Anmeldedatum: 25.01.2016 Beiträge: 53
|
Verfasst am: 28.02.2016 - 11:01 Titel: was ist odd so plötzlich im Forum? wie HILFE? den HILFElosen |
|
|
Joo42 hat Folgendes geschrieben: | ...über einen Userform aus excel angegeben werden kann.
Geht das Irgendwie?
|
nanu, so dann halt meine simplifizierte Fassung:
läuft es wenigstens bei euch?
Mein Gebastel also: hat Folgendes geschrieben: | on run
tell application "Finder" to set aaa to ¬
{file (choose file with prompt ¬
"Exceldatei wählen aus dessen Zellinhalt \"ein Ordnernamen über einen Userform aus excel angegeben werden kann\"(Zitat Joo42)" as list)}
set aaa to aaa as text
my aHANDLER(aaa)
end run
on open aaa
my aHANDLER(aaa)
end open
on aHANDLER(aaa)
set bbb to name of (get info for alias aaa)
tell application "Finder"
open file aaa
end tell
tell application "Microsoft Excel"
activate
tell document bbb
tell sheet "Tabelle1"
set ccc to formula of cell "Z1S1"
end tell
end tell
display dialog ¬
"die gewählte Excel-Datei liefert aus Zelle \"Z1S1\"den Ordnernamen:
Man kann diesen Namen HIER noch ändern-->" default answer ccc
end tell
copy the result as list to {foldername, eee}
tell application "Finder"
make new folder at folder "data" of folder "Horizon" with properties {name:foldername}
open folder "Horizon"
set frontmost of application "Finder" to true
end tell
end aHANDLER |
mit den ca. 7 letzen Zeilen wäre doch dann in etwa dem entsprochen was Joo42 als Vorgabe hingelegt hat:
Joo42 hat Folgendes geschrieben: | tell application "Finder"
make new folder at folder "data" of folder "Horizon" with properties {name:foldername}
end tell |
|
|
Nach oben |
|
 |
|