Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将excel工作簿添加到VB.NET应用程序_Excel_Vb.net_Vba_Visual Studio_Excel 2010 - Fatal编程技术网

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

将excel工作簿添加到VB.NET应用程序,excel,vb.net,vba,visual-studio,excel-2010,Excel,Vb.net,Vba,Visual Studio,Excel 2010,我有一个用Vb.NET编写的项目,在这个项目中,我从用户那里获取输入,打开一个Excel模板,并在其中运行一个宏(vba),其中包含来自主窗体的输入。 我可以使用模板的路径毫无问题地完成所有这一切,但我需要在发布模板时将其作为项目的一部分。 这是我的路径版本代码(已删除多余代码): 我已经找到了,但它不起作用,可能是因为我的模板在一个文件夹中(与form1.vb等位于同一位置)。 我的模板必须与其他文件分开,以便于查找。 如果有人能为我提供一个解决方案/修改其他帖子中的代码,并以这种方式工作,我

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

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

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

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

我已经设法找到了一个解决方案,但是我遇到了另一个问题:我会得到一个错误,说路径无效,对象丢失。我确信这是路径问题,但它与资源属性有关(键入:content而不是none,并始终复制,因此它位于应用程序的文件夹中)

打开excel模板的代码:

Imports Excel = Microsoft.Office.Interop.Excel
private sub OpenExcel()
Dim objApp As Object
        Me.Hide()
        'This path is independent of where the program is installed as it refers to program itself
        Dim ResourcePath As String = My.Application.Info.DirectoryPath &
            System.IO.Path.DirectorySeparatorChar & "Templates\Rate_Reach_ATT finished.xlsm"
        objApp = CreateObject("Excel.Application")
        objApp.WorkBooks.Open(ResourcePath)
        objApp.visible = True
        objApp.Run("MacroName", Var1, Var2)
        Me.Close()
End Sub
至于资源本身: 项目>添加现有项>浏览>添加 然后在解决方案资源管理器中找到该项,打开其属性并更改: 类型:内容 复制到输出目录:始终复制


该问题已修复,因此我关闭此线程

我已设法找到解决方案,但随后我遇到另一个问题:我将收到一个错误,说明路径无效,对象丢失。我确信这是路径问题,但它与资源属性有关(键入:content而不是none,并始终复制,因此它位于应用程序的文件夹中)

打开excel模板的代码:

Imports Excel = Microsoft.Office.Interop.Excel
private sub OpenExcel()
Dim objApp As Object
        Me.Hide()
        'This path is independent of where the program is installed as it refers to program itself
        Dim ResourcePath As String = My.Application.Info.DirectoryPath &
            System.IO.Path.DirectorySeparatorChar & "Templates\Rate_Reach_ATT finished.xlsm"
        objApp = CreateObject("Excel.Application")
        objApp.WorkBooks.Open(ResourcePath)
        objApp.visible = True
        objApp.Run("MacroName", Var1, Var2)
        Me.Close()
End Sub
至于资源本身: 项目>添加现有项>浏览>添加 然后在解决方案资源管理器中找到该项,打开其属性并更改: 类型:内容 复制到输出目录:始终复制

问题已经解决,因此我关闭此线程