我正在尝试访问代表我的应用程序所在的当前目录的路径的字符串。我有一个在 Visual Studio 中制作的 excel 模板,需要用当前目录中的文件名填充(文件有已放置)及其子目录。我在任何地方都找不到真正有效的解决方案,我发现了一些解决方案的尝试:为我的 .exe和其他各种路径获取路径,这些都不起作用。我目前让用户输入所需的路径,但我想自动找到路径或找到另一种方法来收集这些名称。
问问题
51 次
2 回答
1
这取决于您如何分发解决方案。Office 加载项和模板在通过标准 ClickOnce 模式分发时,最终位于 AppData 文件夹中某处的一个隐秘命名的文件夹中(在另一个隐秘命名的文件夹中)。您将无法使用常规方式获取当前现有应用程序的路径,因为它们很可能会返回 EXCEL.EXE 本身的路径。这篇 SO 帖子提供了一种在 VSTO 解决方案中获取当前文件夹的好方法。
或者,您可以考虑使用 MSI 来分发您的模板/加载项。这是一条较长的路径并且有很多注意事项,但您最终会在 Program Files 文件夹中安装您的加载项/模板。
于 2015-06-09T16:56:26.883 回答
0
我对c#不太熟悉,但这是我在vb中所做的:
Dim dir as string = Application.StartupPath
你可以在 excel VBA 中做同样的事情:
Dim dir as string = Application.ActiveWorkbook.Path
于 2015-06-09T16:57:06.427 回答