返回列表 上一主題 發帖

[發問] 2003與2007得到的路徑差異

回復 1# maiko
2# 說 InitialFileName只是你開啟Dialog時一開始的位置
預設如圖

  1. Option Explicit
  2. Sub Ex() ' 2003, 2007 分別執行看看有無差別
  3.     MsgBox Application.DefaultFilePath
  4. End Sub
複製代碼

TOP

回復 5# maiko
1#問說:  2003  d:\SaveExcel\20121009 可是在2007時拿到的路徑是:d:\SaveExcel\
我的回覆 是指出可能是 Application.DefaultFilePath   2003,2007 的「預設檔案位置」 路徑不同
你問 :      InitialFileName只是開啟Dialog時一開始的位置 就是「預設檔案位置
                所以在開啟Dialog時已經改變了檔案位置,所以按了確定以後所得到的路徑已經不是「預設檔案位置」的路徑。
是對的
  1. Sub Ex()
  2.     Application.DefaultFilePath = "D:\TEST"
  3.     '可修改「預設檔案位置」
  4. End Sub
複製代碼

TOP

回復 8# maiko
而我用stillfish00大提供的取得的檔案路徑卻是:d:\SaveExcel\20101009,後面少了「\」           
不一樣的  1# 是 Sheet1.Range("F2") = fd.InitialFileName
stillfish00 2# 是 Sheet1.Range("F2") = FileFolder

TOP

回復 15# maiko
很抱歉沒說清楚 請再看  2# 的程式碼 有 FileFolder = .SelectedItems(1)   
stillfish00 2# 是 Sheet1.Range("F2") = FileFolder 是最後沒有 "\"

TOP

回復 17# maiko
  1. Option Explicit
  2. Sub OpenPath()
  3. Dim fd As FileDialog, FileName As String, FileFolder As String
  4. Set fd = Application.FileDialog(msoFileDialogFolderPicker)
  5. With fd
  6.      .InitialFileName = "E:\"  '指定對話視窗的目錄
  7.      .AllowMultiSelect = False
  8.     If .Show = -1 Then
  9.         FileFolder = .SelectedItems(1)   '選擇的資料夾
  10.         [F2] = .SelectedItems(1)      '最後沒"\"
  11.         [F3] = fd.InitialFileName    '有"\"
  12.     Else
  13.         End
  14.     End If
  15. End With
  16. End Sub
複製代碼

TOP

回復 19# maiko
可是InitialFileName如果用在2007上卻是得到的路徑會少了一層
我只有2003版 所以這差異我無從參與的.

TOP

        靜思自在 : 有時當思無時苦,好天要積雨來糧。
返回列表 上一主題