设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

123
返回列表 发新帖
楼主: tmtony
打印 上一主题 下一主题

竞赛[高8]最好和最简洁的文件打开对话框功能

[复制链接]
21#
发表于 2008-3-8 17:05:24 | 只看该作者


  1. '===============================================================================
  2. '-函数名称:         GetFileName
  3. '-功能描述:         弹出文件打开对话框,获得选取的文件名
  4. '-输入参数说明:     参数1:filter  可选 文件筛选器
  5. '                   参数2:filterTitle   可选  筛选文件的描述
  6. '                   参数3:title   可选 对话框标题
  7. '                   参数4:SpaceDigit  可选  表示文件对话框中初始显示的路径和/或文件名
  8. '-返回参数说明:     返回选取的文件名
  9. '-使用语法示例:     Me.FileName = GetFileName("*.MDB", "Microsoft Access")
  10. '-参考:             Office VBA 帮助
  11. '-使用注意:         可以引用Microsoft Office 1x.0 Object Library
  12. '-兼容性:           XP,2003
  13. '-作者:             fans fan0217  QQ:370552091
  14. '-更新日期:        2007-5-2
  15. '===============================================================================
  16. Public Function GetFileName(Optional filter As String = "*.*", _
  17.                             Optional filterTitle As String = "所有文件", _
  18.                             Optional title As String, _
  19.                             Optional initialFileName As String) As String
  20.     Dim dlg As Object
  21.     Set dlg = Application.FileDialog(1)
  22.         With dlg
  23.             .AllowMultiSelect = False
  24.             If Not IsMissing(title) Then
  25.                 .title = title
  26.             End If
  27.             If IsMissing(initialFileName) Then
  28.                 .initialFileName = initialFileName
  29.             End If
  30.             .Filters.Add filterTitle, filter
  31.             .Show
  32.         End With
  33.         If dlg.SelectedItems.Count > 0 Then
  34.                GetFileName = dlg.SelectedItems(1)
  35.            Else
  36.                GetFileName = ""
  37.         End If
  38.     Set dlg = Nothing
  39. End Function

复制代码
回复

使用道具 举报

22#
发表于 2008-3-8 17:49:33 | 只看该作者
大家都忽略一个问题,一般的对话框中支持多项多类型的选择,也就是在下拉列表中有多个选项。什么是最好 最方便 最简洁 ,看来每个人的理解都不尽相同
回复

使用道具 举报

点击这里给我发消息

23#
 楼主| 发表于 2008-3-8 18:04:09 | 只看该作者
这个题目出的不好了
没有很好的判断标准
回复

使用道具 举报

24#
发表于 2008-3-8 18:39:45 | 只看该作者
但至少有一点可以看出来了,使用Office对象是最优的选择。但做成函数等集成模块,那么灵活度自然要受到影响的。所以在实际应用中,可根据自己的需要来灵活应用,没有一成不变的。代码的质量高度远比不上好的思维方法。
回复

使用道具 举报

25#
发表于 2008-3-10 14:20:06 | 只看该作者
原帖由 andymark 于 2008-3-8 17:49 发表
大家都忽略一个问题,一般的对话框中支持多项多类型的选择,也就是在下拉列表中有多个选项。什么是最好 最方便 最简洁 ,看来每个人的理解都不尽相同


赞同
回复

使用道具 举报

点击这里给我发消息

26#
 楼主| 发表于 2008-3-11 08:52:51 | 只看该作者
这道题我出得不好, 定义不够清晰.  但现在只好先结贴给奖金了
咱家是猫 版主 和 fan0217版主 的答案功能和代码长度都旗鼓相当,  不过, 因为 咱家是猫 版主发在前,
所以判 咱家是猫 版主取胜了. 80元 O币已经送到家门口
回复

使用道具 举报

27#
发表于 2008-4-9 21:18:46 | 只看该作者
使用咱家是猫的代码

Dim dlgOpen As FileDialog
停在这一句,提示"用户定义类型未定义"
这是什么原因?
谢谢
回复

使用道具 举报

28#
发表于 2008-4-9 21:50:26 | 只看该作者
需引用
Micosoft Office 1X.0 Object Library
回复

使用道具 举报

29#
发表于 2008-4-9 22:52:01 | 只看该作者
原帖由 andymark 于 2008-4-9 21:50 发表
需引用
Micosoft Office 1X.0 Object Library

谢谢!
还以为是引用Micosoft access 1X.0 Object Library
文件夹选取如何写?
回复

使用道具 举报

30#
发表于 2024-1-30 22:33:35 来自手机 | 只看该作者
多谢分享!学习学习!
回复

使用道具 举报

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

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-29 18:33 , Processed in 0.094028 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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