註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
Excel程式區
» 2003與2007得到的路徑差異
返回列表
下一主題
上一主題
發帖
[發問]
2003與2007得到的路徑差異
Happkkevin
發短消息
加為好友
Happkkevin
(Kevin)
當前離線
UID
5337
帖子
56
主題
8
精華
0
積分
81
金錢
81
點名
0
作業系統
Window7
軟體版本
OFFICE2010
閱讀權限
20
性別
男
在線時間
66 小時
註冊時間
2011-6-25
最後登錄
2016-1-17
暱稱:
Kevin
中學生
帖子
56
主題
8
精華
0
積分
81
點名
0
作業系統
Window7
軟體版本
OFFICE2010
閱讀權限
20
性別
男
註冊時間
2011-6-25
最後登錄
2016-1-17
1
#
跳轉到
»
發表於 2012-10-9 23:14
|
顯示全部帖子
進入這主題學到不少
搜尋學到,順便分享一下,較常用DefaultFilePath避免上述變化
有空試試,學習一下FileDialog搭配運用
自Excel XP(2002)起,Application多了一個FileDialog屬性。FileDialog 屬性傳回 FileDialog 物件,此物件代表檔案對話方塊的執行個體。
用法:
Application.FileDialog(fileDialogType)
fileDialogType 必選的 MsoFileDialogType。檔案對話方塊的類型。
MsoFileDialogType 可以是這些 MsoFileDialogType 常數之一。
msoFileDialogFilePicker 允許使用者選取檔案。
msoFileDialogFolderPicker 允許使用者選取資料夾。
msoFileDialogOpen 允許使用者開啟檔案。
msoFileDialogSaveAs 允許使用者儲存檔案。
FileDialog 物件提供檔案對話方塊功能,類似 Microsoft Office 應用程式中的標準 [開啟舊檔] 及 [儲存檔案] 對話方塊功能。運用這些對話方塊,整合方案的使用者可以很容易地指定該方案應使用的檔案及資料夾。
使用 FileDialog 物件
以 FileDialog 屬性傳回 FileDialog 物件。FileDialog 屬性位在每個單獨的 Office 應用程式 Application 物件中。屬性使用一個引數 DialogType,以確定屬性所傳回的 FileDialog 物件類型。下列是 FileDialog 物件的 4 種類型:
[開啟舊檔] 對話方塊:讓使用者選取一或多個檔案,可使用 Execute 方法在主應用程式中開啟。
[另存新檔] 對話方塊:讓使用者選取一個檔案,可使用 Execute 方法儲存目前的檔案。
[檔案選擇器] 對話方塊:讓使用者選取一或多個檔案。在 FileDialogSelectedItems 集合中擷取使用者所選取的檔案路徑。
[資料夾選擇器] 對話方塊:讓使用者選取路徑。在 FileDialogSelectedItems 集合中擷取使用者所選取的路徑。
每個主應用程式只能例示 FileDialog 物件的單個實例。因此,即使當建立多個 FileDialog 物件時,亦保留 FileDialog 物件的許多屬性。因此,請確認在顯示該對話方塊前,已設定適合您目的之所有屬性。
為了使用 FileDialog 物件顯示對話方塊,您必須使用 Show 方法。一旦顯示對話方塊,就會在使用者結束該對話方塊之後才執行程式碼。
100 字節以內
不支持自定義 Discuz! 代碼
TOP
Happkkevin
發短消息
加為好友
Happkkevin
(Kevin)
當前離線
UID
5337
帖子
56
主題
8
精華
0
積分
81
金錢
81
點名
0
作業系統
Window7
軟體版本
OFFICE2010
閱讀權限
20
性別
男
在線時間
66 小時
註冊時間
2011-6-25
最後登錄
2016-1-17
暱稱:
Kevin
中學生
帖子
56
主題
8
精華
0
積分
81
點名
0
作業系統
Window7
軟體版本
OFFICE2010
閱讀權限
20
性別
男
註冊時間
2011-6-25
最後登錄
2016-1-17
2
#
發表於 2012-10-9 23:48
|
顯示全部帖子
回報一下測試結果,供參考
Win7+OFFICE 2010
OpenPath4
使用後測試結果 d:\SaveExcel\20121009
但下次選取時為跳到目錄為 d:\SaveExcel
OpenPath5
使用後測試結果d:\SaveExcel\
一樣下次選取時為跳到目錄為 d:\SaveExcel
Sub OpenPath4()
Dim fd As FileDialog, FileName As String, FileFolder As String
Set fd = Application.FileDialog(msoFileDialogFolderPicker)
With fd
.AllowMultiSelect = False
If .Show = -1 Then
FileFolder = .SelectedItems(1) '#1
Else
End
End If
End With
[F2] = FileFolder '#2
End Sub
複製代碼
Sub OpenPath5()
Dim fd As FileDialog, FileName As String, FileFolder As String
Set fd = Application.FileDialog(msoFileDialogFolderPicker)
With fd
.AllowMultiSelect = False
If .Show = -1 Then
FileFolder = .InitialFileName
Else
End
End If
End With
[F2] = fd.InitialFileName
End Sub
複製代碼
100 字節以內
不支持自定義 Discuz! 代碼
TOP
Happkkevin
發短消息
加為好友
Happkkevin
(Kevin)
當前離線
UID
5337
帖子
56
主題
8
精華
0
積分
81
金錢
81
點名
0
作業系統
Window7
軟體版本
OFFICE2010
閱讀權限
20
性別
男
在線時間
66 小時
註冊時間
2011-6-25
最後登錄
2016-1-17
暱稱:
Kevin
中學生
帖子
56
主題
8
精華
0
積分
81
點名
0
作業系統
Window7
軟體版本
OFFICE2010
閱讀權限
20
性別
男
註冊時間
2011-6-25
最後登錄
2016-1-17
3
#
發表於 2012-10-11 19:36
|
顯示全部帖子
回復
19#
maiko
InitialFileName 會設定或傳回 String,此字串代表
最初顯示在檔案對話方塊中的路徑或檔名
。可讀寫的。
SelectedItems 會取得 FileDialogSelectedItems 集合。這個集合包含使用者在使用 FileDialog 物件的 Show 方法所顯示的檔案對話方塊中選取之檔案的路徑清單。唯讀的。
單純測試回報
如果依照我以2010版或你使用的2007版,如我上面回覆敘述,下次選取時為跳到目錄為選取時的上一層即 d:\SaveExcel,所以取得的 fd.InitialFileName還是d:\SaveExcel\
而使用SelectedItems 才會是選取的d:\SaveExcel\20121009,可以試試2003版是否選取後下次開啟是否不會跳回上一層,若是如此,應該是兩種版本 之FileDialog差異
這就需要高手們協助了
100 字節以內
不支持自定義 Discuz! 代碼
TOP
靜思自在 :
人生最大的成就是從失敗中站起來。
返回列表
下一主題
上一主題
EXCEL專屬討論區
Excelㄧ般區
Excel程式區
進階應用專區
OFFICE 系列
Word
PowerPoint
Access
Office不分區
程式語言
VB 與 VB.Net
C 與 C#
Java 與 J#
程式設計不分區
資料庫
ORACLE
My SQL
MS SQL
網頁設計
ASP 與 ASP.NET
PHP
PHP+MySQL 入門實作
JavaScript
FLASH / ActionScript
HTM/ HTML/ CSS
網頁設計不分區
電腦與作業系統
電腦各種硬體討論
一般電腦軟體討論
論壇事務
管理公告
投訴反映
新手測試
愛 • 生活
公益佈告欄
生活與感動
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]
申請友情鏈接
Facebook粉絲