【问题标题】:C# VSTO Access Sheet Control from Form来自表单的 C# VSTO 访问表控件
【发布时间】:2015-01-21 22:29:43
【问题描述】:

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

public partial class frmInput: Form
{

    public frmInput()
    {
        InitializeComponent();
    }

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

【问题讨论】:

    标签: c# controls vsto


    【解决方案1】:

    您需要阅读更多关于 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;
    

    并在活动单元格或工作表中插入文本。

    【讨论】:

    • 我有兴趣将文本框中的文本插入到单元格中。文本框是浮动在工作表顶部的 vsto 控件。你所展示的只是创建一个单元格/工作表的新实例。
    • 显然我应该仔细阅读这个问题。没关系。
    【解决方案2】:

    好的,我找到了我的问题的答案,我需要添加 Globals:

    公共部分类 frmInput: Form {

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

    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-14
      • 1970-01-01
      • 2011-10-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多