VBA学习(91) 取得文件的基本名称 77-2中介绍了如何使用Excel内置的“打开”对话框来获得选定文件的文件名称,此名称包含文件路径及文件扩展名,有时在操作时只需要文件的基本名称,此时可以使用GetBaseName方法,如下面的代码所示。 SubGetName() DimMyFileAsObject DimFilenameAsVariant SetMyFile=CreateObject(Scripting.FileSystemObject) Filename=Application.GetOpenFilename IfFilenameFalseThen MsgBoxMyFile.GetBaseName(Filename) EndIf EndSub 代码解析: GetName过程取得用户选定文件的基本文件名称。 第4行代码使用CreateObject函数创建FileSystemObject对象并将该对象赋给变量MyFile,请参阅▲。 第5行代码使用GetOpenFilename方法显示标准的内置“打开”对话框。 第6行到第8行代码,如果用户选定了文件,使用消息框显示选定文件的基本名称。应用于FileSystemObject对象的GetBaseName方法返回一个包含路径中最后部件的基本名字(去掉任何文件扩展名)的字符串,语法如下: object.GetBaseName(path) 参数object是必需的,FileSystemObject对象的名称。 参数path是必需的,要返回其基本名字的部件的路径说明。 注意GetBaseName方法只对参数path提供的字符串起作用,既不试图去辨认路径,也不检查指定路径是否存在。 运行GetName过程,在打开对话框中选定示例文件后结果。 ▲防止用户中断代码运行 在使用VBA开发的程序交予用户使用后,如果在运行需要长时间执行的宏代码时,用户在代码运行期间按下了Esc键或者Ctrl+Break组合键,会显示消息框。 此时单击“继续”按钮将继续执行代码,单击“结束”按钮结束过程,单击“调试”按钮进入中断模式,这显然不是用户所希望出现的,此时需要使用Application对象的EnableCancelKey属性来进行控制,如下面的代码所示。 SubEnablEsc() DimiAsInteger Application.EnableCancelKey=xlDisabled Fori=1To Cells(1,1)=i Next EndSub 代码解析: EnablEsc过程在代码运行期间禁用“取消”键的捕获功能。 应用于Application对象的EnableCancelKey属性控制将用户中断用于运行程序的处理,语法如下: expression.EnableCancelKey 参数是expression必需的,Application对象。 EnableCancelKey属性值为表格所示的XlEnableCancelKey常量之一。 只要MicrosoftExcel返回空闲状态并且没有程序处于运行状态,EnableCancelKey属性都会重置为xlInterrupt。若要在程序运行中捕获或者禁用取消过程,则每次在程序被调用时必须明确更改EnableCancelKey属性。 在下方的治疗白癜风最好药白癜风可以治愈的么
|