tutorials.de Buch-Aktion 02/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
1373
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    JavaBernd 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
     

  2. #2
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    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.

  3. #3
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    4.673
    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

  4. #4
    JavaBernd 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
     

  5. #5
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    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.

  6. #6
    JavaBernd 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
     

  7. #7
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    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.

  8. #8
    JavaBernd 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

  1. Antworten: 1
    Letzter Beitrag: 14.09.08, 03:16
  2. In Deutsch geschriebenes Macro in englischem Excel ausführen?
    Von SaschaT im Forum Office-Anwendungen
    Antworten: 0
    Letzter Beitrag: 12.03.08, 16:29
  3. Excel 2007 Macro -> Name der Quelldatei ändern?
    Von yodakiel im Forum Office-Anwendungen
    Antworten: 0
    Letzter Beitrag: 09.03.08, 20:47
  4. .NET Methode in einem Excel Macro aufrufen
    Von kenden im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 21.02.08, 15:50
  5. Zeilen vergleichen in Excel - Macro
    Von anubis2002 im Forum Visual Basic 6.0
    Antworten: 10
    Letzter Beitrag: 20.04.06, 20:01