如果我理解正確,您希望獲取文件的路徑,但不想在InputFolder字符串中輸入文件名。如果我理解正確的話,那麼這將這樣的伎倆:
Option Explicit
Sub GetFolderPath()
Dim InputFolder As String
Dim OutputFolder As String
InputFolder = Application.GetOpenFilename("Folder, *")
Range("C1").Value = getFilePath(InputFolder)
End Sub
Function getFilePath(path As String)
Dim filePath() As String
Dim finalString As String
Dim x As Integer
filePath = Split(path, "\")
For x = 0 To UBound(filePath) - 1
finalString = finalString & filePath(x) & "\"
Next
getFilePath = finalString
End Function
而且,你不必爲了寫文件名以電子表格的另一個宏得到它。您可以從第一個宏中調用另一個宏,並將文件名作爲參數傳遞,或者將文件名變量設置爲模塊級變量,以便其他宏可以訪問它(假設第二個宏位於同一個模塊中)。
Does [this](http://stackoverflow.com/a/5975453/1048539)適用於您正在做的事情嗎? – enderland
我在這裏發佈之前實際上已經嘗試過了。當我嘗試時它沒有工作,但我可能做錯了。 我上面發表的作品,除了它在結束時返回一個文件名而不是在文件夾級別結束。 – NPoorbaugh