在文档级自定义中引用Windows窗体中的Excel工作表

时间:2013-04-01 05:11:06

标签: vb.net visual-studio excel vsto add-in

我以为我会尝试学习VB.net并从一些VSTO(VS2012)开始。我正在尝试使用单独的Windows窗体进行Excel文档自定义(.show on load)。我可以在加载文档时打开表单。我找到了很多关于如何将Windows窗体控件放在MSDN文档中的示例(并想出了如何做到这一点),但是我在从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

        Dim baba As WorkSheet
        baba = Sheet1

如果表格不是共享成员,或者如果我应该共享该表格,那么引用该表格的正确方法是什么?我该怎么做?

如果我以编程方式尝试从其他(非合并的工作簿中插入工作表并因此更改工作表索引?)来解决问题吗?

很抱歉,如果我的英文错误或我的问题格式不好,我还是会举例说明。

2 个答案:

答案 0 :(得分:1)

比调用索引要容易得多。在文档级加载项中,工作表将在Globals下,因此您只需要完全符合您要执行的操作。

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

应该工作。

答案 1 :(得分:0)

我认为最好的方法是从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(...)