作者:iamlaosong
曾经看到这么一个问题:
有一个VBA应用的例子中有这么一句代码:
ThisWorkbook.DialogSheets("Start").Show
我找了整个工程都没有看见有“Start”这个sheet,但是程序能运行并且有对话框显示,请问这个对话框如何才能找到?
通过研究,发现原来这儿的DialogSheets实际上就是MS EXCEL 5.0 对话框,这个对象在VBA集成环境中看不到,但是可通过show这个方法显示出来。这个对话框中可以添加控件,并进行编程,由此涉及到工作表到底有几种类型呢?
XlSheetType 可为以下 XlSheetType 常量之一。
xlChart
xlDialogSheet
xlExcel4IntlMacroSheet
xlExcel4MacroSheet
xlWorksheet
右键工作表标签后,选“插入”后,会出现插入工作表类型选择,见下图:
对应如下
xlChart 图表
xlDialogSheet MS EXCEL 5.0 对话框
xlExcel4IntlMacroSheet 国际通用宏表
xlExcel4MacroSheet MS EXCEL 4.0 宏表
xlWorksheet 工作表
如果不出现xlExcel4IntlMacroSheet类型(见下图),执行下面过程后,插入工作表类型就会出现国际通用宏表。
Sub insert1()
Sheets.Add after:=Sheets(Sheets.Count), Type:=xlExcel4IntlMacroSheet
End Sub
插入对话框后,可对其进行编辑,添加控件,对控件指定宏,实现某种功能,最后可右击选择执行对话框,进行测试,如下图所示:
执行后的效果如下:
下面是一个利用对话工作表作为登录界面的例子:
'登录窗口 Sub login() With Sheets("Dlg_login") .EditBoxes.Text = "" .Labels.Caption = "" End With Times = 0 Sheets("Dlg_Login").Show End Sub
对其中的按钮指定宏,就可以实现密码校验了。
其它讨论还可参见下列链接:点击打开链接