基于链接的工作表管理菜单的设计与应用。在excel工作表中设计一个管理菜单,依次选中各菜单项,执行“插入/超链接”命令,分别链接到相应实验的工作簿文档上。其缺点是只能在带管理菜单的工作表中打开各实验的工作簿文档。
采用宏可以编制多级用户菜单取代系统提供的命令菜单,方法如下。
打开文档时自动运行的宏
sub auto_open()
openmenu
end sub
关闭文档时自动运行的宏
sub auto_close()
on error resume next
menubars("mymenu").delete
end sub
自定义多级菜单的宏
sub openmenu()
on error resume next
menubars("mymenu").delete
sheets("物理实验管理").select
menubars.add ("mymenu")自定义菜单
添加第1级“力学实验”菜单项
menubars("mymenu").menus.add caption:="力学实验"
添加第2级“力学实验1”~“力学实验2”菜单项
menubars("mymenu").menus("力学实验").menuitems.add caption:="力学实验1", onaction:="sheetopen11"
menubars("mymenu").menus("力学实验").menuitems.add caption:="力学实验2", onaction:="sheetopen12"
添加第1级“电学实验”菜单项
menubars("mymenu").menus.add caption:="电学实验"
添加第2级“电学实验1”~“电学实验2”菜单项
menubars("mymenu").menus("电学实验").menuitems.add caption:="电学实验1", onaction:="sheetopen21"
menubars("mymenu").menus("电学实验").menuitems.add caption:="电学实验2", onaction:="sheetopen22"
menubars("mymenu").activate激活自定义菜单
end sub
打开指定工作簿文档“力学实验1.xls”的宏
sub sheetopen11()
dim book as workbook定义一个workbook变量
on error resume next
set book = workbooks("力学实验1.xls")
if book is nothing then
workbooks.open filename:=thisworkbook.path + "力学实验1.xls" 打开指定工作簿文档
end if
windows("力学实验1.xls").activate
sheets("力学实验1").activate
end sub
类似地,可以编写打开“电学实验.xls”、“力学实验2.xls”和“电学实验2.xls”工作簿文档的宏。