放置Office解决方案的目录

时间:2015-06-09 16:48:50

标签: c# visual-studio excel-template

我正在尝试访问表示我的应用程序所在的当前目录的路径的字符串。我有一个在visual studio中制作的excel模板,需要填充当前目录中的文件名(已放置文件)及其子目录。我找不到任何实际可行的解决方案,我已经找到了一些解决方案的尝试:get path for my .exe和其他各种不起作用的解决方案。我目前让用户输入所需的路径,但我想自动找到路径或找到另一种方法来收集这些名称。

2 个答案:

答案 0 :(得分:1)

这取决于您分发解决方案的方式。当通过标准ClickOnce模式分发时,Office加载项和模板最终位于密码命名的文件夹(位于另一个隐藏命名的文件夹中),该文件夹位于AppData文件夹中的某个位置。您将无法使用获取当前现有应用程序路径的常规方法,因为它们很可能会返回EXCEL.EXE本身的路径。 This SO post提供了一种在VSTO解决方案中获取当前文件夹的好方法。

或者,您可以考虑使用MSI分发模板/加载项。这是一个较长的路径,并有许多警告,但您最终将在Program Files文件夹中安装您的加载项/模板。

答案 1 :(得分:0)

我对c#并不熟悉,但这就是我在vb中做的事情:



    Dim dir as string = Application.StartupPath

你可以在excel VBA中做同样的事情:



    Dim dir as string = Application.ActiveWorkbook.Path