設(shè)為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

123
返回列表 發(fā)新帖
樓主: tmtony
打印 上一主題 下一主題

競賽[高8]最好和最簡潔的文件打開對話框功能

[復(fù)制鏈接]
21#
發(fā)表于 2008-3-8 17:05:24 | 只看該作者


  1. '===============================================================================
  2. '-函數(shù)名稱:         GetFileName
  3. '-功能描述:         彈出文件打開對話框,獲得選取的文件名
  4. '-輸入?yún)?shù)說明:     參數(shù)1:filter  可選 文件篩選器
  5. '                   參數(shù)2:filterTitle   可選  篩選文件的描述
  6. '                   參數(shù)3:title   可選 對話框標(biāo)題
  7. '                   參數(shù)4:SpaceDigit  可選  表示文件對話框中初始顯示的路徑和/或文件名
  8. '-返回參數(shù)說明:     返回選取的文件名
  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

復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

22#
發(fā)表于 2008-3-8 17:49:33 | 只看該作者
大家都忽略一個(gè)問題,一般的對話框中支持多項(xiàng)多類型的選擇,也就是在下拉列表中有多個(gè)選項(xiàng)。什么是最好 最方便 最簡潔 ,看來每個(gè)人的理解都不盡相同
回復(fù)

使用道具 舉報(bào)

點(diǎn)擊這里給我發(fā)消息

23#
 樓主| 發(fā)表于 2008-3-8 18:04:09 | 只看該作者
這個(gè)題目出的不好了
沒有很好的判斷標(biāo)準(zhǔn)
回復(fù)

使用道具 舉報(bào)

24#
發(fā)表于 2008-3-8 18:39:45 | 只看該作者
但至少有一點(diǎn)可以看出來了,使用Office對象是最優(yōu)的選擇。但做成函數(shù)等集成模塊,那么靈活度自然要受到影響的。所以在實(shí)際應(yīng)用中,可根據(jù)自己的需要來靈活應(yīng)用,沒有一成不變的。代碼的質(zhì)量高度遠(yuǎn)比不上好的思維方法。
回復(fù)

使用道具 舉報(bào)

25#
發(fā)表于 2008-3-10 14:20:06 | 只看該作者
原帖由 andymark 于 2008-3-8 17:49 發(fā)表
大家都忽略一個(gè)問題,一般的對話框中支持多項(xiàng)多類型的選擇,也就是在下拉列表中有多個(gè)選項(xiàng)。什么是最好 最方便 最簡潔 ,看來每個(gè)人的理解都不盡相同


贊同
回復(fù)

使用道具 舉報(bào)

點(diǎn)擊這里給我發(fā)消息

26#
 樓主| 發(fā)表于 2008-3-11 08:52:51 | 只看該作者
這道題我出得不好, 定義不夠清晰.  但現(xiàn)在只好先結(jié)貼給獎(jiǎng)金了
咱家是貓 版主 和 fan0217版主 的答案功能和代碼長度都旗鼓相當(dāng),  不過, 因?yàn)?咱家是貓 版主發(fā)在前,
所以判 咱家是貓 版主取勝了. 80元 O幣已經(jīng)送到家門口
回復(fù)

使用道具 舉報(bào)

27#
發(fā)表于 2008-4-9 21:18:46 | 只看該作者
使用咱家是貓的代碼

Dim dlgOpen As FileDialog
停在這一句,提示"用戶定義類型未定義"
這是什么原因?
謝謝
回復(fù)

使用道具 舉報(bào)

28#
發(fā)表于 2008-4-9 21:50:26 | 只看該作者
需引用
Micosoft Office 1X.0 Object Library
回復(fù)

使用道具 舉報(bào)

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

謝謝!
還以為是引用Micosoft access 1X.0 Object Library
文件夾選取如何寫?
回復(fù)

使用道具 舉報(bào)

30#
發(fā)表于 2024-1-30 22:33:35 來自手機(jī) | 只看該作者
多謝分享!學(xué)習(xí)學(xué)習(xí)!
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

QQ|站長郵箱|小黑屋|手機(jī)版|Office中國/Access中國 ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2024-10-23 06:24 , Processed in 0.095008 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表