Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1752to1756
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bildschirmmeldungen instanzübergreifend

Bildschirmmeldungen instanzübergreifend
20.04.2020 15:04:27
Gode
Hallo,
ich habe ein Problem beim Verarbeiten von Excel-Dateien, die in einer anderen Instanz geöffnet sind:
Und zwar werden Daten via VBA von einer Excel-Mappe in eine andere kopiert.
Diese wird dann am Ende der Verarbeitung geschlossen.
Immer dann, wenn die Datei, aus der die Daten kopiert werden, in einer anderen Excel-Instanz geöffnet ist, erscheint die BS-Meldung mit der Frae, ob die Daten in der Zwischenablage noch weiter benötigt werden.
Der Befehl

Application.DisplayAlerts = False 

hat leider dann nicht den gewünschten Effekt :-(
Gibt es hier noch eine Möglichkeit eine Meldung generell, also instanzübergreifend, zu unterdrücken?
Vielen Dank im Voraus!
Gode

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bildschirmmeldungen instanzübergreifend
20.04.2020 15:07:43
Daniel
HI
für diesen Fall ist die Abhilfe, die Zwischenablage nach dem Einfügen zu leeren, falls die selben Daten nicht noch an anderer Stelle eingefügt werden sollen.
dazu gibt es den Befehl:
Application.CutCopyMode = False

danach sollte die Meldung nicht mehr erscheinen.
Gruß Daniel
AW: Bildschirmmeldungen instanzübergreifend
20.04.2020 15:42:54
Gode
Hallo Daniel,
vielen Dank mal für deine Antwort!
Leider hilft dies ebenso wenig, da sich der Befehl ja wohl auch nur auf die Instanz auswirkt, in der das Makro läüft.
D.h. die den Kopierbereich markierenden, gestrichelt blinkenden Linien in der Datei aus der kopiert wird, sind nach Ausführen des Befehls auch immer noch vorhanden ... und leider dann auch die darauf folgende Meldung beim Schließen der Datei.
Gode
Anzeige
AW: Bildschirmmeldungen instanzübergreifend
20.04.2020 16:56:11
volti
Hallo Gode,
vielleicht hilft Dir dies:
Da ich kein Window-Handle angegeben habe, sollte es übergreifend funktionieren...

Private Declare PtrSafe Function OpenClipboard Lib "user32" (ByVal hwnd As LongPtr) As Long
Private Declare PtrSafe Function CloseClipboard Lib "user32" () As Long
Private Declare PtrSafe Function EmptyClipboard Lib "user32" () As Long
Sub LoescheZwischenablage()
 OpenClipboard 0&
 EmptyClipboard
 CloseClipboard
End Sub
viele Grüße
Karl-Heinz

Anzeige
AW: Bildschirmmeldungen instanzübergreifend
20.04.2020 17:23:02
Gode
Hallo,
auch dir erstmal vielen Dank!
das funktioniert zwar ... aber auch nur, wenn die Routine im Excel (als "BeforeClose"-Event), aus dem die Daten kopiert werden, aufgerufen wird.
Das könnte ich ggf. aber so hindeichseln.
Lieber wäre es mir gewesen dort ohne Code auszukommen und alles im führenden Makro der Datei, in die hineinkopiert wird, zu steuern.
Aber Danke! Das hilft schonmal weiter!
Gode
AW: Bildschirmmeldungen instanzübergreifend
20.04.2020 18:03:06
Nepumuk
Hallo Gode,
wie greifst du auf die andere Mappe zu?
Gruß
Nepumuk
AW: Bildschirmmeldungen instanzübergreifend
21.04.2020 10:31:50
Gode
Hallo,
es wird geprüft, ob die Datei geöffnet ist (im Normalfall ist sie das bereits) und das Workbook-Objekt definiert:
If DateiGeoeffnet(strPfad & strDatei) = False Then
Set wkbLSG = Application.Workbooks.Open(strPfad & strDatei)
Else
Set wkbLSG = GetObject(strPfad & strDatei)
End If
Danach geht's mit der normalen Verarbeitung entsprechend weiter.
Gode
Anzeige
AW: Bildschirmmeldungen instanzübergreifend
21.04.2020 10:37:38
Nepumuk
Hallo Gode,
dann versuch es mal so:
wkbLSG.Application.CutCopyMode = False

Gruß
Nepumuk
AW: Bildschirmmeldungen instanzübergreifend
21.04.2020 11:30:23
Gode
Hallo,
da versucht man manchmal ein Problem mit Salto und doppelter Schraube zu lösen und stellt dann fest, dass auch ein einfacher Strecksprung ausgereicht hätte! ;-))))
Vielen Dank! Klappt perfekt ... auch mit
wbkLSG.Application.DisplayAlerts = False
Schönen Tag
Gode

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige