【问题标题】:Populating a TextBox based on selection in ComboBox根据 ComboBox 中的选择填充文本框
【发布时间】:2012-07-09 12:04:37
【问题描述】:

全部!我会尽量详细描述我的困境。我对 Visual Basic 有一点背景知识,但在 Outlook 2010 中没有真正的 VBA 或 VBscript 知识。 我正在使用 Outlook 2010。我创建了一个自定义表单(这是我的第一次)。我有一个名为 ComboBox1 的组合框和一个名为 TextBox1 的文本框。我正在尝试使用基于从 ComboBox1 所做的选择的数字自动填充 TextBox1(例如,我从 ComboBox1 中选择值 1,而 TextBox1 填充为 124)。 我尝试在 Visual Basic 编辑器(VBA 7.0 版)中使用此代码:

Sub popBox()
If ComboBox1 = "Value 1" Then
TextBox1 = "124"
End If
End Sub

我的问题是我做错了什么?我应该使用 VBscript 编辑器,还是使用 VBA 是正确的做法? 我要问的甚至可能吗?提前谢谢大家!

【问题讨论】:

    标签: vbscript combobox textbox outlook outlook-2010


    【解决方案1】:

    今天早上真棒!我发现了我的问题的解决方案。万一以后有人遇到这个问题,这就是我想出的:

    Sub Item_CustomPropertyChange(ByVal Aircraft)
    
    Set myInspector = Item.GetInspector
    Set FormPage = myInspector.ModifiedFormPages("Form")
    Set Aircraft = FormPage.Controls("Aircraft")
    Set PartNumber = FormPage.Controls("PartNumber")
        Select Case Aircraft.Value
            Case "Value 1"
                PartNumber.Value = "124"
            Case "Value 2"
                PartNumber.Value = "125"
        End Select
    End Sub
    

    【讨论】:

      【解决方案2】:

      右键单击您的表单并选择“查看代码”。现在,您应该可以从代码编辑器的文本输入部分上方的下拉菜单中选择。选择“ComboBox1”,然后从相邻的下拉菜单中选择“更改”。

      编辑器应该为您创建一个名为“Private Sub ComboBox1_Change()”的例程。输入以下内容:

      Private Sub ComboBox1_Change()
        Select Case ComboBox1.Value
          Case "Value 1"
            TextBox1.Caption = "124"
          Case Else
            TextBox1.Caption = ""
        End Select
      End Sub
      

      您也可以将上述代码(只要您的组合框称为“ComboBox1”,您的文本框称为“TextBox1”)粘贴到表单的代码中,并获得相同的结果。告诉我你的进展情况。

      【讨论】:

      • 感谢您的回复!我尝试了该代码,但它似乎对我不起作用。组合框和文本框都是绑定的,如果这有区别的话。 ComboBox1 绑定到 Aircraft,TextBox1 绑定到 PartNumber。我知道我必须在 VBscript 中使用 Item_CustomPropertyChange(ByVal Aircraft) 做一些事情(也许),但我不太确定在那之后该去哪里。
      • 很抱歉一晚上发了两次,但是我忘记插入我今天制定的代码(但不起作用)。我的自定义选项卡名为“Form” 今天经过大量研究,我想出了这个: Sub Item_CustomPropertyChange(ByVal Aircraft) Set myInspector = Item.GetInspector Set FormPage = myInspector.ModifiedFormPages("Form") Set Aircraft = FormPage.Controls(" Aircraft") Set PartNumber = FormPage.Controls("PartNumber") Select Case Aircraft.Value Case "Value 1" PartNumber.Value = "124" Case "Value 2" PartNumber.Value = "125" End Select End Sub
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多