Excel精英培训网

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

[已解决]宏读取txt,如果无文件就退出,否则继续执行后面程序?

[复制链接]
发表于 2013-3-28 21:05 | 显示全部楼层 |阅读模式
我用宏程序读取TXT信息,在选取文件时如果未选取则推出,否则继续后面执行程序?
程序如下:
Dim fn As Integer
Dim MyStr As String
Dim files
Dim ss As String
Set wb_1 = ThisWorkbook
Set sh_1 = wb_1.Sheets("GPS")

        Application.ScreenUpdating = False    '关闭屏幕更新,防止闪屏、加快代码运行
        files = Application.GetOpenFilename("请打开最新的GPS文件(*.txt),*.txt", , , , True)    '选取一个范围,可以选多个excel文


这里该怎么写程序啊?
        

Sheets("GPS").Rows("2:2").Font.Bold = True
ThisWorkbook.Sheets("GPS").Cells(2, 1) = "小区名"
ThisWorkbook.Sheets("GPS").Cells(2, 2) = "GPS时钟编号"
最佳答案
2013-3-29 17:49
  1. Sub txt文件()
  2.     Dim txtfile
  3.     txtfile = Application.GetOpenFilename("文本文件(*.txt),*.txt", 1, "选择要打开的文本文件", , True)
  4.     If Not IsArray(txtfile) Then MsgBox "没有选择任何文件": Exit Sub
  5.     '接下来加你的代码
  6. End Sub
复制代码
发表于 2013-3-28 21:11 | 显示全部楼层
回复

使用道具 举报

发表于 2013-3-28 21:12 | 显示全部楼层
本方法返回选定的文件名或用户输入的名称。返回的名称可能包含路径说明。如果 MultiSelect 为 True,则返回值将是一个包含所有选定文件名的数组(即使仅选定了一个文件名)。如果用户取消了对话框,则该值为 False。

回复

使用道具 举报

 楼主| 发表于 2013-3-29 16:40 | 显示全部楼层
hwc2ycy 发表于 2013-3-28 21:11
if files=false then exit sub

好像不可以,如果不选中文件,程序退出没有问题;但是如果选中文件,If files = False Then Exit Sub 程序就报错了!
回复

使用道具 举报

发表于 2013-3-29 17:49 | 显示全部楼层    本楼为最佳答案   
  1. Sub txt文件()
  2.     Dim txtfile
  3.     txtfile = Application.GetOpenFilename("文本文件(*.txt),*.txt", 1, "选择要打开的文本文件", , True)
  4.     If Not IsArray(txtfile) Then MsgBox "没有选择任何文件": Exit Sub
  5.     '接下来加你的代码
  6. End Sub
复制代码
回复

使用道具 举报

发表于 2013-3-29 17:50 | 显示全部楼层
忘了多选返回的是数组,那就直接检测是否为数组就行了。
回复

使用道具 举报

 楼主| 发表于 2013-3-31 20:53 | 显示全部楼层
hwc2ycy 发表于 2013-3-29 17:49

问题已经解决,非常感谢!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 03:18 , Processed in 0.610070 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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