Dim kk As String
kk = Application.GetOpenFilename(\提示:请打开一个EXCEL文件:\msgbox kk
打开zoom显示比例对话框
Application.Dialogs(xlDialogZoom).Show 激活字体对话框
Application.Dialogs(xlDialogActiveCellFont).Show 打开另存对话框 Dim kk As String
kk = Application.GetSaveAsFilename(\Workbooks.Open kk
此段代码寻找字符串中特定字符的位置,需要建立一个窗体,并在窗体中,放入TEXTBOX1,TEXTBOX2和TEXTBOX3(3个文本框)及COMMANDBUTTON1(按钮) Private Sub CommandButton1_Click() a = TextBox1.Text b = TextBox2.Text aa = Len(a) i = 1
Dim YY As String If b = \Do
If InStr(i, a, b, vbTextCompare) = 0 Then Exit Do kk = InStr(i, a, b, vbTextCompare) YY = YY & CStr(kk) & \i = kk + 1
Loop While aa >= i TextBox3.Text = YY End Sub
ActiveX控件在Excel97中的运用
Excel97在工作表或图表上可使用ActiveX控件,根据我使用的体会,在工作上处理控件时,必须注意和了解如下事项:
(一)用Excel5.0/95工作簿文件格式保存Excel97工作簿时,将选择ActiveX控件信息。当用户通过双击鼠标来编辑内嵌在其它应用程序文档中的Excel97工作簿时,该工作簿上的控件将不会正常工作。如果用户是通过用右键单击工作簿,然后选中快捷菜单上的“打开”命令来编辑工作簿的话,工作簿上的控件就能正常工作了。
(二)当ActiveX控件处于激活状态时,将禁用某些MicrosoftExcelVisualBasic方法和属性。例如,当某一控件激活时,就不能使用Sort方法,故下述按钮单击事件处理过程中的代码将失败(因为用户单击按钮后,该按钮就处于激活状态)。 PrivateSubCommandButton1 Click
Range(″a1:a10″) SortKey1:=Range(″a1″) EndSub
解决办法是通过选激活工作表上其它元素的方法来绕过这种问题。例如,可用下列代码对单元格区域排序:
PrivateSubCommandButton1 Click Range(″a1″) Activate
Range(″a1:a10″) SortKey1:=Range(″a1″) CommandButton1 Activate End Sub
(三)在MicrosoftExcel中,用OLEObjects集合中的OLEObject对象代表ActiveX控件。如果要用编程的方式向工作表添加ActiveX控件,可用OLEObjects集合的Add方法。例如向第一张工作表添加命令按钮。
Worksheets(1) OLEObjects Add″Forms CommandButton 1″,_ Left:=10,Top:=10,Height:=20,Width:=100
因为ActiveX控件也可用OLEObjects集合中的OLEObject对象代表,所以也可用该集合中的对象来设置控件的属性。例如要设置控件“CommandBotton1”的“左边位置”属性。
Worksheets(1) OLEObjects(″CommandButton1″) Left=10
那些不属于OLEObject对象属性的控件属性,可通过由Object属性返回的实际控件对象来设置。例如要设置控件“CommandButton1”的标题。 Worksheets(1) OLEObjects(″CommandButton1″) Object Caption=″runme″
因为所有的OLE对象也是Shapes集合的成员,所以也可用该集合设置若干控件的属
性。例如要对齐第一张工作表上所有控件的左边框。 ForEachsInWorksheets(1) Shapes
Ifs Type=msoOLEControlObjectThens Left=10 Next
请注意,当在控件所在工作表的类模块之外使用控件的名称时,必须用工作表的名称限定该控件的名称。在工作表上ActiveX控件的事件处理过程中,Me关键字所指向的是工作表,而非控件
65、在Excel中利用VBA创建多级选单
Excel是我们常用的报表处理软件之一,对于大多数人来说只是使用它进行打印报表,没有注意其他功能,其实利用Excel内嵌的 VBA 语言完全可以快速开发出自己企业的应用系统来,而且应用系统界面与其它专业编程语言相当相似。下面笔者简单通过一个实例说明如何利用VBA创建多级选单。
首先,我们对Excel中两个重要的内置函数auto_open() 和 auto_close()作一简单说明。
auto_open() :在打开工作簿时系统将自动执行该函数,因此我们可以在该函数中调用自己应用程序的选单函数以及其它需要初始化设置的函数及宏语句; auto_close():在关闭工作簿时系统将自动执行该函数。所以我们需要在该函数中放置删除用户自定义选单语句,否则只有退出Excel才能恢复EXCEL的系统选单。 在以下语句中,我们定义了选单设置函数 OpenMyMenu(),用于设置多级选单,其他有关说明见程序内注释,详细代码如下: Sub OpenMyMenu() ′自定义多级选单函数 On Error Resume Next ′忽略错误
MenuBars(\ MenuBars.Add (\ Sheets(\
MenuBars(\金融\′增加第一个选单项“金融”
′以下三句为在“金融”选单下增加“银行法、货币政策和条例”三项选单项 MenuBars(\金融\银行法\OnAction:=\银行法\
MenuBars(\金融\货币政策\OnAction:=\货币政策\
MenuBars(\金融\条例\OnAction:=\条例\
′以下为创建如图所示的多级选单
MenuBars(\经济\建立选单项“经济” ′以下三句为在“经济”选单下增加“农业、工业和第三产业”三项选单项 MenuBars(\经济\农业\OnAction:=\农业\
MenuBars(\经济\工业\OnAction:=\工业\
MenuBars(\经济\第三产业\′以下三句为在“第三产业”选单下增加“概况、范畴”二项选单项和“饮食服务业”子选单
相关推荐: