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, 502 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. ...

Windows 7

Dienst "Design" muss manuell neu gestartet werden

gelöst Frage von vanTastWindows 79 Kommentare

Moin, ich habe hier bei einem 7/64 Client das Problem dass der PC seit heute nach dem Start nur ...

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 ...

Neue Wissensbeiträge
Sicherheit
Adminrechte dank Bug in Intel HD Graphics Treiber
Information von DerWoWusste vor 14 StundenSicherheit

Intel HD graphics 4200 und neuer (4400, 4600 520,530,620, 630,) sind auf jeden Fall betroffen und bereinigte Treiber sind ...

Router & Routing

Endlich: Reines Kabel-TV Modem in D erhältlich !

Information von aqui vor 3 TagenRouter & Routing11 Kommentare

Mit dem Technicolor TC4400-EU Modem sind nun auch Breitband Router ohne integriertes Modem oder Firewalls wie z.B. die pfSense ...

Netzwerkgrundlagen
The Illustrated TLS Connection
Information von Lochkartenstanzer vor 4 TagenNetzwerkgrundlagen1 Kommentar

Moin, Unter findet man eine gelungene Erläuterung von TLS. Fördert sehr das verständnis darüber, was da passiert. lks

Windows 10

Zuverlässiger Remove-AppxProvisionedPackage Ausführen in W10-1803

Tipp von NetzwerkDude vor 5 TagenWindows 104 Kommentare

Moin, Remove-AppxProvisionedPackage hat in 1709 recht zuverlässig funktioniert, in 1803 ist es leider so das es gerne mail failed ...

Heiß diskutierte Inhalte
Windows Server
AD User wird immer wieder gesperrt
Frage von YellowcakeWindows Server20 Kommentare

Hey ich habe einen User (ein GL User - Natürlich was denn sonst) der immer wieder gesperrt wird. Ich ...

Windows Netzwerk
Gruppenrichtlinie für einen PC deaktivieren
gelöst Frage von Florian961988Windows Netzwerk14 Kommentare

Hallo, kleines Problem und immoment finde ich dazu keine Lösung oder mir fällt nicht ein, wie ich es suche ...

Debian
Linux debian 9 Installation
Frage von Green14Debian13 Kommentare

Hallo zusammen, ich habe mich ein wenig mit Debian auseinandergesetzt und möchte mir eine Standard-Installation als Grundlage für andere ...

Switche und Hubs
OpenSource oder Freeware zur Verwaltung von Switchen
gelöst Frage von JonskezSwitche und Hubs12 Kommentare

Hallo, gibt eine kostenlose Verwaltungssoftware für Switche (überwiegend HP/Aruba)? Es sollte möglich sein, aus der Ferne z.B. die Firmware ...