时间:2016-12-21来源:本站原创作者:佚名

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属性。

在下方的







































治疗白癜风最好药
白癜风可以治愈的么

转载请注明原文网址:http://www.gzdatangtv.com/bcyytx/5005.html

------分隔线----------------------------