Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Pop-Up Fenster bei Nicht-Ausfüllen von Formularfeldern
zurück: In einer Userform mit drücken des button eine Exceltabelle weiter: Makro Word XP für Duplexdruck und Einzelseiten Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Gast111
Gast


Verfasst am:
26. Feb 2009, 18:07
Rufname:

Pop-Up Fenster bei Nicht-Ausfüllen von Formularfeldern - Pop-Up Fenster bei Nicht-Ausfüllen von Formularfeldern

Nach oben
       Version: Office 2003

Hi!

Ich habe folgendes Problem:
Ich habe ein Formular in Word mit der Steuerelemente-Toolbox erstellt.
Bestandteile sind Options- und Kombinationsfelder.

Am Ende drückt man auf einen CommandButton über den man das Formular absenden kann.

Nun meine Frage:
Gibt es eine Möglichkeit, die Betätigung des CommandButtons zu verhindern, wenn die Options- und Kombinationsfelder nicht ausgefüllt sind?
Kann bei Nicht-Ausfüllen ein Pop-Up programmiert werden, der dem Ausfüller des Formulars sagt, welche Felder er noch ausfüllen muss?

Vielen Dank schonmal für eure Hilfe! Wink

Gruß
Gast
ByteHunter
Hat schonmal beim Programmieren zugesehen


Verfasst am:
26. Feb 2009, 18:33
Rufname: Byte


AW: Pop-Up Fenster bei Nicht-Ausfüllen von Formularfeldern - AW: Pop-Up Fenster bei Nicht-Ausfüllen von Formularfeldern

Nach oben
       Version: Office 2003

Hi
hab dir da mal was gebastelt:

Code:
Private Sub CommandButton1_Click()
    Dim cntrl As MSForms.Control
    Dim message As String
   
    message = ""
    For Each cntrl In UserForm1.Controls
        If Not TypeOf cntrl Is MSForms.CommandButton Then
            If TypeOf cntrl Is MSForms.TextBox Then
                If cntrl.Value = "" Then message = message & cntrl.Name & vbCr
            ElseIf TypeOf cntrl Is MSForms.ComboBox Then
                If cntrl.Text = "" Then message = message & cntrl.Name & vbCr
            Else
                If cntrl = False Then message = message & cntrl.Name & vbCr
            End If
        End If
    Next cntrl
   
    If message <> "" Then
        MsgBox ("Folgende Felder wurden nicht ausgefüllt:" & vbCr & message)
    Else
        ' Formular absenden
    End If
End Sub


Momentan gibt die Funktion den Namen des leeren oder deaktivierten Steuerelementes zurück. Damit wird der Nutzer nicht viel anfangen können. Ich wüde für jedes Steuerelement eine "Tag" Eigenschaft definieren und "cntrl.Tag" ausgeben lassen.

VG
Gast111
Gast


Verfasst am:
26. Feb 2009, 20:15
Rufname:

AW: Pop-Up Fenster bei Nicht-Ausfüllen von Formularfeldern - AW: Pop-Up Fenster bei Nicht-Ausfüllen von Formularfeldern

Nach oben
       Version: Office 2003

Hi!
Danke für deine schnelle Antwort. Leider kann ich die Funktionalität deines Codes nur auf der Arbeit prüfen...
Kann also erst morgen sagen, ob ich damit was anfangen kann, aber danke schonnmal!

Zitat:
Ich wüde für jedes Steuerelement eine "Tag" Eigenschaft definieren und "cntrl.Tag" ausgeben lassen.


Leider bin ich was VBA angeht noch blutiger Anfänger. Wie würde ich denn eine Tag-Eigenschaft hinzufügen?

Danke schonmal!

Gruß
Gast
ByteHunter
Hat schonmal beim Programmieren zugesehen


Verfasst am:
26. Feb 2009, 20:58
Rufname: Byte

AW: Pop-Up Fenster bei Nicht-Ausfüllen von Formularfeldern - AW: Pop-Up Fenster bei Nicht-Ausfüllen von Formularfeldern

Nach oben
       Version: Office 2003

Im Eigenschaftsfenster (im VBA-Editor F4 drücken oder Ansicht -> Eigenschaften) jedes Steuerelementes gibt es einen Eintrag "Tag". Dort Einfach "Name", "Vorname", "Email" oder so reinschreiben, so kann der Nutzer besser erkennen welche Felder gemeint sind.
Gast111
Gast


Verfasst am:
27. Feb 2009, 12:53
Rufname:

AW: Pop-Up Fenster bei Nicht-Ausfüllen von Formularfeldern - AW: Pop-Up Fenster bei Nicht-Ausfüllen von Formularfeldern

Nach oben
       Version: Office 2003

Hi!

Vielen Dank für den Code!
Genau sowas hab ich gesucht.

Nur gibt es jetzt ein weiteres Problem...
Wenn ich den Command-Button drücke, erscheint zwar der gewünschte
Pop-Up, nur führt VBA nach "OK"-drücken die weiteren Befehle aus:
also Datei speichern, E-Mail versenden usw.

hier der Code dazu:
Code:
Private Sub CommandButton1_Click()


Dim cntrl As MSForms.Control
    Dim message As String
   
    message = ""
    For Each cntrl In UserForm1.Controls
        If Not TypeOf cntrl Is MSForms.CommandButton Then
            If TypeOf cntrl Is MSForms.TextBox Then
                If cntrl.Value = "" Then message = message & cntrl.Name & vbCr
            ElseIf TypeOf cntrl Is MSForms.ComboBox Then
                If cntrl.Text = "" Then message = message & cntrl.Name & vbCr
            Else
                If cntrl = False Then message = message & cntrl.Name & vbCr
            End If
        End If
    Next cntrl
   
    If message <> "" Then
        MsgBox ("Folgende Felder wurden nicht ausgefüllt:" & vbCr & message)
    End If


Dim Jahr As String
Dim Monat As String
Dim Tag As String
Dim DateiName As String
Dim User As String
Dim Stunde As String
Dim Minute As String
Dim Sekunde As String

User = Environ("Username")

Jahr = DatePart("yyyy", Now)
Monat = DatePart("m", Now)
Tag = DatePart("d", Now)
Stunde = DatePart("h", Now)
Minute = DatePart("m", Now)
Sekunde = DatePart("s", Now)

DateiName = Jahr & "_" & Monat & "_" & Tag & "_" & Stunde & "_" & Minute & "_" & Sekunde & "_" & User

ActiveDocument.SaveAs ("\\ntmnrzo2\all_group\TTB-Bestellformulare Aboverkauf\Bestellformulare\Sicherungskopie\Wander-Abo" & DateiName & ".doc")

ActiveDocument.SendMail
End Sub


Gibt es hier eine Möglicgkeit, dass das Dokument erst verschickt werden kann, wenn die entsprechenden Felder ausgefüllt sind?

Müste über so nen "value = false" bzw. "value = true" gehen, nur bekomm ich das leider nicht hin.

Optional würde ich noch gerne wissen wollen, wie ich den Befehl "ActiveDocument.SendMail" ausbauen kann, dass beim öffnen von Outlook auch gleich noch die Mail-Adresse erscheint, zu der das Formular letztendlich geschickt werden soll.

Ich weiß, es sind etwas viel Wünsche auf einmal, fast wie bei nem Überraschungs-Ei Very Happy

Hoffe aber trortzdem, dass mir jemand weiterhelfen kann.

Danke schonmal
Gast
Gast



Verfasst am:
27. Feb 2009, 13:51
Rufname:

AW: Pop-Up Fenster bei Nicht-Ausfüllen von Formularfeldern - AW: Pop-Up Fenster bei Nicht-Ausfüllen von Formularfeldern

Nach oben
       Version: Office 2003

Warum verwendest du den Code nicht so wie ich es oben gepostet habe? Ich habe oben extra dafür eine Else Case angelegt wo drin steht "Formular absenden".

Code:
Private Sub CommandButton1_Click()
    Dim cntrl As MSForms.Control, _
        message As String, _
        Jahr As String, _
        Monat As String, _
        Tag As String, _
        DateiName As String, _
        User As String, _
        Stunde As String, _
        Minute As String, _
        Sekunde As String

    message = ""
    For Each cntrl In UserForm1.Controls
        If Not TypeOf cntrl Is MSForms.CommandButton Then
            If TypeOf cntrl Is MSForms.TextBox Then
                If cntrl.Value = "" Then message = message & cntrl.Name & vbCr
            ElseIf TypeOf cntrl Is MSForms.ComboBox Then
                If cntrl.Text = "" Then message = message & cntrl.Name & vbCr
            Else
                If cntrl = False Then message = message & cntrl.Name & vbCr
            End If
        End If
    Next cntrl
   
    If message <> "" Then
        MsgBox ("Folgende Felder wurden nicht ausgefüllt:" & vbCr & message)
    Else
        User = Environ("Username")
       
        Jahr = DatePart("yyyy", Now)
        Monat = DatePart("m", Now)
        Tag = DatePart("d", Now)
        Stunde = DatePart("h", Now)
        Minute = DatePart("m", Now)
        Sekunde = DatePart("s", Now)
       
        DateiName = Jahr & "_" & Monat & "_" & Tag & "_" & Stunde & "_" & Minute & "_" & Sekunde & "_" & User
       
        ActiveDocument.SaveAs ("\\ntmnrzo2\all_group\TTB-Bestellformulare Aboverkauf\Bestellformulare\Sicherungskopie\Wander-Abo" & DateiName & ".doc")
       
        ActiveDocument.SendMail
    End If
End Sub
Gast



Verfasst am:
27. Feb 2009, 17:15
Rufname:


AW: Pop-Up Fenster bei Nicht-Ausfüllen von Formularfeldern - AW: Pop-Up Fenster bei Nicht-Ausfüllen von Formularfeldern

Nach oben
       Version: Office 2003

Oh sorry.
Das hab ich voll vor lauter hektik rausgelöscht...

Aber funktioniert jetzt!
Vielen Dank dafür!

Gruß Gast
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Word Serienbriefe: Serienbrief mit Formularfeldern aus Word 2003 in Word 2007 5 Gast 6926 04. Okt 2013, 08:00
Bürogummi Serienbrief mit Formularfeldern aus Word 2003 in Word 2007
Keine neuen Beiträge Word VBA Programmierung (Makros): Bestimmter Wert in Feld öffnet Popup Bild 0 MasterSchoeni 86 15. Aug 2013, 08:35
MasterSchoeni Bestimmter Wert in Feld öffnet Popup Bild
Keine neuen Beiträge Word Formate: Das Format ändert sich bei Formularfeldern 0 nrog76 87 06. Nov 2012, 17:44
nrog76 Das Format ändert sich bei Formularfeldern
Keine neuen Beiträge Word VBA Programmierung (Makros): "Fenster" Formatvorlagen und Formatierung übersteu 2 Chrisly 204 06. Okt 2011, 21:54
MarkMH_K "Fenster" Formatvorlagen und Formatierung übersteu
Keine neuen Beiträge Word Gestaltungselemente: Fenster vertikal teilen 4 mausilisa 1838 03. Mai 2011, 22:33
Netzverbindung Fenster vertikal teilen
Keine neuen Beiträge Word VBA Programmierung (Makros): dnamsiches einfügen von Formularfeldern per Userform 0 capitan 704 15. Jun 2010, 10:30
capitan dnamsiches einfügen von Formularfeldern per Userform
Keine neuen Beiträge Word VBA Programmierung (Makros): Summenbildung in Formularfeldern mit IF Abfrage? 2 Christoph2 899 10. Feb 2010, 00:10
Lisa Summenbildung in Formularfeldern mit IF Abfrage?
Keine neuen Beiträge Word VBA Programmierung (Makros): Fenster verkleinern 1 palmenmann 1406 15. Jan 2010, 21:01
Gast Fenster verkleinern
Keine neuen Beiträge Word VBA Programmierung (Makros): DebugMeldg: Laufzeitfehl: 438 in Makro "Fenster schließ 3 dgs68 899 28. Jan 2009, 10:47
CHF DebugMeldg: Laufzeitfehl: 438 in Makro "Fenster schließ
Keine neuen Beiträge Word VBA Programmierung (Makros): Word Einfügen/Grafik/aus Datei Fenster über Makro öffnen 1 mz000 2424 23. Okt 2008, 13:13
cybaer Word Einfügen/Grafik/aus Datei Fenster über Makro öffnen
Keine neuen Beiträge Word Gestaltungselemente: Mein Lineal und auch das Fenster für die Tabstobs s.verschw. 1 alter.fritz 594 23. Jul 2008, 11:02
Gast Mein Lineal und auch das Fenster für die Tabstobs s.verschw.
Keine neuen Beiträge Word Gestaltungselemente: Inhalt von Formularfeldern mehrfach verwenden 0 neon_fd 489 12. Jun 2008, 11:16
neon_fd Inhalt von Formularfeldern mehrfach verwenden
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Excel-Formeln