Forenindex » Programmierung/Entwicklung » AppleScript » Excel skripten unter OSX

Excel skripten unter OSX

Goar
Beiträge gesamt: 395

15. Apr 2005, 16:33
Bewertung:

gelesen: 807

Beitrag als Lesezeichen
Hallo Forum,

es ist mal wieder so weit. Unter OS9 war Excel recordable, d.h. der Skripteditor konnte aufzeichnen, was man in/mit Excel anstellte.

Offensichtlich geht das unter OSX nicht mehr. Über einen Link in der Excel-Hilfe habe ich mir das Excel2004AppleScriptRef.pdf heruntergeladen, über 400 Seiten. Hier steht alles, was in den AS-Verzeichnissen auch steht, auch mit einigen bescheidenen Syntaxbeispielen versehen. Und alle Formate sind aufgelistet, unter denen man eine Excel-Datei abspeichern kann. Leider gibt es dazu kein Syntaxbeispiel.

Und es ist mir in zwei Stunden nicht gelungen, eine vorhandene Excel-Tabelle (mit mehreren Blättern) per Script unter einem anderen Namen, geschweige denn als Tabtext zu sichern.

Weiß jemand weiter, z.B. wie es geht und woher weitere Anfänger-Infos zu bekommen sind?
Ich trau mich gar nicht zu fragen: Gibt es unter OSX noch mehr so nette Überraschungen?

Genug gefrustet, jetzt geh ich erst mal in die Sonne
Goar

Excel skripten unter OSX

Hans Haesler
  
Beiträge gesamt: 5826

15. Apr 2005, 22:59
Bewertung:

gelesen: 806

Beitrag als Lesezeichen
Hallo Goar,

nur mit der Ruhe! ;-)

Zum Sichern unter einem neuen Namen benötigt man einen Pfad zu einem existierenden
Ordner und einen Dateinamen. Dann klappt das 'save in' problemlos. Erzeuge bitte im Ordner
"Documents" Deines Verzeichnisses den Ordner "test_Excel" und starte dann dieses Script:
---
set newPath to (path to "cusr" as Unicode text) & "Documents:test_Excel:versuch_01.xls"
tell application "Microsoft Excel"
   save active workbook in newPath
end tell

---

Das Exportieren als Tabtext ist sehr ähnlich. Das Suffix ändern, den Save-Befehl in
einen 'tell active workbook'-Block setzen und den Zusatz 'as text Mac' anbringen:
---
set newPath to (path to "cusr" as Unicode text) & "Documents:test_Excel:versuch_01.txt"
tell application "Microsoft Excel"
   tell active workbook
      save worksheet 1 in newPath as text Mac
   end tell
end tell

---
Diese Textdatei kann ohne weiteres mit BBEdit geöffnet oder in ein InDesign-Dokument oder
in ein QuarkXPress-Layout geladen werden. Doch wenn Du das Excel-Icon ersetzen willst,
dann muss Du im Script einen Finder-Befehl anschliessen:
Code
[b]tell application "Finder" [b]to set creator type [b]of file newPath [b]to "ttxt" 

Mehrere Blätter exportieren?
---
set newPath to (path to "cusr" as Unicode text) & "Documents:test_Excel:"
tell application "Microsoft Excel"
   tell active workbook
      set docName to name
      if docName ends with ".xls" then
         set docName to text 1 thru -5 of docName
      end if
      repeat with i from 1 to count of worksheets
         set sheetName to name of worksheet i
         save worksheet i in newPath & docName & "_" & sheetName & ".txt" as text Mac
      end repeat
   end tell
   close active workbook saving no
end tell

---
Zu beachten: Die Blätter werden dabei umbenannt mit den entsprechenden Textdatei-Namen und
das Dokument selbst bekommt den letzten Textdatei-Namen. Keine Panik: Das Script schliesst das
Dokument ohne zu sichern.

Wo gibt es weitere Informationen? Nun, für die obenstehenden Beispiele habe ich soeben kurz im
Verzeichnis nachgesehen und dann ausprobiert, bis es funktionierte. Eine andere Quelle: In der
"AppleScript User's"-Mailing-Liste werden ab und zu Fragen zu Excel gestellt.

Weitere OS-X-Überraschungen? Bestimmt. Aber dadurch ist doch für Abwechslung gesorgt ... ;-)

Gruss, Hans

Excel skripten unter OSX

Goar
Beiträge gesamt: 395

16. Apr 2005, 11:48
Bewertung:

gelesen: 806

Beitrag als Lesezeichen
Ja, Hans,

Deine Entfrustungsantwort ging mir runter wie warmes Öl.
Besonders wirkungsvoll: die Lektüre Deiner Skripts, die lesen sich wie ein Unterhaltungsroman.
Und natürlich klappte es gleich, nachdem ich den Pfad aktualisiert hatte.
Warum bin ich nicht selber drauf gekommen?

In dem o.g. pdf von MS war allerdings immer die Rede von "save as" und "save workbook as", vielleicht habe ich mich davon ins Boxhorn jagen lassen, statt im naheliegenden Verzeichnis nachzusehen.

Herzlichen Dank und bis demnächst
Goar

Excel skripten unter OSX

Hans Haesler
  
Beiträge gesamt: 5826

16. Apr 2005, 12:15
Bewertung:

gelesen: 806

Beitrag als Lesezeichen
Hallo Goar,

bitteschön! Und danke für den Hinweis auf die Excel2004AppleScriptRef-Datei.
Muss ich gelegentlich auch runterladen.

Gruss, Hans