mysteryman
Goto Top

Visual Basic in einem selbsterstellen Formular (Outlook) benutzen

Hallo Community,

ich benötige eure Hilfe bei VBS in verbindung mit Outlook. Ich hoffe ich habe es im richtigen Bereich gepostet, wenn nicht bitte verschieben.

Ich habe in Outlook ein eigenes Formular erstellt mit Dropdown-Felder.

Ich habe 2 Dropdown-Felder. Im ersten Dropdown-Feld stehen verschiedene Software drinne (z.B. Word, Excel, Firefox). Wenn ich nun z.B. Word auswähle, soll im im zweiten Dropdown-Feld z.B. Service Pack 2, Service Pack 3 zur auswahl stehen, aber wenn ich nun Firefox auswähle sollen andere Einträge vorhanden sein z.B. die Versionen 1, 2, 3. Das heißt das 2 Feld muss Variable, aber Feste werten vorhanden sein, die jenachdem was ich im ersten Feld auswähle zur auswahl stehen.

Ich weiß das dieses ohne Progammierkenntnisse nicht möglich ist und ich besitze keine Progammierkenntisse. Ich kann mir nur vorstellen das es durch IF-Abfragen realisiert werden kann. Liege ich damit falsch?

Kann man nun dieses überhaupt mit VBS realisieren?

Wenn ihr weitere Fragen habt, werde ich diese versuchen zu Beantworten.

Ich hoffe ihr habt verstanden was ich vorhabe.

Vielen Dank schonmal für die Bemühungen im Voraus.

Mit freundlichen Gruß
MysteryMan

Content-Key: 94247

Url: https://administrator.de/contentid/94247

Printed on: April 16, 2024 at 05:04 o'clock

Member: vbMaxi
vbMaxi Aug 12, 2008 at 14:23:46 (UTC)
Goto Top
Hi,
du hast recht if-Abrfrage, könnten hier verwendet werden. Case-Abfragen sind hier aber angebrachter.

Private Sub Combo1_Change()
Select Case Combo1.Text

   Case "Test1"  
     Combo2.Clear
     Combo2.AddItem ("test")  
     Combo2.AddItem ("hallo")  
   Case "Test2"  
     Combo2.Clear
     Combo2.AddItem ("test2")  
     Combo2.AddItem ("hallo")  
End Select
End Sub

Die Case Abschnitte, spiegeln das, was in der Ersten Combobox ausgewählten Eintrag wieder.
"Combo2.Clear" löscht alle Einträge der 2. Combobox und "Combo2.AddItem("????")" fügt einen neuen Eintrag, mit dem Inhalt "????" zur 2. Combobox hinzu.

mfg Maxi
Member: MysteryMan
MysteryMan Aug 13, 2008 at 06:29:10 (UTC)
Goto Top
Hallo Maxi,

ich habe nun deinen Quelltext in den Script Editor rein kopiert und habe nun folgende Frage

Wie werden die Dropdown-Felder angesprochen?

Muss ich Combo1 und Combo2 durch den Name des jeweiligen Dropdown-Feldes ersetzen oder durch den Namen der Variablen?

Vielen Dank für deine Bemühungen


Mit freundlichen Grüßen
MysteryMan


Edit:
Im VBS Editor funktioniert dein Script schonmal, aber ich habe immer noch das Problem das er im Formular das nicht durchführt. Hast du dazu auch eine Idee?

Soll ich dir mal das Formular zu schicken?
Member: vbMaxi
vbMaxi Aug 13, 2008 at 11:39:33 (UTC)
Goto Top
Hallo,
ja du musst Combo1 und Combo2 durch die jeweiligen Namen erstetzen.
Hmmm... das ist komisch. Währe wohl am besten, du schickst mir das Forumlar mal zu.

Ich schick dir eine PN mit meiner Mail Adresse.

mfg Maxi
Member: MysteryMan
MysteryMan Aug 15, 2008 at 09:08:32 (UTC)
Goto Top
So ich habe es nun endlich geschafft. Hier ist der Quelltext, wenn Fragen sind stellt diese

Sub Item_CustomPropertyChange(ByVal Name)
Select Case Name
Case "Value1"
theChoice = Item.UserProperties("Value1")
MsgBox "Choice in Box1 is: " & theChoice,,"INFORMATION"
' set Value2 accordingly
Select Case theChoice

' zeigt das Beispiel, wie man die Auswahl fest setzen kann
Case "Test1"
Set formTab = Item.GetInspector.ModifiedFormPages("Nachricht")
Set comboChoice = formTab.Controls("Box2")
comboChoice.PossibleValues = "Version 1.1;Version 1.2;Version 1.3"

' zeigt das Beispiel, wie man eine Liste dynamisch erweitern kann
Case "Test2"
Set formTab = Item.GetInspector.ModifiedFormPages("Nachricht")
Set comboChoices = formTab.Controls("Box2")
comboChoices.AddItem "Version 2.1"
comboChoices.AddItem "Version 2.2"
comboChoices.AddItem "Version 2.3"

' Zeigt das Beispiel, wie man den Wert fest setzen kann (ohne, dass er zur Auswahl steht face-smile
Case "Test3"
Item.UserProperties("Value2") = "Version 3.7"
End Select

Case "Value2"
theChoice = Item.UserProperties("Value2")
MsgBox "Choice in Box2 is: " & theChoice,,"INFORMATION"
End Select
End Sub

Das sind nun drei Möglichkeiten ich habe die aus der Case 1 gewählt.

Vielen Dank nochmal für deine Hilfe
Member: andrehh
andrehh Jan 21, 2009 at 10:27:40 (UTC)
Goto Top
Hi,

auch wenn der Thread schon älter ist, vllt liest ihn ja trotzdem noch jemand ;>

Irgendwie raff ich das Skript nicht komplett. Welche Variablen gilt es denn für die beiden Comboboxen anzupassen?

Case "Test2" & Case "Test3" würden für mich auch rausfallen.

Brauche ich Case "Value2" am Ende zwangsläufig ?
Member: MysteryMan
MysteryMan Jan 21, 2009 at 11:28:37 (UTC)
Goto Top
Ja es liest ihn noch jemand ;)

Also du möchtest nur das hier benutzen

' zeigt das Beispiel, wie man die Auswahl fest setzen kann
Case "Test1"
Set formTab = Item.GetInspector.ModifiedFormPages("Nachricht")
Set comboChoice = formTab.Controls("Box2")
comboChoice.PossibleValues = "Version 1.1;Version 1.2;Version 1.3"


Ich habe es mal mit Leben gefüllt

Sub Item_CustomPropertyChange(ByVal Name)
Select Case Name
Case "Software"
theChoice = Item.UserProperties("Software")
'MsgBox "Choice in Box1 is: " & theChoice,,"INFORMATION"
' set Value2 accordingly
Select Case theChoice

Case "Windows XP"
Set formTab = Item.GetInspector.ModifiedFormPages("Nachricht")
Set comboChoice = formTab.Controls("Version")
comboChoice.PossibleValues = "64Bit;32Bit"
End Select

End Select
End Sub

Also du brauchst eine Box wo du Windows XP als auswahl vorhanden hast. in diesen Fall heißt die Box Software . Das Script sieht nun welche Case du ausgewählt hast und gibt dir vor was du in der Box Version zur auswahl hast. Wenn du es nicht verstanden hast . Meld dich mal bei mir mit ner PN. Ich kann dir dann screenshots schicken.

nein das Value2 dient nur zur Kontrolle, das er das Script durchläuft.

Eigentlich sollte das Script Funktionieren wenn du es Kopierst und die Zwei Drop Down Boxen die jeweiligen namen gibst.

Gruß
Mystery