如果我理解正确,您希望获取文件的路径,但不想在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