将excel工作簿添加到VB .NET应用程序

时间:2017-09-01 07:49:12

标签: excel vb.net vba visual-studio excel-2010

我有一个用Vb .NET编写的项目,我从用户那里获取输入,打开一个Excel模板并在其中运行一个宏(vba),输入来自主窗体。 我可以使用模板的路径毫无问题地完成所有这些操作,但是当我发布它时,我需要它成为项目的一部分。 这是我的路径版本代码(删除了多余的代码):

Imports Excel = Microsoft.Office.Interop.Excel
private sub OpenExcel()
Dim objApp As Object
        Me.Hide()
        objApp = CreateObject("Excel.Application")
        objApp.WorkBooks.Open("ExampleWorkBook.xlsm")
        objApp.visible = True
        objApp.Run("MacroName", Var1, Var2)
        Me.Close()
End Sub

我找到this post但它不起作用,可能是因为我的模板位于文件夹中(与form1.vb等位于同一位置)。 我的模板必须与其他文件分开,以便于查找。 如果有人能以这样的方式向我提供其他帖子的解决方案/修改代码,我会非常感激

我正在使用Visual Studio 2017和Excel 2010 链接帖子的代码:

Dim filename as String = My.Application.Info.DirectoryPath & System.IO.Path.DirectorySeparatorChar & "WorkbookName.xlsx"
Process.Start(filename)

1 个答案:

答案 0 :(得分:0)

我设法找到了一个解决方案,但后来遇到了另一个问题:我会收到一条错误,说路径无效,对象丢失。我确信这是路径的一个问题,但它与资源属性有关(类型:内容而不是无,并且总是复制,因此它位于应用程序的文件夹中)。

打开Excel模板的代码:

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
 intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
 startActivity(intent);
 finish();
 System.exit(0);

资源本身: 项目>添加现有项目>浏览>添加 然后在解决方案资源管理器中找到该项目,打开它的属性并更改: 类型:内容 复制到输出目录:始终复制

问题已修复,所以我关闭了这个帖子