Forenindex » Programmierung/Entwicklung » AppleScript » Excel Macro über Automator ausführen

Excel Macro über Automator ausführen

pronto
Beiträge gesamt: 1180

2. Jun 2012, 12:52
Bewertung:

gelesen: 6664

Beitrag als Lesezeichen
Hi HDSler,

nachdem ich feststellen musste, dass in Microsoft Office 2008 für Mac keine Makros angelegt werden können und stattdessen diese über eine Automator Aktion ausgeführt werden sollen, bräuchte ich Unterstützung für eine geeignete Automator Aktion. Ich habe ein Makro aus Excel 2007, welches Diagramme auf eine festgelegte Größe skaliert:

Code
Sub DiaGroesse() 
Dim i As Integer
Dim j As Integer

For i = 1 To Sheets.Count
For j = 1 To Sheets(i).ChartObjects.Count
With Sheets(i).ChartObjects(j)
.Width = 250
.Height = 150
End With
Next
Next
End Sub


Wie muss ich dieses Skript als Automatoraktion anlegen und wie wird es angewandt?

Thx & Bye Tom
--
prontosystems.de - we are connecting more than computers...

(Dieser Beitrag wurde von pronto am 2. Jun 2012, 12:54 geändert)

Excel Macro über Automator ausführen

Hans Haesler
  
Beiträge gesamt: 5826

2. Jun 2012, 13:41
Bewertung:

gelesen: 6648

Beitrag als Lesezeichen
Hi Tom,

herzlich willkommen im AppleScript-Forum! :-)

Ich bin zur Zeit ausser Haus und kann erst am Abend versuchen Dir zu helfen.

Versuchen, weil ich mich erst schlau machen muss. Deshalb hoffe ich sehr, dass ein versierter Mitleser das Problem vorher lösen kann.

Gruss, Hans

Excel Macro über Automator ausführen

Hans Haesler
  
Beiträge gesamt: 5826

2. Jun 2012, 22:06
Bewertung:

gelesen: 6608

Beitrag als Lesezeichen
Hi Tom,

also ... Automator hatte ich zum letzten Mal benutzt, als ich im Jahre 2005 darüber einen Artikel für die "Fachhefte grafische Industrie" (http://www.fachhefte.ch) verfasste ...

Mein Rat: Nicht Automator einsetzen, sondern ein simples AppleScript ausführen:

Code
tell application "Microsoft Excel" 
tell active workbook
repeat with i from 1 to count of worksheets
tell worksheet i
repeat with j from 1 to count of chart objects
tell chart object j
set properties to {width:250, height:150}
end tell
end repeat
end tell
end repeat
end tell
display dialog "Fertig." buttons "OK" default button 1 with icon 1 giving up after 1
end tell

Getestet mit Excel für Mac 2011. Funktioniert wie erwartet.

Gruss, Hans

Excel Macro über Automator ausführen

pronto
Beiträge gesamt: 1180

4. Jun 2012, 16:44
Bewertung:

gelesen: 6537

Beitrag als Lesezeichen
Servus Hans,

Antwort auf [ Hans Haesler ] Mein Rat: Nicht Automator einsetzen, sondern ein simples AppleScript ausführen:

Code
tell application "Microsoft Excel" 
tell active workbook
repeat with i from 1 to count of worksheets
tell worksheet i
repeat with j from 1 to count of chart objects
tell chart object j
set properties to {width:250, height:150}
end tell
end repeat
end tell
end repeat
end tell
display dialog "Fertig." buttons "OK" default button 1 with icon 1 giving up after 1
end tell

Getestet mit Excel für Mac 2011. Funktioniert wie erwartet.


jupp tut es auch hier in Excel 2011. Ob es auch in Excel 2008 funktioniert muss ich noch ausprobieren, hab nur grad keines zur Hand.

Vielen Dank :-)

Noch was: Kann man das auch so einstellen, dass es nur auf markierte Diagramme wirkt?

Bye Tom
--
prontosystems.de - we are connecting more than computers...

(Dieser Beitrag wurde von pronto am 4. Jun 2012, 16:46 geändert)

Excel Macro über Automator ausführen

Hans Haesler
  
Beiträge gesamt: 5826

4. Jun 2012, 20:40
Bewertung:

gelesen: 6517

Beitrag als Lesezeichen
Hi Tom,

bitteschön.

Nun ... um die Abmessungen eines markierten Diagramms zu ändern, ist ein Script überflüssig.

Entweder: Man packt eine der Ecken und schiebt sie, bis die Grösse passt. Die Werte werden dauernd angezeigt (siehe "ChartSkalieren_01.png").
Oder: Man klickt auf "Diagrammlayout > Formatieren" und gibt in den Textfeldern rechts die Grösse ein (siehe "ChartSkalieren_02.png").

Gruss, Hans

Anhang:
ChartSkalieren_01.png (28.1 KB)   ChartSkalieren_02.png (14.9 KB)

Excel Macro über Automator ausführen

pronto
Beiträge gesamt: 1180

4. Jun 2012, 22:15
Bewertung:

gelesen: 6490

Beitrag als Lesezeichen
Servus,

ja bei einem Diagramm ist das sicherlich die einfachere Variante aber im Moment habe ich eine Präsentation mit jeweils zwei verschiedenen Diagrammen und davon jeweils einige. Insofern der Wunsch nach Selektion.

Aber die Eingabemaske bzg. der Größe des Diagramms gab es bei Excel 2008 noch gar nicht und Office 2011 hab ich heute erst installiert. Wenn das jetzt bei Office 2011 möglich ist, wäre das auch praktikabel...

Thx & Bye Tom
--
prontosystems.de - we are connecting more than computers...

Excel Macro über Automator ausführen

Hans Haesler
  
Beiträge gesamt: 5826

4. Jun 2012, 22:59
Bewertung:

gelesen: 6480

Beitrag als Lesezeichen
Hi Tom,

wie man per Script ein ausgewähltes Diagramm erfassen kann, habe ich auf die Schnelle nicht herausgefunden.

Du kannst mal das Funktionsverzeichnis von Excel durchstöbern:
– AppleScript-Editor starten;
– Menüartikel >Fenster > Bibliothek;

Wenn im sich öffnenden Fenster die Zeile "Microsoft Excel" noch nicht vorhanden ist:
– auf das Pluszeichen links klicken;
– im Auswahl-Dialog das Programm "Microsoft Excel.app" lokalisieren, auswählen und "Öffnen" klicken;
– jetzt ist im Fenster "Bibliothek" die Zeile "Microsoft Excel" eingetragen und ausgewählt;
– auf das dritte Symbol (die Bücher) klicken;
– warten, bis das Fenster "Microsoft Excel.sdef" geöffnet ist.

Jetzt kann das Verzeichnis durchforstet werden.

Die beiden angehängten Screenshots zeigen die Menüleiste im Normalzustand ("tabelle.png") und wenn ein Diagramm ausgewählt ist ("diagramm.png"). Wenn man auf "Formatieren" klickt, erscheinen ganz rechts die Felder für die Eingabe der Grösse.

Gruss, Hans

(Dieser Beitrag wurde von Hans Haesler am 4. Jun 2012, 22:59 geändert)

Anhang:
tabelle.png (45.9 KB)   diagramm.png (82.2 KB)