Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 5028|回复: 20

[已解决]为什么按取消excel会死机。

[复制链接]
发表于 2012-12-18 22:38 | 显示全部楼层 |阅读模式
代码目的是打开“打开窗口”对话框,并把选择的文件的文件名显示在msgbox上。
但是,如果按取消退出excel会死机。因为我加上on error resume next,本意是加上它以后按取消不会报错,结果却变成死机。

按退出会EXCEL会死机.xls.rar (8.01 KB, 下载次数: 10)
发表于 2012-12-18 23:10 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2012-12-18 23:42 | 显示全部楼层
hwc2ycy 发表于 2012-12-18 23:10
不至于吧,杀毒没。

这都能与杀毒拉上关系? 只是加了on error resume next而已。是excel死机而已,不是windows死机。
回复

使用道具 举报

发表于 2012-12-18 23:55 | 显示全部楼层
那是陷入死循环了。
我看看代码吧。
回复

使用道具 举报

发表于 2012-12-19 00:00 | 显示全部楼层
你选了多少个文件,我这是正常的显示。
回复

使用道具 举报

发表于 2012-12-19 00:01 | 显示全部楼层
QQ截图20121218235939.jpg
回复

使用道具 举报

发表于 2012-12-19 00:01 | 显示全部楼层
取消的情况,你可以加代码来判断的。
回复

使用道具 举报

发表于 2012-12-19 00:06 | 显示全部楼层
  1. Private Sub 打开文件对话框()
  2.     Dim i As Byte
  3.     可选择的文件 = "记事本文件, *.txt, Excel文件, *.xls, Word文件, *.doc"
  4.     窗口标题 = "打开文件"

  5.     被选中的文件 = Application.GetOpenFilename(可选择的文件, 2, 窗口标题, , True)  '参数先用变量代替。

  6.     '由于GetOpenFilename函数可能有多个值,需要用数组的表达给msgbox,方能正确显示。
  7.     If TypeName(被选中的文件) = "Boolean" Then
  8.         MsgBox "没法选中文件"
  9.         Exit Sub
  10.     End If
  11.     'On Error Resume Next
  12.     For i = LBound(被选中的文件) To UBound(被选中的文件)
  13.         msg = msg & 被选中的文件(i) & Chr(13)
  14.     Next
  15.     MsgBox msg, , "被选中的文件"
  16. End Sub
复制代码
回复

使用道具 举报

发表于 2012-12-19 00:07 | 显示全部楼层
通过typename可以判断是否有点确定。
如果取消了,返回值是false,typename就会返回Boolean,这样就可以把取消的情况过滤。
回复

使用道具 举报

发表于 2012-12-19 00:08 | 显示全部楼层
不过即使你点取消,加了on error还是会报错的。
QQ截图20121219000714.jpg
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 21:13 , Processed in 0.580667 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表