2012-07-10 135 views
2

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

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

我的问题是我在做什么错?我应该使用VBscript编辑器,还是使用VBA做适当的事情? 我甚至有可能问什么?谢谢大家!

回答

2

今天早上是一个伟大的!我发现了解决我的问题的方法。在未来任何人有这个问题,这是我想出了:

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 
1

右键单击您的表单并选择“查看代码”。现在,您应该可以从代码编辑器的文本输入部分上方的下拉菜单中进行选择。选择“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的”)在窗体的代码,并获得相同的结果。让我知道你怎么去。

+0

谢谢你的回应! 我试过这段代码,它似乎并不适合我。 组合框和文本框都被绑定,如果这有所作为。 ComboBox1绑定到飞机,TextBox1绑定到PartNumber。 我知道我必须用Item_CustomPropertyChange(ByVal Aircraft)(也许)在VBscript中做一些事情,但我不太确定在那之后要去哪里。 – Turkwise 2012-07-10 23:44:43

+0

对不起,在一个晚上发布两次,但我忘了插入我今天制定的代码(但不工作)。 我的定制选项卡被命名为 '形式' 随着当今大量的研究,我想出了这个: 子Item_CustomPropertyChange(BYVAL飞机) 设置myInspector = Item.GetInspector 设置FormPage = myInspector.ModifiedFormPages( “表” ) 集飞机= FormPage.Controls( “飞机”) 设置部分号码= FormPage.Controls( “部分号码”) \t选择事例Aircraft.Value \t \t案例 “值1” \t \t \t PartNumber.Value =“124 “ \t \t案例 “值2” \t \t \t PartNumber.Value = “125” \t结束选择 结束子 – Turkwise 2012-07-11 04:08:19