C# VSTO 从窗体访问 Sheet 控件

C# VSTO Access Sheet Control from Form

我创建了一个带有文本框控件的 VSTO 工作簿,比如 textbox1。我还创建了一个带有按钮 button1 的表单。如果按下按钮,如何将信息从表单传递到 sheet?

public partial class frmInput: Form
{

    public frmInput()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        sheet1.textbox1.text="Test"; //Gives me error
    }
}

您需要阅读更多关于 Interop\VSTO 的内容以及更多关于 WinForms\C# 的内容。这将节省您的时间。我想你想要 -

string text = YourTextBox.Text;

然后,获取 activesheet\cell 的实例,如

using Workbook = Microsoft.Office.Interop.Excel.Workbook;
using Excel = Microsoft.Office.Interop.Excel;

Worksheet ws = Globals.ThisAddIn.Application.ActiveSheet;
Excel.Range activeCell = Globals.ThisAddIn.Application.ActiveCell;

并在活动单元格或 sheet 中插入文本。

好的,我找到了问题的答案,我需要添加全局变量:

public 部分 class frmInput: 表单 {

public frmInput()
{
    InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
    Globals.sheet1.textbox1.text="Test"; //I was missing Globals
}

}