Liebe Leser,
Wenn dies Ihr erster Besuch hier ist, lesen Sie bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Sie müssen sich vermutlich registrieren, bevor Sie Beiträge verfassen können. Klicken Sie rechts auf 'Jetzt registrieren.', um den Registrierungsprozess zu starten.
Ergebnis 1 bis 7 von 7
  1. #1
    Avatar von Eric March
    Eric March ist offline Halbes Gigabyte
    Mein System
    MainboardMSI MS-7094 = K8T Neo2-F V20
    ProzessorAthlon 64 4000+
    GrafikkarteNVIDIA GeForce FX7600
    RAM2 x 1024MB DDR1
    Festplatte(n)1 x 120GB Maxtor PATA 1 x 160GB WD PATA 1 x 500GB Samsung SATA 1 x 250GB WD SATA
    Andere Laufwerke1 x Floppy 1 x NEC 3540 DVD Brenner 1 x Toshiba 1912 DVD RAM
    Netzteil (inkl. Spannungswerte)400W NoName
    SoundkarteSoundBlaster (+ AC97 OnBoard)
    BetriebssystemXpPro SP3 (IE7; DE-Sprachpack)
    AV-SoftwareAvast
    FirewallWIN (Kasperky aus, kein Router)
    System-/OptimierungstoolsRegedit & Brain 1.0 :-)
    Art des InternetzugangsDSL-6000
    Router/ModemACER 56 / WRT160N / Huawei
    MonitorFlatscrren hp, 17"
    SonstigesCardReader HBCI an USB. 4-Slot Speicherkaretenleser. 'n paar Bildaufnahmegeräte. Zusäzlicher I'net-Zugang per Mobilfunk
    Registriert seit
    09.2003
    Ort
    Im Herzen Deutschlands
    Beiträge
    5.512

    XL-Makro: Fokusverluste (oder was sosnt?)

    Hallo!

    Folgender Code (alles richtig gedimt & belegt) einer Mappe C…
    Code:
      Set EggSell = CreateObject("Excel.Application")
      EggSell.Visible = True
      EggSell.Workbooks.Open DATEI_A
      EggSell.WindowState = xlMinimized
      Workbooks.Open (DATEI_B)
       Application.Run Chr(39) & DATEI_B & Chr(39) & "!Makro_X", 1, True
       Application.Run Chr(39) & DATEI_B & Chr(39) & "!Makro_X", 2, True
      EggSell.WindowState = xlMaximized
      EggSell.ActiveWorkbook.Close (False)
      EggSell.Quit
      Set EggSell = Nothing
      Application.Run Chr(39) & DATEI_B & Chr(39) & "!Makro_Y"
      Workbooks(DATEI_B).Close (True)
    …soll bewirken, dass die als ›greifbar‹ ermittelte Datei A geöffnet wird um sie vor Fremdzugriff zu schützen - allerdings nicht in dieser XL-Instanz: Beobachtungen belegen, dass diese Mappe das Arbeitstempo von Datei B gehörig ausbresmt. Nichts geringeres als das ist der Grund für diese Übung.

    A also geht auf - und bleibt vorne! Man sieht nicht was B gerade treibt (das dauert länger, aber mit A im Verein noch viel viel länger). Ich meine mir mit Minimized helfen zu können, aber das klappt nicht recht.
    Frage 1: wie bekomme ich B zum 1. Application.Run sichtbar in den Vordergrund? Muss ich dazu der Application den Focus geben; oder diesen beim Starten von EggSell unterdrücken?

    Mappe B, nachdem A zu ist, öffnet selbstständig (im 3. Application.Run) Mappe A um erfasste Daten da reinzuschreiben [deswegen brauche ich A ja ›exklusiv‹] und macht sie wieder zu.
    Nun wird B geschlossen…
    Frage 2: kann es sein, dass B dennoch irgendwie nicht den Focus hat, nicht Activated ist, was auch immer?
    …wobei Workbook_BeforeClose durchlaufen wird (B wird auch per Hand bedient, und da muss eine Notbremse greifen). Und hier knallt es (Spalte=2):
    Code:
      Farbe = Cells(2, Spalte).Font.ColorIndex '←
      Cells(1, Spalte).Font.ColorIndex = Farbe
    (Nichts als optische Korrektur gegen Hand-Werker.) Zelle B2 ist in Mappe B mit Text gefüllt. In Mappe C aber nicht.
    Frage 3: hat denn C immer noch den Focus, ist Blatt #1 von C immer noch Activated? Das wäre Mumpitz weil doch B ohne Referenzierung problemlos nach A (mit Referenzierung) übertragen kann!

    Wie also ist hier «das Hausrecht» verteilt, wie kriege ich meine Mappen und Blätter so nach vorne wie ich sie haben will?

    Eric March
    Eric March • »Wenn du eine Frage stellst musst du auch akzeptieren eine Antwort zu bekommen.« (Weisheit aus dem Kongo)

  2. #2
    Avatar von Eric March
    Eric March ist offline Halbes Gigabyte
    Mein System
    MainboardMSI MS-7094 = K8T Neo2-F V20
    ProzessorAthlon 64 4000+
    GrafikkarteNVIDIA GeForce FX7600
    RAM2 x 1024MB DDR1
    Festplatte(n)1 x 120GB Maxtor PATA 1 x 160GB WD PATA 1 x 500GB Samsung SATA 1 x 250GB WD SATA
    Andere Laufwerke1 x Floppy 1 x NEC 3540 DVD Brenner 1 x Toshiba 1912 DVD RAM
    Netzteil (inkl. Spannungswerte)400W NoName
    SoundkarteSoundBlaster (+ AC97 OnBoard)
    BetriebssystemXpPro SP3 (IE7; DE-Sprachpack)
    AV-SoftwareAvast
    FirewallWIN (Kasperky aus, kein Router)
    System-/OptimierungstoolsRegedit & Brain 1.0 :-)
    Art des InternetzugangsDSL-6000
    Router/ModemACER 56 / WRT160N / Huawei
    MonitorFlatscrren hp, 17"
    SonstigesCardReader HBCI an USB. 4-Slot Speicherkaretenleser. 'n paar Bildaufnahmegeräte. Zusäzlicher I'net-Zugang per Mobilfunk
    Registriert seit
    09.2003
    Ort
    Im Herzen Deutschlands
    Beiträge
    5.512

    …und nun Objektverluste?

    Zurück zum letzten Codeschnipsel:
    Farbe = Cells(2, Spalte).Font.ColorIndex
    Ich kapiere da nun gar nichts mehr. Im Direktfenster kann ich da diverse Dinge anstellen - mir wird z.B. der Value von Zelle 2|Spalte völlig korrekt angegeben, und es kommt das zum Vorschein was ich dort erwarten sollte. Als ist es höchstoffensichtlich die richtige Zelle.

    Will ich mir aber die Font z.B. beim Namen nennen lassen bekomme ich Laufzeitfehler 424 (Objekt erforderlich). Ach…
    Ich meine, wenn die Zelle einen Textinhalt hat und keinen Geist oder heiße Luft - dann sollte ein Text auch eine Font benötigen. Oder nicht?

    Sahnehäubchen ist, dass das vor den Klimmzügen mit EggSell wunderbar geklappt hat. Mappe C hat A und B direkt geöffnet (also so wie nun nur noch B), was ja B einbremst.

    Was ist da faul?

    Eric March
    Eric March • »Wenn du eine Frage stellst musst du auch akzeptieren eine Antwort zu bekommen.« (Weisheit aus dem Kongo)

  3. #3
    Avatar von Eric March
    Eric March ist offline Halbes Gigabyte
    Mein System
    MainboardMSI MS-7094 = K8T Neo2-F V20
    ProzessorAthlon 64 4000+
    GrafikkarteNVIDIA GeForce FX7600
    RAM2 x 1024MB DDR1
    Festplatte(n)1 x 120GB Maxtor PATA 1 x 160GB WD PATA 1 x 500GB Samsung SATA 1 x 250GB WD SATA
    Andere Laufwerke1 x Floppy 1 x NEC 3540 DVD Brenner 1 x Toshiba 1912 DVD RAM
    Netzteil (inkl. Spannungswerte)400W NoName
    SoundkarteSoundBlaster (+ AC97 OnBoard)
    BetriebssystemXpPro SP3 (IE7; DE-Sprachpack)
    AV-SoftwareAvast
    FirewallWIN (Kasperky aus, kein Router)
    System-/OptimierungstoolsRegedit & Brain 1.0 :-)
    Art des InternetzugangsDSL-6000
    Router/ModemACER 56 / WRT160N / Huawei
    MonitorFlatscrren hp, 17"
    SonstigesCardReader HBCI an USB. 4-Slot Speicherkaretenleser. 'n paar Bildaufnahmegeräte. Zusäzlicher I'net-Zugang per Mobilfunk
    Registriert seit
    09.2003
    Ort
    Im Herzen Deutschlands
    Beiträge
    5.512
    …eben wieder den o.g. Unfall gehabt. Debugguing beendet, normalen Abschluss-Button gedrückt - lief wie eine Eins.
    Watt nu..?
    Eric March • »Wenn du eine Frage stellst musst du auch akzeptieren eine Antwort zu bekommen.« (Weisheit aus dem Kongo)

  4. #4
    Registriert seit
    08.2007
    Beiträge
    224
    Hallo!

    Zitat Zitat von Eric March Beitrag anzeigen
    [...] wie kriege ich meine Mappen und Blätter so nach vorne wie ich sie haben will [...]
    Indem Du vernünftig programmierst. Mehrere Excel-Instanzen haben schon immer solche Probleme verursacht. Du solltest in einer Excel-Instanz bleiben. Auch in dieser kannst Du Dateien vor "Fremdzugriff" schützen. Z.B. Mit Tabellenschutz, welcher zur Makro-Laufzeit aufgehoben und wieder gesetzt wird. Lass Deine Klimmzüge weg und programmiere vernünftig. Ich habe jetzt auch keine Lust alles nachzustellen (ich brauche mein System noch).

    EggSell.Activate kannst Du auch noch versuchen.

    Gruß, René

  5. #5
    Avatar von Eric March
    Eric March ist offline Halbes Gigabyte
    Mein System
    MainboardMSI MS-7094 = K8T Neo2-F V20
    ProzessorAthlon 64 4000+
    GrafikkarteNVIDIA GeForce FX7600
    RAM2 x 1024MB DDR1
    Festplatte(n)1 x 120GB Maxtor PATA 1 x 160GB WD PATA 1 x 500GB Samsung SATA 1 x 250GB WD SATA
    Andere Laufwerke1 x Floppy 1 x NEC 3540 DVD Brenner 1 x Toshiba 1912 DVD RAM
    Netzteil (inkl. Spannungswerte)400W NoName
    SoundkarteSoundBlaster (+ AC97 OnBoard)
    BetriebssystemXpPro SP3 (IE7; DE-Sprachpack)
    AV-SoftwareAvast
    FirewallWIN (Kasperky aus, kein Router)
    System-/OptimierungstoolsRegedit & Brain 1.0 :-)
    Art des InternetzugangsDSL-6000
    Router/ModemACER 56 / WRT160N / Huawei
    MonitorFlatscrren hp, 17"
    SonstigesCardReader HBCI an USB. 4-Slot Speicherkaretenleser. 'n paar Bildaufnahmegeräte. Zusäzlicher I'net-Zugang per Mobilfunk
    Registriert seit
    09.2003
    Ort
    Im Herzen Deutschlands
    Beiträge
    5.512
    Hi!

    Das vernünftig-programmieren kann man vergessen wenn man ein paar Brocken vor sich mit denen man hantieren muss wie sie sind… Ich muss mit Mappe A leben wie sie ist, dasselbe mit B - weil beide eigenständig genutzt werden sollen und müssen.

    EggSell.Activate - würde mir was nützen? Der Gag ist, dass ich EggSell im Gegenteil schön inaktiv haben will, nur als kostenlosen Parkplatz.

    Das mit dem Bremseffekt durch eine mitgeöffnete Mappe B war mir auch schon aufgefallen - aber warum beeilen?
    Für Kollegen die Mappe A live brauchen stellt sich das Problem aber schon wenn sie mit B Daten sammeln.

    A und B gemeinsam per Hand bedient funktionieren da sogar recht gut. Nur wenn ich das über die zeitgesteuert geöffnete Mappe C laufen lasse (weil nur da ein AutoMakro beim Öffnen greifen darf; nicht bei A und nicht bei B) gibts den Ärger. Allein; ich könnte nicht mal B per TaskPlaner aufrufen weil das einen Unfall gibt wenn B anderweitig geöffnet ist.
    Auch eine Art B2 zu erfinden ist nicht drin da ich da immer wieder individuelle Schlaglöcher als Ausnahmen einprogrammieren muss; und jedes Mal aus einer B-Kopie die Makros zu lesen um sie bei B2 einzubauen - neee…


    Wie also kommen solche Ausfälle überhaupt zu Stande; wie geht der komplette Zusammenhang verloren?
    Oder gilt da mal wieder die übliche XL-Macke - not a bug but a feature?

    Eric March
    Eric March • »Wenn du eine Frage stellst musst du auch akzeptieren eine Antwort zu bekommen.« (Weisheit aus dem Kongo)

  6. #6
    Registriert seit
    08.2007
    Beiträge
    224
    1. Ich sagte doch schon das mehrere Excel-Instanzen wenig hilfreich sind. War schon immer so.
    2. Hier in diesem Forum für Kugelschreiber-Zusammensetzer wirst Du kaum professionelle Hilfe bekommen. Daher wieder einmal der Hinweis auf das bekannte Fachforum (Wenn ich nicht irre dann habe ich Dich schon einmal an anderer Stelle darauf hingwiesen, lieber MyEta).
    http://www.office-loesung.de/index3.php, da werden Sie geholfen.

  7. #7
    Avatar von Eric March
    Eric March ist offline Halbes Gigabyte
    Mein System
    MainboardMSI MS-7094 = K8T Neo2-F V20
    ProzessorAthlon 64 4000+
    GrafikkarteNVIDIA GeForce FX7600
    RAM2 x 1024MB DDR1
    Festplatte(n)1 x 120GB Maxtor PATA 1 x 160GB WD PATA 1 x 500GB Samsung SATA 1 x 250GB WD SATA
    Andere Laufwerke1 x Floppy 1 x NEC 3540 DVD Brenner 1 x Toshiba 1912 DVD RAM
    Netzteil (inkl. Spannungswerte)400W NoName
    SoundkarteSoundBlaster (+ AC97 OnBoard)
    BetriebssystemXpPro SP3 (IE7; DE-Sprachpack)
    AV-SoftwareAvast
    FirewallWIN (Kasperky aus, kein Router)
    System-/OptimierungstoolsRegedit & Brain 1.0 :-)
    Art des InternetzugangsDSL-6000
    Router/ModemACER 56 / WRT160N / Huawei
    MonitorFlatscrren hp, 17"
    SonstigesCardReader HBCI an USB. 4-Slot Speicherkaretenleser. 'n paar Bildaufnahmegeräte. Zusäzlicher I'net-Zugang per Mobilfunk
    Registriert seit
    09.2003
    Ort
    Im Herzen Deutschlands
    Beiträge
    5.512
    …ich kann mir Namen immer so schlecht merken…
    Auch nicht die von Foren.

    Die Instanzen würde ich vermeiden wenn ich einen besseren Diebstahlschutz wüsste.

    μη
    Eric March • »Wenn du eine Frage stellst musst du auch akzeptieren eine Antwort zu bekommen.« (Weisheit aus dem Kongo)

Ähnliche Themen

  1. Excel Makro oder VBA
    Von Sunshine0484 im Forum Office-Programme
    Antworten: 2
    Letzter Beitrag: 27.08.2008, 07:46
  2. Hilfe...., brauche ein Makro oder anderen Tip
    Von albatros40 im Forum Office-Programme
    Antworten: 4
    Letzter Beitrag: 01.08.2008, 20:29
  3. Excel und Makro oder Funktion
    Von Killmaker im Forum Office-Programme
    Antworten: 2
    Letzter Beitrag: 22.03.2004, 11:49
  4. EXCEL97 Makro-Meldung ohne Makro
    Von gfrahn im Forum Office-Programme
    Antworten: 0
    Letzter Beitrag: 18.07.2001, 17:19
  5. Suche Excel-Makro: Modul erzeugen oder k
    Von reichenm im Forum Office-Programme
    Antworten: 0
    Letzter Beitrag: 02.04.2001, 23:17

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
12
Content Management by InterRed