我在努力弄清楚如何直接驻留在Excel表单多页窗体上检测到按钮按下事件。 换句话说,使用VBA不产生形式,它被直接内置在片材上。
我希望的语法是这样的:
Private Sub MultiPage1_Frame1_CommandButton1_Click()
Do Stuff
End Sub
然而,因为我觉得我还需要在多页到指定页面不起作用。 例如,相同的形式上的文本框可以通过以下方式访问:
MultiPage1.Pages(0).Frame1.TextBox1.Text = "Some Text"
不幸,
Private Sub MultiPage1_Pages(0)_Frame1_CommandButton1_Click()
给出了一个编译错误:预期:标识符与所选择的内部零(0)。
所以,我怎么转换
MultiPage1.Pages(0).Frame1.CommandButton1
到将检测按钮按下事件子的名字吗?
谢谢!
我不知道,但我想你可能无意中发现了一个错误。
有一个Microsoft窗体下其他控件 2.0控制,但我敢肯定,这只是仅用于用户窗体上使用。
我试着将它添加到一个工作表,并得到了一个错误。 但是,一旦我添加一个用户窗体,又回到了工作,我能够加入...但事情变得“出问题”的那一刻,当我打开的属性对话框的BOD,字体被渲染不佳。
所有这一切我看着(如文档, 这样 , 这个和这个 )只有在用户窗体中使用这样的例子,或者在Outlook中。
有许多类型的ActiveX控件,而不是所有的人都可以在任何地方使用。 根据经验,在Excel中的规则,这是最好的坚持所内置的控制。
此外,从另一个论坛:
问 :看来我无法找到并添加多页管制成的工作表。 如何添加多页控件Excel工作表?
答 :除非你把它放在用户窗体第一,你不能在工作表中显示。 用户窗体提供用户界面以VBA。 该MultiPagecontrol设计与该用户界面,而不是Excel工作表的工作。 是否有使用窗体显示MutliPage控制出了问题? 来源: 利思罗斯
这方面的证据结合告诉我, 就算你能得到它的工作, 你不应该 。 有没有预测它会如何表现。
如果你决定使用多页在用户窗体,请注意,在你上面的例子, MultiPage1
是控件的名称; 这不是指“第1页”。 作为一个整体的控制有一个Click
事件,这是不特定的页面:
Private Sub MultiPage1_Click(ByVal Index As Long)
为了完整起见,我会贴一个完整的代码示例中,但再次:这是不推荐用于基于工作表控制。
如何在多页控件访问一个页面
下面的例子访问在几个方面多页的个人页面:
使用Pages集合了数字索引。
使用在多页的个人页面的名称。
使用SelectedItem属性。
为了使用本例中,此示例代码复制到一个形式的脚本编辑器 。 请确保该窗体包含一个名为多页 MultiPage1
和一个名为命令按钮 CommandButton1
。
Sub CommandButton1_Click()
Dim PageName
Set MultiPage1 = Item.GetInspector.ModifiedFormPages("P.2").MultiPage1
For i = 0 To MultiPage1.Count - 1
'Use index (numeric or string)
MsgBox "MultiPage1.Pages(i).Caption = " & MultiPage1.Pages(i).Caption
MsgBox "MultiPage1.Pages.Item(i).Caption = " & _
MultiPage1.Pages.Item(i).Caption
'Use Page object without referring to Pages collection
If i = 0 Then
MsgBox "MultiPage1.Page1.Caption = " & MultiPage1.Page1.Caption
ElseIf i = 1 Then
MsgBox "MultiPage1.Page2.Caption = " & MultiPage1.Page2.Caption
End If
'Use SelectedItem Property
MultiPage1.Value = i
MsgBox "MultiPage1.SelectedItem.Caption = " & _
MultiPage1.SelectedItem.Caption
Next
End Sub
( 来源 )
现在,我要删除工作表马车并重新启动 ; 我建议你做同样的!
Mikerickson和加法尔Tribak上MrExcel.com想通了:
https://www.mrexcel.com/forum/excel-questions/1054446-detect-button-press-event-excel-sheet-multipage-form-not-vba-userform-multipage-2.html
非常感谢两位!
文章来源: Detect Button Press Event on an Excel Sheet MultiPage Form (NOT a VBA MultiPage)