Excel Macro ausführen ohne dass sich Excel öffnet

J

JavaBernd

Hallo Zusammen,

ich verwende ein Excel-Macro um automatisiert Werte in ein Sheet eintragen zu lassen und die Datei dann unter einem anderen Namen abzuspeichern. Mein Macro wird beim öffnen durch das open-event direkt ausgeführt (wenn eine spezielle Umgebungsvariable gesetzt ist) und schließt das Fenster danach auch wieder. Das funktioniert alles wunderbar.

Mein Problem... bzw. meine Frage: Ist es möglich, und wenn ja, wie, das Macro auszuführen, ohne dass sich Excel öffnet (also das Fenster aufgeht)?
Das stört schon ziemlich, vor allem, weil es als Automatisierung einer Benutzereingabe gedacht ist... Und Benutzer sehen nicht gerne ein auf- und danach schnell zugehendes Excel-Sheet.

Vielen Dank für Eure Hilfe!
JavaBernd
 
Schau mal ob du mit Application.Visible = True/False gleich zu Beginn bzw. am Ende des Makros etwas machen kannst.
 
Oder lagere das ganz in vbscript aus. Dann hast du eine Scriptdatei die das ganze aussführt un darin kannst du die Applikation als visible=false setzen
 
Hallo Zusammen,

Application.Visible=False verkürzt zwar die Zeit, die Excel angezeigt wird um einiges.. aber ein Aufflackern ist immer noch da.
Die Idee mit VBScript klingt gut. Ich werd mal nach Code suchen und es ausprobieren.

Danke euch zwei schon mal!

MfG
JavaBernd
 
Stimmt damit ist es wirklich einfach:

Visual Basic:
dim e
set e = createobject("Excel.Application")
 
e.visible = false
e.workbooks.open "C:\Mappe1.xls"

e.Wait (Now + TimeValue("0:00:05"))
e.Visible = True

Nur mal so als Beispiel. Excel wird unsichtbar geöffnet, dann wird 5 Sekunden gewartet (was man natürlich nicht sieht) und dann erscheint Excel doch.
 
Hallo tombe,

wie würde ich in deinem VBS mein Macro starten?
Ich habe es mit e.Run Macroname versucht... aber nichts passierte.

Mein Macro ist in Modul1, hat das was damit zu tun?

Danke!

MfG
JavaBernd
 
Hier gibt es einen Beitrag wo es auch darum geht: http://www.tutorials.de/office-anwe...kro-mit-externem-vbs-programm-ausfuehren.html

Da du aber schreibst dein Makro wird beim Öffnen der Excel Datei gestartet, kannst du es doch auch so lassen und nur den Dateinamen angeben!

Ich weiß jetzt nur nicht was passiert wenn dein Makro Excel auch beendet ohne das es wieder auf sichtbar umgestellt wurde.
Dann würde ich das Beenden aus dem Makro rausnehmen und über diese Anweisung in das VB-Skript eingeben.
 
Zuletzt bearbeitet:
Hallo Zusammen,

es funktioniert.
Ich hatte e.Run Macroname die Anführungsstriche vergessen. Es geht nun mit e.Run "Macroname"

Vielen Dank für Eure Hilfe!

MfG
JavaBernd
 

Neue Beiträge

Zurück