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

Posted

技术标签:

【中文标题】运行宏时在 Excel VBA 中指定路径【英文标题】:Specify Path in Excel VBA when running Macro 【发布时间】:2018-11-21 20:55:36 【问题描述】:

我拥有并使用此代码(部分)进行从某些文件到某些文件的一些转换/过滤,以及对工作表的一些过滤等等......一切对我来说都很好,但是来自工作也想在他们的 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

【问题讨论】:

VBA - Folder Picker - set where to start的可能重复 【参考方案1】:

是的,您可以要求这样的输入值:

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

一个对用户更友好的解决方案是使用file dialog box,尽管它涉及更多。

【讨论】:

嗯,它没有很好地工作......我的意思是它要求路径但随后在我的行中已经出错了,*** 带有系统定义的文件夹(路径)*** HostFolder = "Q :\Objekt\Kundenerklärung\OSRAM\Converter" 是否有可能完全更改“输入法”上的这些位置?所以要问应该从哪个路径/文件夹获取文件进行转换以及之后保存在哪里? ...不幸的是,我不擅长 Macros/Vba 的东西.... 你输入这个值,它会产生错误?:Q:\Objekt\Kundenerklärung\OSRAM\Converter\ 我不知道为什么你有变量 HostFolder 和 strFolderPath。它们不总是相同的值吗? 我确实在以前点燃过——我什至不记得了,总是在同一个目录中,不做任何改变,但现在我必须改变它,让它变得更简单。但是我试图删除那行,给我错误,他们必须是两者,否则无法打开任何东西。 这段代码是做什么用的?只是告诉你一个文件夹是否有子文件夹?如果有,告诉你有多少?

以上是关于运行宏时在 Excel VBA 中指定路径的主要内容,如果未能解决你的问题,请参考以下文章

如何在 PHP 的 require_once 中指定文件系统绝对路径?

“LIB 环境变量”中指定的搜索路径 *** 无效 --“系统找不到指定的路径。”

Linux怎么查看文本中指定行的内容

Java 获取Word中指定图片的坐标位置

在使用 VBA 的 MS Access 链接的 Excel 电子表格中指定“开放式”范围

在 .NET 中指定 DllImport 的搜索路径