Office: (Office 2010) MsgBox mit Auswahl OK, UserForm Schließen, UserForm Neu

Helfe beim Thema MsgBox mit Auswahl OK, UserForm Schließen, UserForm Neu in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich habe die UserForm1 geöffnet. Nach einem Prozess kommt diese MsgBox: Code: MsgBox "Position(en) wurde(n) unter " & Ordnerpfad_pdf... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von christian30031982, 19. April 2015.

  1. MsgBox mit Auswahl OK, UserForm Schließen, UserForm Neu


    Hallo zusammen,

    ich habe die UserForm1 geöffnet.

    Nach einem Prozess kommt diese MsgBox:
    Code:
    Dort klicke ich dann auf "OK" und die MsgBox schließt sich.

    Ich würde jetzt aber gerne zusätzlich zu "OK" noch folgende Möglichkeiten:

    - "Neuer Auftrag" - UserForm1 muss daher geschlossen werden und neu geöffnet werden.

    - "Schließen" - 1. MsgBox schließen - 2. UserForm1 schließen.

    Vielen Dank

    :)
     
    christian30031982, 19. April 2015
    #1
  2. Eine Schlatfläche mit "Neuer Auftrag" wirst du nicht in eine MsgBox bekommen.
    Da musst dir eine UF basteln.
    Sowas ähnliches wurde hier schonmal gefragt =). (wenn ich mich richtig erinnere)
     
    kvn888, 20. April 2015
    #2
  3. Hallo,

    um eine "eigene MsgBox" zu erstellen, musst du eine zusätzliche UserForm anlegen, die deine gewünschten Buttons und Funktionen hat.
    Die MsgBox von Excel kannst du zwar ein wenig verändert, aber die Beschriftung der Buttons zum Beispiel nicht.

    VG
    Santa
     
    Mc Santa, 20. April 2015
    #3
  4. MsgBox mit Auswahl OK, UserForm Schließen, UserForm Neu

    Danke für eure Hilfe.

    Die MsgBox habe ich ja eingebunden.

    Wie binde ich aber die UserForm statt der MsgBox ein?

    Sagen wir die UserForm ist "UserForm5". Kann man die auch benennen?

    Danke
     
    christian30031982, 20. April 2015
    #4
  5. Hallo Santa,

    das ist nicht ganz richtig. Mit ein bisschen API-Zauber kann ich auch die Beschriftung der Buttons ändern.
     
    Nepumuk, 20. April 2015
    #5
  6. Hallo Nepumuk,

    cool, das wusste ich noch nicht *Smilie
    Hast du ein Beispiel oder kannst einen Link zum Nachlesen empfehlen?

    VG
    Santa
     
    Mc Santa, 20. April 2015
    #6
  7. huhu Nepumuk,

    Das würde mich jetzt aber auch stark Interessieren.

    mfg
    kvn
     
    kvn888, 20. April 2015
    #7
  8. MsgBox mit Auswahl OK, UserForm Schließen, UserForm Neu

    Hallo Santa,

    bitteschön:

    Option Explicit

    Private Declare Function FindWindowA Lib "user32.dll" ( _
    ByVal lpClassName As String, _
    ByVal lpWindowName As String) As Long
    Private Declare Function SetTimer Lib "user32.dll" ( _
    ByVal Hwnd As Long, _
    ByVal nIDEvent As Long, _
    ByVal uElapse As Long, _
    ByVal lpTimer As Long) As Long
    Private Declare Function KillTimer Lib "user32.dll" ( _
    ByVal Hwnd As Long, _
    ByVal nIDEvent As Long) As Long
    Private Declare Function MessageBoxA Lib "user32.dll" ( _
    ByVal Hwnd As Long, _
    ByVal lpText As String, _
    ByVal lpCaption As String, _
    ByVal wType As Long) As Long
    Private Declare Function SendDlgItemMessageA Lib "user32.dll" ( _
    ByVal hDlg As Long, _
    ByVal nIDDlgItem As Long, _
    ByVal wMsg As Long, _
    ByVal wParam As Long, _
    ByVal lParam As String) As Long

    Private Const TIMER_ID = 0
    Private Const TIMER_ELAPSE = 25
    Private Const WM_SETTEXT = &HC
    Private Const GC_CLASSNAMEMSEXCEL = "XLMAIN"
    Private Const GC_CLASSNAMEMSDIALOGS = "#32770"

    Private lstrButtonCaption1 As String
    Private lstrButtonCaption2 As String
    Private lstrButtonCaption3 As String
    Private lstrBoxTitel As String
    Private llngHwnd As Long

    Private Function MsgBoxPlus( _
    ByVal strText As String, _
    ByVal strTitle As String, _
    ByVal strButtonText1 As String, _
    Optional ByVal strButtonText2 As String, _
    Optional ByVal strButtonText3 As String, _
    Optional ByVal enmStyle As VbMsgBoxStyle) As Long


    Dim lngResult As Long

    lstrButtonCaption1 = strButtonText1
    lstrButtonCaption2 = strButtonText2
    lstrButtonCaption3 = strButtonText3
    lstrBoxTitel = strTitle

    If Val(Application.Version) > 9 Then
    llngHwnd = Application.Hwnd
    Else
    llngHwnd = FindWindowA(GC_CLASSNAMEMSEXCEL, Application.Caption)
    End If

    Call SetTimer(llngHwnd, TIMER_ID, TIMER_ELAPSE, AddressOf SetButtonText)

    If lstrButtonCaption2 = "" And lstrButtonCaption3 = "" Then
    lngResult = MessageBoxA(llngHwnd, strText, strTitle, vbOKOnly Or enmStyle)
    ElseIf lstrButtonCaption2 <> "" And lstrButtonCaption3 = "" Then
    lngResult = MessageBoxA(llngHwnd, strText, strTitle, vbYesNo Or enmStyle)
    Else
    lngResult = MessageBoxA(llngHwnd, strText, strTitle, vbAbortRetryIgnore Or enmStyle)
    End If

    If lngResult = 1 Or lngResult = 3 Or lngResult = 6 Then
    MsgBoxPlus = 1
    ElseIf lngResult = 4 Or lngResult = 7 Then
    MsgBoxPlus = 2
    Else
    MsgBoxPlus = 3
    End If

    End Function

    Private Sub SetButtonText()

    Dim lngBox_hWnd As Long

    Call KillTimer(llngHwnd, TIMER_ID)

    lngBox_hWnd = FindWindowA(GC_CLASSNAMEMSDIALOGS, lstrBoxTitel)

    If lstrButtonCaption2 = "" And lstrButtonCaption3 = "" Then
    Call SendDlgItemMessageA(lngBox_hWnd, vbCancel, WM_SETTEXT, 0&, lstrButtonCaption1)
    ElseIf lstrButtonCaption2 <> "" And lstrButtonCaption3 = "" Then
    Call SendDlgItemMessageA(lngBox_hWnd, vbYes, WM_SETTEXT, 0&, lstrButtonCaption1)
    Call SendDlgItemMessageA(lngBox_hWnd, vbNo, WM_SETTEXT, 0&, lstrButtonCaption2)
    Else
    Call SendDlgItemMessageA(lngBox_hWnd, vbAbort, WM_SETTEXT, 0&, lstrButtonCaption1)
    Call SendDlgItemMessageA(lngBox_hWnd, vbRetry, WM_SETTEXT, 0&, lstrButtonCaption2)
    Call SendDlgItemMessageA(lngBox_hWnd, vbIgnore, WM_SETTEXT, 0&, lstrButtonCaption3)
    End If

    End Sub

    Public Sub Aufruf()
    Select Case MsgBoxPlus(strText:="Ich bin der Text", strTitle:="Titel", _
    strButtonText1:="Button 1", strButtonText2:="Button 2", _
    strButtonText3:="Button 3", enmStyle:=vbInformation)
    Case 1
    MsgBox "Button 1"
    Case 2
    MsgBox "Button 2"
    Case 3
    MsgBox "Button 3"
    End Select
    End Sub
     
    Nepumuk, 20. April 2015
    #8
  9. Huhu =),

    möchte dir da jetzt nicht zu nahe tretten, aber der aufwand ist ja enorm, wenn man auch einfach ein UF bauen kann, oder?
     
    kvn888, 20. April 2015
    #9
  10. Ok.

    Was davon muss ich denn jetzt wohin kopieren?

    Was muss ich z.B. an die Stelle kopieren wo mal mein Text stand?

    Code:
    Danke
     
    christian30031982, 20. April 2015
    #10
  11. \@Nepumuk:
    Interessant!
    Die Größe der Button ist vermutlich fix, da ja nur bestehende Texte geändert werden?

    @christian:
    Ich würde es mit einer neuen Userform machen, das ist vermutlich übersichtlicher:
    Dort wo du jetzt die MsgBox aufrufst, sprichst du jetzt die Userform an (UserForm5.Show).
    Den Namen kannst du auch ändern, das empfehle ich sogar *Smilie klicke die Userform an und suche im Fenster Eigenschaften (F4, falls nicht sichtbar) nach (Name). Dort kannst du den Codenamen der Userform ändern.

    VG
    Santa
     
    Mc Santa, 20. April 2015
    #11
  12. Hallo,

    ich benutze das auch nicht, das sollte nur eine Demo sein wie es geht.
     
    Nepumuk, 20. April 2015
    #12
  13. MsgBox mit Auswahl OK, UserForm Schließen, UserForm Neu

    Danke für die Tipps.

    Mit Unload schließe ich ja eine UserForm.

    Wie schließe ich dann aber zwei auf einmal?

    Danke
     
    christian30031982, 21. April 2015
    #13
  14. Wie bekomme ich denn " & Ordnerpfad_pdf & " in meine neue UserForm?
     
    christian30031982, 21. April 2015
    #14
  15. Hallo zusammen,

    ich habe es jetzt so gelöst:

    Code:
    Ist das so eine gute Lösung?

    Leider klappt das mit dem Anzeigen des "Ordnerpfad" nicht.

    Kann mir da noch jm helfen?

    Danke
     
    christian30031982, 21. April 2015
    #15
Thema:

MsgBox mit Auswahl OK, UserForm Schließen, UserForm Neu

Die Seite wird geladen...
  1. MsgBox mit Auswahl OK, UserForm Schließen, UserForm Neu - Similar Threads - MsgBox Auswahl UserForm

  2. MsgBox mit Berechnung und Eintrag in Tabelle

    in Microsoft Access Hilfe
    MsgBox mit Berechnung und Eintrag in Tabelle: Moin moin liebe Formengemeinschaft. Nun bin ich schon das WWW am Durchsuchen und habe nichts passendes gefunden. Ausgangspostion: Ich habe eine Datenbank und überwache hier Daten mit einem...
  3. VBA: Mit MsgBox bestimmte Inhalte von Zeile leeren

    in Microsoft Excel Hilfe
    VBA: Mit MsgBox bestimmte Inhalte von Zeile leeren: Hallo Excel Freunde, ich habe in der Tabelle, Spalte A fortlaufende ID Nummern hinterlegt (1-200). Jetzt möchte den Inhalt (Zeile) z.B ID 180 leeren. Dabei soll nicht die ganze Zeile geleert...
  4. VBA-Code Arbeitsblatt wechseln

    in Microsoft Excel Hilfe
    VBA-Code Arbeitsblatt wechseln: Hallo zusammen, ich habe mal wieder eine Frage. Aktuell beschäftige ich mich mit VBA-Codes. Beim öffnen meiner Arbeitsmappe erscheint folgender Hinweis: Private Sub Workbook_Open() 'Titel Hinweis...
  5. MsgBox bei zwei Werten

    in Microsoft Excel Hilfe
    MsgBox bei zwei Werten: Hallo Zusammen, wenn ich im Bereich E2029:E200000 in eine Zelle Test1 eingebe kommt die MsgBox ohne Probleme. Wie muss man den Code ändern damit die Box auch kommt wenn ich Test2 eingebe?...
  6. MsgBox in Excel anzeigen lassen per Word VBA

    in Microsoft Word Hilfe
    MsgBox in Excel anzeigen lassen per Word VBA: Hallo zusammen, ich bin neu hier und versuche aktuell aus Word heraus eine Exceldatei zu öffnen. Das klappt auch alles schon wunderbar. Jetzt möchte ich gerne, wenn die Excel Datei geöffnet ist,...
  7. MsgBox Ja / Nein > Nein als Standard

    in Microsoft Excel Hilfe
    MsgBox Ja / Nein > Nein als Standard: Hallo nochmal Mit folgendem Code wird "verhindert" dass die gesperrten Zellen geändert werden. Nur nach Klick auf Ja oder Nein ist das möglich. Leider ist bei der MsgBox der JaButton als erstes...
  8. MsgBox mit einer Auswahl an Antwortmöglichkeiten

    in Microsoft Excel Hilfe
    MsgBox mit einer Auswahl an Antwortmöglichkeiten: Hallo Leute, ich würde gerne eine MsgBox erscheinen lassen, die mir drei mögliche Antwortalternativen anzeigt. Eine dieser Möglichkeiten wähle ich aus (wie zum Beispiel über Radio Buttons) und...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden