我是新来的
我有一个带WPF的c#程序
- >所有工作正常,直接exe启动时没有错误。
但是当.exe由excel宏(shell函数)在同一目录中的excel文件中启动时:excel宏没问题,程序启动OK,生成pdf OK,... pdf打开&自动查看确定(所以让我觉得pdf已经保存了一些)...当所有内容都关闭时...目录中不是pdf!
这可能是一个明显的一般错误,但我无法弄清楚。 详细的帮助,因为我是新手 和Fabrice
答案 0 :(得分:0)
如果Excel使用的是其他工作目录,则该文件将放在那里而不是您期望的位置。如果是这种情况,您可以使用以下方法......
public string GetFullSaveName(string pdfName)
{
string myDirectoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
if (myDirectoryName != null)
{
string fullSaveName = Path.Combine(myDirectoryName, pdfName);
return fullSaveName;
}
throw new ApplicationException("Unable to locate assembly path");
}
此方法使用Reflection来查找运行应用程序的目录。它使用它来构建完全限定的路径,以便将pdf文件写入可预测的位置。返回的路径是应用程序的工作目录,而不是Excel的工作目录。