標題:
請問如何自檔案路徑的字串中,拆出路徑和檔名?
[打印本頁]
作者:
examsuper
時間:
2010-9-2 15:10
標題:
請問如何自檔案路徑的字串中,拆出路徑和檔名?
請問各位先進~
Windows("filename.xls").Activate是不是不能引用路徑?例如Windows("F:\我的文件\9908\filename.xls").Activate
如果這樣的話,我想把路徑和檔名分別拆出(路徑和檔名都不是固定長度),再 ChDir好了~
strDir = "F:\我的文件\9908\"
strFile = "filename.xls"
請問怎麼處理阿??
謝謝
作者:
jackdream
時間:
2010-9-2 15:52
回復
1#
examsuper
Windows("F:\我的文件\9908\filename.xls").Activate 這語法似乎沒必要..?
因為同一時間,不會開兩個同樣檔名的 excel 檔案..
作者:
examsuper
時間:
2010-9-2 16:09
您誤會我意思了~是另一個檔
只是我把"完整路徑\檔名"當作參數,Windows().Activate就不WORK了~
作者:
jackdream
時間:
2010-9-2 17:31
從字串取檔名的方式,可參考.
http://gb.twbts.com/index.php?topic=4068.0
如果用迴圈處理..
a = "F:\我的文件\9908\filename.xls"
For i = Len(a) To 1 Step -1
If Mid(a, i, 1) = "\" Then
file_name = Right(a, Len(a) - i)
file_path = Left(a, i - 1)
Exit For
End If
Next i
作者:
GBKEE
時間:
2010-9-2 18:45
回復
1#
examsuper
Windows
("F:\我的文件\9908\filename.xls").Activate 改成如下
Workbooks.Open
("F:\我的文件\9908\filename.xls").Activate
Sub Ex()
Dim file$, Ar
file = "F:\我的文件\9908\filename.xls"
Ar = Split(file, "\")
strDir = Replace(file, Ar(UBound(Ar)), "")
strFile = Ar(UBound(Ar))
ChDir strDir
Workbooks.Open (strFile)
End Sub
複製代碼
作者:
Hsieh
時間:
2010-9-2 20:02
Sub nn()
Dim fds As Object
Set fds = CreateObject("Scripting.FileSystemObject")
Set fs = fds.getfile("F:\我的文件\9908\filename.xls")
msgbox "路徑 =" & fds.GetParentFolderName(fs)
msgbox "檔名 =" & fs.Name
End Sub
複製代碼
作者:
luhpro
時間:
2010-9-3 00:35
本帖最後由 luhpro 於 2010-9-3 00:37 編輯
只要找到最後一個 "\" 的位置,
再依此將完整的檔名字串分別拆開取用即可.
Dim sStr$, i%, strDir$, strFile$
sStr = "F:\我的文件\9908\filename.xls"
i = InStrRev(sStr, "\", Len(sStr), 1)
strDir = Left(sStr, i)
strFile = Mid(sStr, i + 1, Len(sStr) - i)
作者:
examsuper
時間:
2010-9-3 16:29
太感謝各位先進的熱心了,
小弟真是受教了~謝謝每一位~
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)