05. september 2006 - 15:23Der er
2 kommentarer og 1 løsning
Kan ikke fange på alle checkboxe
Jeg er ved at lave en fax-skabelon, hvor man bl.a. skal vinge af i 1 ud af 5 checkboxe. Er ingen af dem vinget af, kan jeg godt fange fejlen, men når en eller flere er vinget af, får jeg kun oprettet dokumentet når den første checkbox er vinget af...
Støv, fibre og metalliske partikler kan påvirke både uptime, levetid og driftssikkerhed. Derfor arbejder flere datacentre systematisk med contamination control.
'Tjek for om alle nødvendige modtagerinfo er udfyldt, ellers oprettes dokumentet ikke. If faxStartBoks.tbAtt.Value = "" Then MsgBox "Du har ikke udfyldt attention-feltet" ElseIf faxStartBoks.tbModtager.Value = "" Then MsgBox "Du har ikke udfyldt modtageren af faxen" ElseIf faxStartBoks.tbModtagerFax.Value = "" Then MsgBox "Du har glemte at udfylde fax-nr" ElseIf faxStartBoks.cbVigtigt.Value = False Then If faxStartBoks.cbSvar.Value = False Then If faxStartBoks.cbKommentar.Value = False Then If faxStartBoks.cbGennemsyn.Value = False Then If faxStartBoks.cbInformation.Value = False Then MsgBox "Du har ikke udfyldt én af følgende 5 punkter: Vigtigt, Svar udbedes, Kommetar udbedes, Til gennemsyn eller Til information." End If End If End If End If ElseIf faxStartBoks.tbSidetal.Value = "" Then MsgBox "Du har ikke udfyldt sideantallet" ' ElseIf sprog = "" Then ' MsgBox "Du har ikke valgt et sprog til stavekontrollen" Else 'End If
Set Range = ActiveDocument.Range If sprog = "dansk" Then Range.LanguageID = wdDanish ElseIf sprog = "engelsk" Then Range.LanguageID = wdEnglishUK ElseIf sprog = "tysk" Then Range.LanguageID = wdGerman End If
' Checkboxene If cbGennemsyn.Value = True Then ActiveDocument.FormFields("gennemsyn").CheckBox.Value = Checked End If
If cbKommentar.Value = True Then ActiveDocument.FormFields("kommentar").CheckBox.Value = Checked End If
If cbInformation.Value = True Then ActiveDocument.FormFields("information").CheckBox.Value = Checked End If
If cbSvar.Value = True Then ActiveDocument.FormFields("svar").CheckBox.Value = Checked End If
If cbVigtigt.Value = True Then ActiveDocument.FormFields("vigtigt").CheckBox.Value = Checked End If
Jeg har rettet lidt i koden og oprettet en variabel - Mangler. Hvis der er bare en af testene, som giver udslag, vil der komme en msgbox med fejlen. Hvis der er flere der giver udslag vil alle teksterne komme i en msgbox. Den efterfølgende kode vil ikke blive kørt, hvis Mangler er forskellig fra "". Jeg har ikke testet koden, da jeg ikke har oprettet faxformen, men den burde kunne køre - måske med en enkelt tilretning...
End If 'Fobian kode start Dim Mangler As String 'Tjek for om alle nødvendige modtagerinfo er udfyldt, ellers oprettes dokumentet ikke. If faxStartBoks.tbAtt.Value = "" Then Mangler = "Du har ikke udfyldt attention-feltet" If faxStartBoks.tbModtager.Value = "" Then Mangler = Mangler & vbLf & "Du har ikke udfyldt modtageren af faxen" If faxStartBoks.tbModtagerFax.Value = "" Then Mangler = Mangler & vbLf & "Du har glemte at udfylde fax-nr"
If faxStartBoks.cbVigtigt.Value = False _ Or faxStartBoks.cbSvar.Value = False _ Or faxStartBoks.cbKommentar.Value = False _ Or faxStartBoks.cbGennemsyn.Value = False _ Or faxStartBoks.cbInformation.Value = False _ Then Mangler = Mangler & vbLf & "Du har ikke udfyldt én af følgende 5 punkter: Vigtigt, Svar udbedes, Kommetar udbedes, Til gennemsyn eller Til information."
If faxStartBoks.tbSidetal.Value = "" Then Mangler = Mangler & vbLf & "Du har ikke udfyldt sideantallet" ' ElseIf sprog = "" Then ' MsgBox "Du har ikke valgt et sprog til stavekontrollen" If Mangler <> "" Then MsgBox Mangler 'Fobian kode slut Else 'End If
Set Range = ActiveDocument.Range If sprog = "dansk" Then Range.LanguageID = wdDanish ElseIf sprog = "engelsk" Then Range.LanguageID = wdEnglishUK ElseIf sprog = "tysk" Then Range.LanguageID = wdGerman End If
' Checkboxene If cbGennemsyn.Value = True Then ActiveDocument.FormFields("gennemsyn").CheckBox.Value = Checked End If
If cbKommentar.Value = True Then ActiveDocument.FormFields("kommentar").CheckBox.Value = Checked End If
If cbInformation.Value = True Then ActiveDocument.FormFields("information").CheckBox.Value = Checked End If
If cbSvar.Value = True Then ActiveDocument.FormFields("svar").CheckBox.Value = Checked End If
If cbVigtigt.Value = True Then ActiveDocument.FormFields("vigtigt").CheckBox.Value = Checked End If
Yes, det virkede, jeg skulle dog lige rette Or til And, så den kun fanger når ingen af dem er udfyldt. Tak for hjælpen
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.