Benutzerdefinierte Suche

nochmal Excelblatt

  1. cosmovitelli

    cosmovitelli Thread StarterMacUser Mitglied

    Mitglied seit:
    04.10.2004
    Beiträge:
    268
    Zustimmungen:
    0
    Tag zusammen, hab jetzt ein Script gebastelt in dem eine Exceldatei geöffnet wird. Dann sollte ein Makro ablaufen und die Datei sollte wieder geschlossen werden.
    Das mit dem Makro hab ich gelassen. Besser ist wenn Applescript die Aufgabe übernimmt. Konkret heisst das einige Spalten löschen und einige Blätter löschen.
    Code:
    tell application "Finder"
    	
    	activate
    	open document file "Liste AgHs aktuell.xls" of folder "impuls" of folder "Documents" of folder "user" of folder "Users" of startup disk
    	
    	
    	tell application "Microsoft Excel"
    		
    		delete column {"10", "11", "12", "13", "22", "23", "24", "25"} of sheet 1
    		
    		delete column 5 of sheet 2
    		
    		delete sheet "Beurteilung"
    		delete sheet "Stundennachweis"
    		delete sheet "Trainingsmaßnahme"
    		delete sheet "Auswertungen"
    		
    	end tell
    	
    	delay 20
    	
    end tell
    tell application "Microsoft Excel"
    	save
    	quit
    end tell
    Das klappt auch bis auf 2 Dinge. Der "delete" Befehl klappt nur wenn die Spalten einzeln benannt werden. Also delete column 1 of...delete column 2 of..
    was aber wichtiger ist, Excel fragt nach dem Löschen der Blätter ob sie tatsächlich gelöscht werden sollen. Ich finde im Programm keine Möglichkeit diese Meldung zu unterlassen.
    Kann ich diese Antwort mit AS erledigen??
    und wenn ja wie??
    cosmo
     
    cosmovitelli, 31.12.2005
  2. mekkablue

    mekkablueMacUser Mitglied

    Mitglied seit:
    28.01.2005
    Beiträge:
    738
    Zustimmungen:
    46
    Schau mal, ob du nicht ein Property entsprechend setzen kannst, z.B. display alerts auf false, laut Excel-Dictionary steht das nämlich für: »Returns or sets if Microsoft Excel displays certain alerts and messages while a VB macro is running.« Möglicherweise sind diese Sicherheitsabfragen beim Löschen ebenfalls davon betroffen. Schau dir auch den hier an: alert before overwriting. Vielleicht brauchst auch nur in den Einstellungen von Excel selbst etwas umstellen, und nicht in deinem Script?

    Hast du schon probiert, statt delete einfach mal delete range zu verwenden? In meinen Excel-Script-Zeiten (lang, lang ists her) hab ich immer nur mit den range-Kommandos gearbeitet.
     
    mekkablue, 05.01.2006
  3. Jabba

    JabbaMacUser Mitglied

    Mitglied seit:
    21.11.2003
    Beiträge:
    4.458
    Zustimmungen:
    109
    Die Alerts kann man nur mit VBA aus- und wieder einschalten.

    Zum generellen Problem:
    Warum soll Excel VBA NICHT ein paar Zeilen, Tabellen etc löschen und sich dann selbst beenden können? Wo/Was ist denn Deine ursprüngliche Frage?
     
    Jabba, 05.01.2006
  4. cosmovitelli

    cosmovitelli Thread StarterMacUser Mitglied

    Mitglied seit:
    04.10.2004
    Beiträge:
    268
    Zustimmungen:
    0
    Problem gelöst.
    Code:
    	
    	end tell
    	tell application "Microsoft Excel"
    		set display alerts to false
    		
    das wars. Jetzt läuft alles durch. Automator holt mir die Datei vom Webspace und legt sie mir auf meinen Desktop.
    Applescript öffnet sie und löscht einige Spalten, einige Blätter und schließt die Datei wieder. Dann reicht der Automator sie weiter an Mail und Mail versendet sie an eine Empfängergruppe. Super!! Das ganze lege ich noch als Script in iCal und dann erledigt sich die Arbeit einmal pro Woche von selbst.
    Für 0 Ahnung von Applescript nicht schlecht.
    Allerdings musste ich viel testen. Das löschen der Spalten hat auch nur geklappt wenn die letzte zu erst gelöscht wurde.
    Also erst 20,18,13, usw. Vielleicht gibt es auch eine Möglichkeit die Kopfzeilen der Tabelle anzusprechen aber das hab ich nicht geblickt.
    Immerhin läuft alles.
    cosmo :D
     
    cosmovitelli, 05.01.2006
Die Seite wird geladen...
Ähnliche Themen - nochmal Excelblatt
  1. oe7
    Antworten:
    0
    Aufrufe:
    464