Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1848to1852
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

Dokument wird verwendet

Dokument wird verwendet
20.09.2021 18:56:52
Klaus
Hallo Forum,
Wie kann ich mit einem Makro vorbelegen, dass bei der Meldung "Dokument wird verwendet"
Dokument XXXX Bearbeitung gesperrt von ... .
die Meldung mit OK beantwortet wird. Vorbelegt ist Schreibgeschützte Kopie öffnen.
Ist eigentlich eine Meldung einer Word Datei die über Excel geöffnet, bearbeitet, gespeichert und dann gedruckt wird.
Gedruckt wird aber erst wenn die Antwort mit OK erfolgt ist. Bei 10 Dokumenten müssten man 10 mal mit OK antworten.
Gibt es da vielleicht eine Lösung? Vielen Dank
.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dokument wird verwendet
20.09.2021 19:22:53
volti
Hallo Klaus,
Messageboxen (intern wie extern), die das Weiterlaufen eines Excelmakros stoppen, weil sie eine Antwort via Klick erwarten, lassen sich meistens mit ein paar API-Funktionen entsprechend klicken, so als wenn der User geklickt hätte.
Hierzu wird ein Timer gesetzt, dann die eigentliche Funktion ausgeführt und nach erfolgtem Klick durch VBA der Timer wieder gelöscht.
Hier mal ein Ansatz dazu...
Da ich keinen Spielcode von Dir habe, konnte ich das (noch) nicht finalisieren.
Z.B. muss ich wissen, was genau im Caption der Dialogbox steht.
Code:

[Cc][+][-]

Option Explicit Private Declare PtrSafe Function KillTimer Lib "user32" ( _ ByVal hWnd As LongPtr, ByVal nIDEvent As LongPtr) As Long Private Declare PtrSafe Function SetTimer Lib "user32" ( _ ByVal hWnd As LongPtr, ByVal nIDEvent As LongPtr, _ ByVal uElapse As Long, ByVal lpTimerFunc As LongPtr) As LongPtr Private Declare PtrSafe Function SendDlgItemMessageA Lib "user32" ( _ ByVal hDlg As LongPtr, ByVal nIDDlgItem As Long, _ ByVal wMsg As Long, ByVal wParam As LongPtr, _ ByVal lParam As LongPtr) As LongPtr Private Declare PtrSafe Function FindWindowA Lib "user32" ( _ ByVal lpClassName As String, _ ByVal lpWindowName As String) As LongPtr Dim hTimer As LongPtr Sub ClickOk() On Error GoTo Fehler hTimer = SetTimer(0&, 0&, 50, AddressOf DlgClickProc) 'OpenWorddatei..... Fehler: KillTimer 0&, hTimer End Sub Private Sub DlgClickProc() ' Klickt den Ja-Button an Dim hDlg As LongPtr hDlg = FindWindowA("#32770", "Dokument wird verwendet") If hDlg > 0 Then SendDlgItemMessageA hDlg, 6, &HF5, 0&, 0& '6=ja, 2=nein End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige