Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1068to1072
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

Userform als Messagebox

Userform als Messagebox
17.04.2009 20:49:29
Horst
Hallo Community,
wie kann ich eine UserForm als MsgBox verwenden. Kann mal wer ein VBA-Bsp. hier reinstellen?

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform als Messagebox
17.04.2009 21:26:04
Jens
Hi
Wozu die UF als MsgBox missbrauchen und das Rad neu erfinden?
Gruß aus dem Sauerland
Jens
AW: Userform als Messagebox
17.04.2009 21:51:55
Horst
der Sinn dahinter ist, dass ich einen Screenshot von einer Msgbox benötige. Da das aber nicht funktioniert (weder über SendKeys noch über API), war meine Idee aus der MsgBox eine Userbox zu machen. Scheint in dem Fall aber nicht zu funktionieren, da in der MsgBox Berechnungswerte drin stehen, die sich immer ändern. Kann man evtl. auch eine MsgBox als .gif oder .bmp abspeichern. Weiß wer was?
AW: Userform als Messagebox
18.04.2009 08:20:34
ransi
HAllo Horst

Da das aber nicht funktioniert (weder über SendKeys noch über API),...


Stimmt so nicht ganz.
Ist zwar etwas Aufwand, aber machbar:

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Dim hEvent

Private Declare Function SetTimer Lib "user32.dll" ( _
    ByVal hWnd As Long, _
    ByVal nIDEvent As Long, _
    ByVal uElapse As Long, _
    ByVal lpTimerFunc As Long) As Long

Private Declare Function KillTimer Lib "user32.dll" ( _
    ByVal hWnd As Long, _
    ByVal nIDEvent As Long) As Long

Private Declare Sub keybd_event Lib "user32.dll" ( _
    ByVal bVk As Byte, _
    ByVal bScan As Byte, _
    ByVal dwFlags As Long, _
    ByVal dwExtraInfo As Long)


Public Sub Aufruf()
EnableTimer 500
MsgBox "Test"
End Sub


Public Sub TimerProc(ByVal hWnd As Long, ByVal uMsg As Long, _
    ByVal wParam As Long, ByVal lParam As Long)

screenshot
'Jetzt liegt die Msgbox in der Zwischenablage.
DisableTimer
End Sub

Public Function EnableTimer(ByVal msInterval As Long)
If hEvent <> 0 Then Exit Function
hEvent = SetTimer(0&, 0&, msInterval, AddressOf TimerProc)
End Function

Public Function DisableTimer()
If hEvent = 0 Then Exit Function
KillTimer 0&, hEvent
hEvent = 0
End Function

Public Sub screenshot()
keybd_event &H2C, 1, 0, 0
End Sub

Ich würde es aber trotzdem mit der Userform machen.
(Ist einfacher)
ransi
Anzeige
AW: Userform als Messagebox
17.04.2009 21:27:40
Lenni
Moin Horst!
Vielleicht so:
https://www.herber.de/bbs/user/61274.xls
...nur so als Grundgedanke und Anreiz!
Schreibe mal in die Zelle A1 eine "1" (ohne ""). Schreibst Du eine andere Zahl in A1, erscheint das UserForm nicht.
Viele Grüße aus dem hohen Norden!
Lenni

AW: Userform als Messagebox
18.04.2009 10:31:39
Tino
Hallo,
hier mal ein Beispiel mit der Msgbox und etwas Api Zauber.
Getestet unter Win Vista mit Office 2007
https://www.herber.de/bbs/user/61275.xls
Gruß Tino
Anzeige
AW: Userform als Messagebox
18.04.2009 11:27:32
Horst
Es läuft!
Besten Dank an Ransi und Tino!! Ihr seid Weltklasse! :-))

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige