2017-04-10 24 views
0

我的WFP应用程序运行良好。我打开一个Access数据库,并想用Excel工作簿做同样的事情。打开数据库不是问题,因为我可以从路径中删除驱动器号。我在工作簿的搜索路径中遇到了一些问题。当指定盘符时,我的路径按预期运行[这里是可正常工作的代码行 - xlWorkBook_AR = xlApp_AR.Workbooks.Open(“S:\ 11_2017_Spring \ MPRecords-2 \ Accounting \ FinancialSystem.xlsm”)]) 。当我从路径中移除驱动器规格时,它无法按预期运行。我收到一个错误,指出找不到该文件。我需要做些什么才能做到这一点? 在此先感谢。 埃德指定在vb.net应用程序中打开Excel woorbook的路径的问题

+0

我相信你必须指定excel文件的位置。为什么不把文件放在服务器上? – codeMonger123

+0

@ codeMonger123 - 我宁愿在服务器上安装。这是一个学校项目,需要从学校硬件上的不同位置(即桌面或VMware)运行。不是一个设定的路径。可恶,但我从学校得到的几乎没有任何帮助(老实说,我认为这是班上的一部分 - 教他们如何解决问题)。我发现的Access数据库路径工作正常,没有驱动器盘符,但我无法弄清楚Excel路径结构使其“便携”,可以这么说。谢谢埃德 – user7662393

+0

Excel是如何填充,IE怎么给你的Excel? – codeMonger123

回答

0

试试这个(它是否适合您的方案):

  1. 将在同一文件夹作为您的应用程序文件(.exe)的Excel文件(我认为这适用于您的需求)。
  2. 使用此代码动态获取您的应用程序的路径,然后添加上的文件的名字,像下面:

    Application.StartupPath &“\ FinancialSystem.xlsm”

将此提供给excel的.Open方法,我相信它会起作用。

您将需要导入System.Windows.Forms。请阅读Application.StartupPath属性:https://msdn.microsoft.com/en-us/library/system.windows.forms.application.startuppath.aspx

+0

尝试了这个想法。由于msdn网站上的示例不起作用,因此我必须丢失一些东西。错误状态“'Application'不明确,从名称空间或类型'System.Windows.Forms,System.Net.Mime.MediaTypeNames'导入。” – user7662393

+0

在你的代码中 - 当你在Application对象上调用方法时 - 因为它是不明确的 - 你需要完全定义它的名字空间,所以不要用“Application.StartupPath&”\ FinancialSystem.xlsm来代替:“System .Windows.Forms.Application.StartupPath&“\ FinancialSystem.xlsm” –

+0

另外 - 我看到它的WPF应用程序。如果谷歌如何获得wpf中的应用程序路径 - 将有方法可以在不使用System.Windows.Forms命名空间的情况下执行此操作(这适用于WPF之前的Winforms - UI技术)。也许这会为你工作:System.AppDomain.CurrentDomain.BaseDirectory返回应用程序exe的路径。 –

相关问题