Vb.net 在文档级自定义中从Windows窗体引用excel工作表

Vb.net 在文档级自定义中从Windows窗体引用excel工作表,vb.net,visual-studio,excel,vsto,add-in,Vb.net,Visual Studio,Excel,Vsto,Add In,我想我应该试着学习VB.net,从一些VSTO(VS2012)开始。我正在尝试使用单独的Windows窗体(.show on load)进行Excel文档自定义。我可以在加载文档时打开表单。我找到了很多关于如何在MSDN上的文档中放置Windows窗体控件的示例(并找到了如何做到这一点),但从Windows窗体中引用Excel文档的部分时遇到了问题 例如,在名为Main Control的windows窗体上,我尝试将此子控件添加到按钮: Private Sub Button1_Click(sen

我想我应该试着学习VB.net,从一些VSTO(VS2012)开始。我正在尝试使用单独的Windows窗体(.show on load)进行Excel文档自定义。我可以在加载文档时打开表单。我找到了很多关于如何在MSDN上的文档中放置Windows窗体控件的示例(并找到了如何做到这一点),但从Windows窗体中引用Excel文档的部分时遇到了问题

例如,在名为Main Control的windows窗体上,我尝试将此子控件添加到按钮:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Try
        Dim baba As Sheet1
        baba.Cells(1, 2).Value = "Llaslmasd"
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
 End Sub
我还尝试:

        Dim baba As New Sheet1

如果工作表不是共享成员,或者如果我应该将其共享,那么如何正确引用该工作表

如果我以编程方式尝试插入其他工作簿中的工作表(非合并工作簿,因此更改工作表索引),事情是否会破裂


很抱歉,如果我的英语有误或我的问题格式不好,我仍在复习示例。

我认为最好的方法是从excel应用程序获取工作表

Dim WB as Workbook
WB = Application.Workbooks(IndexOrName) 'By "Application" I mean the Excel Application object.

Dim WS as Worksheet
WS = WB.Worksheets(IndexOrName)
要添加图纸,请执行以下操作:

WB.Worksheets.Add(...)

我认为最好的方法是从excel应用程序中获取工作表

Dim WB as Workbook
WB = Application.Workbooks(IndexOrName) 'By "Application" I mean the Excel Application object.

Dim WS as Worksheet
WS = WB.Worksheets(IndexOrName)
要添加图纸,请执行以下操作:

WB.Worksheets.Add(...)

这比调用索引容易得多。在文档级外接程序中,工作表将位于Globals下,因此您只需完全限定您要执行的操作

Globals.Sheet1.Cells(1,2).Value=“Llaslmasd”


应该有用。

这比调用索引容易得多。在文档级外接程序中,工作表将位于Globals下,因此您只需完全限定您要执行的操作

Globals.Sheet1.Cells(1,2).Value=“Llaslmasd”


应该有效。

这违背了文档级自定义的目的,对吗?如果我要从封送处理中获取索引,那么我必须跟踪工作簿的打开或关闭情况,或者它们在保存模板文件时对模板文件的重命名情况。在这一点上,我可能会做一个应用程序加载项,对吗?我想维护文档的1对1,这就是为什么文档级定制是正确的?这违背了文档级定制的目的?如果我要从封送处理中获取索引,那么我必须跟踪工作簿的打开或关闭情况,或者它们在保存模板文件时对模板文件的重命名情况。在这一点上,我可能会做一个应用程序加载项,对吗?我想维护文档的1对1,这就是为什么文档级定制是正确的?