ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
1373
1373
EMPFEHLEN
-
31.08.10 15:42 #1JavaBernd Tutorials.de Gastzugang
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
-
31.08.10 15:47 #2
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.016
Schau mal ob du mit Application.Visible = True/False gleich zu Beginn bzw. am Ende des Makros etwas machen kannst.
Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
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
---------------------------------------------------------------------------------------------------
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
31.08.10 16:22 #4JavaBernd Tutorials.de Gastzugang
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
-
31.08.10 16:29 #5
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.016
Stimmt damit ist es wirklich einfach:
Code vb:1 2 3 4 5 6 7 8
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.Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
31.08.10 16:34 #6JavaBernd Tutorials.de Gastzugang
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
-
31.08.10 16:38 #7
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.016
Hier gibt es einen Beitrag wo es auch darum geht: http://www.tutorials.de/office-anwen...usfuehren.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.Geändert von tombe (31.08.10 um 16:41 Uhr)
Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
31.08.10 16:58 #8JavaBernd Tutorials.de Gastzugang
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
Ähnliche Themen
-
sagen dass sich da bereits eine Seite öffnet
Von thuglife im Forum PHPAntworten: 1Letzter Beitrag: 14.09.08, 03:16 -
In Deutsch geschriebenes Macro in englischem Excel ausführen?
Von SaschaT im Forum Office-AnwendungenAntworten: 0Letzter Beitrag: 12.03.08, 16:29 -
Excel 2007 Macro -> Name der Quelldatei ändern?
Von yodakiel im Forum Office-AnwendungenAntworten: 0Letzter Beitrag: 09.03.08, 20:47 -
.NET Methode in einem Excel Macro aufrufen
Von kenden im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 21.02.08, 15:50 -
Zeilen vergleichen in Excel - Macro
Von anubis2002 im Forum Visual Basic 6.0Antworten: 10Letzter Beitrag: 20.04.06, 20:01





Zitieren


Login




