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, 476 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
Drucker und Scanner
HP-MF-Drucker per Fax angreifbsr
Information von Lochkartenstanzer vor 1 TagDrucker und Scanner3 Kommentare

Endlich eine sinnvolle Verwendung für Faxe: Damit kann man offensichtlich den Drucker übernehmen. lks

Router & Routing

Das pfSense Buch ist jetzt für jeden kostenlos zu beziehen

Tipp von magicteddy vor 2 TagenRouter & Routing2 Kommentare

Bisher war das Buch nur für zahlende Unterstützer verfügbar, jetzt steht für Jedermann kostenlos zur Verfügung. Siehe auch The ...

Firewall

Möglicherweise neue Sicherheitslücke in Mikrotik-Firmware

Information von LordGurke vor 4 TagenFirewall3 Kommentare

Hallo zusammen, vor ein paar Monaten gab es ja bereits eine Sicherheitslücke in der Firmware von Mikrotik-Routern, über welche ...

Erkennung und -Abwehr
Rechner hacken mit Cortana, auch Remote
Information von Lochkartenstanzer vor 5 TagenErkennung und -Abwehr3 Kommentare

heise berichtet über den Vortrag von der Blackhat Open Sesame: Picking Locks with Cortana. Einige Fehler sind schon gefixt, ...

Heiß diskutierte Inhalte
Windows 10
WIN 10 1803 - LTE Stick kein Internetzugriff
Frage von killtecWindows 1023 Kommentare

Hallo, ich habe mit einem Windows 10 1803 Probleme mit einem LTE-Stick. Das gleiche Problem ist bei mehreren Rechnern ...

CPU, RAM, Mainboards
Xeon E5620: noch schnell genug?
Frage von ahussainCPU, RAM, Mainboards19 Kommentare

Hallo allerseits, ich habe die Möglichkeit, aus Restbeständen einen Tower mit Xeon E5620 CPU und 24 GB RAM zu ...

Datenbanken
MySQL Datenbank Import Aufgabe für mehrere .csv dateien
Frage von Marcel1989Datenbanken18 Kommentare

Hi, ich komm nicht weiter. Ich hab auf einem Windows Server 2012 r2 eine MariaDB/MySQL laufen. Nun soll diese ...

Windows Server
Remote Desktop Services User Profile Disk - DFS
Frage von einzelkindWindows Server16 Kommentare

Hallo Miteinander, ich richte gerade eine neue RDS Farm auf Basis von Windows Server 2016 ein. Von Server 2012 ...