Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Workbook open funktioniert nicht, wenn Workbook per Schaltfläche neu gestartet wird

Mitglied: mreske

mreske (Level 1) - Jetzt verbinden

13.06.2018, aktualisiert 12:21 Uhr, 426 Aufrufe, 14 Kommentare

Hallo

folgende Vorgehensweise funktioniert nicht:

a.) Geöffnetes Dokument (Test.xlsm) soll per Schaltfläche ("Close and Open") neu geöffnet werden.
a.) diese Fehlermeldung soll dabei mit Application.DisplayAlerts = False unterdrückt werden:
"Test.xlsm ist bereits geöffnet. Wenn Sie es erneut öffnen, verlieren Sie damit alle Änderungen, die Sie eingegeben haben. Soll Test.xlsm erneut geöffnet werden?"
c.) beim Öffnen der Datei soll die MSGBox "Test" angezeigt werden.

Wenn ich nun die Schaltfläche "Close and Open" betätige, wird zwar die Datei neu geöffnet, aber die MessageBox wird nicht angezeigt (Workbook_Open wird also nicht ausgeführt).
Wenn ich anstatt die Schaltfläche zu drücken, die Datei über den Explorer öffne, dann wird Workbook_Open ausgeführt.

Hat jemand eine Ahnung warum das über die Schaltfläche nicht geht?

2018-06-13_113235 - Klicke auf das Bild, um es zu vergrößern

Danke
Mitglied: emeriks
13.06.2018 um 11:50 Uhr
Hi,
bist Du sicher, dass dabei die Datei ein zweites Mal parallel geöffnet wird?

Ich denke, für Excel ist das kein "Workbook_Open" sondern ein "Reload". Keine Ahnung, ob es dafür ein eigenes Event gibt.

E.
Bitte warten ..
Mitglied: 136166
13.06.2018, aktualisiert um 12:13 Uhr
Du hast da einen Denkfehler.
Ein Dokument selbst kann sich nicht erst selbst schließen und wieder neu öffnen, das geht so nicht, denn wie sollte das Makro das Dokument neu öffnen wenn im Dokument das Makro noch läuft und damit das Dokument also noch geöffnet ist??
Das geht nur aus einem anderen parallel geöffnetem Dokument oder aus einem anderen Instanz/Programm oder separatem VBS aus, oder per Exec extern gestartem Prozess (z.B. per Run-Methode) der das Neuöffnen nach dem Schließen übernimmt.
Bitte warten ..
Mitglied: emeriks
13.06.2018 um 12:05 Uhr
Ein Dokument selbst kann sich nicht selbst schließen und wieder neu öffnen,
Darum frage ich ja nach. Ich wollte des jetzt nicht extra ausprobieren.
Bitte warten ..
Mitglied: 136166
13.06.2018, aktualisiert um 12:05 Uhr
Zitat von emeriks:
Darum frage ich ja nach. Ich wollte des jetzt nicht extra ausprobieren.
Ich hatte eigentlich Ihm geantwortet nicht dir ...
Bitte warten ..
Mitglied: emeriks
13.06.2018 um 12:05 Uhr
Ich weiß.
Bitte warten ..
Mitglied: 136166
13.06.2018, aktualisiert um 12:30 Uhr
Was du machen kannst wäre z.B. folgendes für den Code hinter dem Button:
01.
Sub btnReload() 
02.
    CreateObject("Wscript.Shell").Run "cmd /c timeout /t 1 && start """" """ & ThisWorkbook.FullName & """", 0, False 
03.
    ThisWorkbook.Close True 
04.
End Sub
Das startet eine asynchron gestartete versteckte Shell die 1 Sekunde wartet während das Dokument zwischenzeitlich geschlossen wird, und dann das Dokument nach der Pause erneut öffnet.
Bitte warten ..
Mitglied: mreske
13.06.2018, aktualisiert um 12:36 Uhr
Hallo,
dass sich ein Dokument sich nicht selber schließen und wieder öffnen kann, ist schon klar.
Aber ich kann das Dokument ja z.B. über den Explorer einfach per Doppelklick noch mal öffnen, worauf dann die unten genannte Meldung erscheint.
Bei Klicken auf "Ja" wird dann die Datei neu geöffnet (und die vorherige verworfen) und die Workbook_Open ausgeführt. Die MSGBox "Test" erscheint.

Meldung:
"Test.xlsm ist bereits geöffnet. Wenn Sie es erneut öffnen, verlieren Sie damit alle Änderungen, die Sie eingegeben haben. Soll Test.xlsm erneut geöffnet werden?"

Aber anstatt über den Explorer zu öffnen, mache ich das über das Makro.

Die o.g. Meldung wird durch DisplayAlerts=False unterdrückt.

Das funktioniert auch soweit.

Nur wird mir beim Öffnen nicht die Workbook_Open ausgeführt.

Hier mal der Quellcode (die Datei liegt auf dem Desktop):

Diese Arbeitsmappe:
Private Sub Workbook_Open()
MsgBox "Test"
End Sub

Schaltfläche:
Private Sub CloseAndOpen_Click()
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:\Desktop\Test.xlsm"
Application.DisplayAlerts = True
End Sub
Bitte warten ..
Mitglied: 136166
13.06.2018, aktualisiert um 12:48 Uhr
Nur wird mir beim Öffnen nicht die Workbook_Open ausgeführt.
Logisch, weil du
Application.DisplayAlerts = False
vorher gesetzt hast und dir damit alle aufpoppenden Dialogfelder selber deaktivierst ... Das ist eine permanente Einstellung die Neustarts von Excel überlebt!

Siehe meine Lösung zum Reload für dein Problem in meinem letzten Post. So wie du das machen willst geht dass nicht.
Bitte warten ..
Mitglied: 136166
13.06.2018, aktualisiert um 13:04 Uhr
Guckst du
https://we.tl/ixBGaiP11K
Setzt das um was ich dir im Post oben geschrieben habe.

Application,DisplayAlerts = True
musst du natürlich vorher mindestens einmal im VBA ausführen (Über eine Testmethode oder im Direktfenster) damit die Ausgabe wieder aktiviert ist, denn wie gesagt, das ist eine permanente Einstellung die Neustarts von Excel überlebt.
Bitte warten ..
Mitglied: mreske
13.06.2018 um 13:01 Uhr
Hallo decathlon,
vielen Dank, genau das habe ich gesucht.
Funktioniert super.
Danke
Bitte warten ..
Mitglied: 136166
13.06.2018, aktualisiert um 13:02 Uhr
Freut mich das es dir hilft .
Bitte warten ..
Mitglied: mreske
13.06.2018 um 13:20 Uhr
Eine Frage hätte ich noch,

wie müsste der quellcode lauten wenn die Datei auf einem anderen Laufwerk liegt:

A:\Daten\Test\VBA\OpenAndClose.xlsm

Danke
Bitte warten ..
Mitglied: 136166
13.06.2018, aktualisiert um 13:23 Uhr
Zitat von mreske:

Eine Frage hätte ich noch,

wie müsste der quellcode lauten wenn die Datei auf einem anderen Laufwerk liegt:

A:\Daten\Test\VBA\OpenAndClose.xlsm
Keine Änderung nötig, denn den Pfad holt es sich über ThisWorkbook.FullName automatisch.
Bitte warten ..
Mitglied: mreske
13.06.2018 um 13:28 Uhr
Alles klar, Danke
Bitte warten ..
Ähnliche Inhalte
Windows 10

Windows 10: "Wird neu gestartet"

gelöst Frage von FSX2010Windows 107 Kommentare

Hallo, die Mehrheit unser Windows 10 Pro Domänenrechner haben beim herunterfahren ein Problem: Im Abmeldebildschirm steht "Wird neu gestartet". ...

Festplatten, SSD, Raid

Raidcontroller funktioniert nur, wenn unter Legacy-Boot gestartet wird

gelöst Frage von DerWoWussteFestplatten, SSD, Raid14 Kommentare

Moin. Ein Server, ausgeliefert mit einem LSI 9341-8i war installiert als Windows 2016 UEFI und soll neu installiert werden. ...

Batch & Shell

Prozess wird überwacht und neu gestartet - probleme

gelöst Frage von MarabuntaBatch & Shell2 Kommentare

Hallo, ein Prozess einer Software wird gestartet, falls er beendet wurde. Das Problem ist, dass er zwar funktioniert, aber ...

Windows Server

Info: Wer hat Server neu gestartet?

gelöst Frage von mupan7Windows Server12 Kommentare

Windows (Server) loggt so genau jedes Ereignis. Wo steht, wer den letzten Reboot ausgelöst hat, also, welcher User / ...

Neue Wissensbeiträge
Netzwerkmanagement
Win 10 - wiederaufnahme in Domäne scheitert
Anleitung von Seesturm vor 6 StundenNetzwerkmanagement1 Kommentar

Ich habe ein kleines Netzwerk mit einem Domänencontroller Server 2012 R2. Die meisten Rechner laufen unter Windows 7. Vor ...

Internet

Europa baut Zensurinfrastruktur auf: EU-Parlament stimmt für Upload-Filter, Leistungsschutzrecht und gegen KI-Forschung

Information von Frank vor 1 TagInternet6 Kommentare

Eine sehr schlechte Entscheidungen für die Zukunft Europas ist gefallen: Der Rechtsausschuss im EU-Parlament stimmte heute morgen in einer ...

Windows 10

Mikrofon von Headset geht nach Update auf Windows 10 1803 nicht mehr

Tipp von Deepsys vor 3 TagenWindows 102 Kommentare

Ich verwende ein Plantronics Headset das per USB mit dem Windows 10 PC verbunden ist. Damit kann ich auch ...

Video & Streaming

Ruckelfreies Fernsehen auf Smartphone oder Tablet - in SD oder gar HD - Eine Alternative zum Fritz DVB-C Receiver

Anleitung von power-user vor 3 TagenVideo & Streaming9 Kommentare

Wer kennt das nicht: Man möchte gemütlich auf dem Balkon sitzen und vielleicht grillen und dabei das WM-Spiel gucken ...

Heiß diskutierte Inhalte
Instant Messaging
Whats App Business am PC einsetzen
Frage von thomasreischerInstant Messaging30 Kommentare

Hallo zusammen, wir würden demnächst gerne WhatsApp Business verwenden um den Kontakt zwischen Kunden und Mitarbeitern zu erleichtern. Natürlich ...

Windows 7
Windows 7 Benutzer wechsel nicht möglich
gelöst Frage von OSelbeckWindows 727 Kommentare

Hallo, ich habe hier einen Windows 7 Rechner, der in der Domäne war. Jetzt passiert beim starten, das ich ...

Windows Netzwerk
IP-Adresskonflikt
Frage von Turbo-MasterWindows Netzwerk24 Kommentare

Hallo zusammen, ich habe ein Problem mit unserem Netzwerk unter Windows Server. Ständig erhalten wir die Meldung, dass ein ...

Festplatten, SSD, Raid
RAID auflösen Synology DS213j!
gelöst Frage von Hendrik2586Festplatten, SSD, Raid19 Kommentare

Guten Morgen meine Lieben! :) Diese Frage wird sich sicherlich schon der ein oder andere gestellt haben. Es geht ...