运行宏时在Excel VBA中指定路径

时间:2018-11-21 20:55:36

标签: excel vba

我正在使用并使用此代码(部分用于)从某些文件到某些文件的某些转换/过滤,以及在工作表上的一些过滤,等等。。。一切对我都很好,但是来自工作人员也想在他们的PC *上使用此代码,而且开始时有问题,必须在代码(路径,位置)中进行编辑,以便其他人可以使用它-我不想让任何外部人员可以轻松访问代码(好吧,他们还不是熟练的人,但是仍然可以),因此可能使代码混乱并使其无法处理。

问题,是否有任何代码行像弹出消息那样简单地要求您定义要将某些文件从哪里带到哪里?避免进入代码并从那里更改?我希望我足够清楚...

Dim FileSystem As Object
Dim HostFolder As String

' *** Folder with systems to define (path) ***
 HostFolder = "Q:\Objekt\Kundenerklärung\OSRAM\Converter"

' *** If folder is empty/full message ***``
Dim fs, strFolderPath, oFolder
Set fs = CreateObject("Scripting.FileSystemObject")
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

strFolderPath = "Q:\Objekt\Kundenerklärung\OSRAM\Converter\" ' *** This is 
your folder to define ***
Set oFolder = fs.GetFolder(strFolderPath)
 If (oFolder.SubFolders.Count = 0) Then
 ' * Folder is Empty *
   MsgBox "Folder is empty!"
 Else
 ' * Folder isn't empty *
   MsgBox "Folder not empty. Subfolders count: " & oFolder.SubFolders.Count
 End If

 Set fs = Nothing

 Set FileSystem = CreateObject("Scripting.FileSystemObject")
 DoFolder FileSystem.GetFolder(HostFolder)

 Application.ScreenUpdating = True
 Application.Calculation = xlCalculationAutomatic

1 个答案:

答案 0 :(得分:1)

是的,您可以要求输入如下值:

strFolderPath = InputBox("What folder would you like to use?")

一个更人性化的解决方案是使用file dialog box,尽管它涉及更多。