0

在“ThisAddIn.cs”文件中创建事件处理程序时,是否可以从自定义任务窗格访问控件?

我想允许用户手动输入单元格引用,或者只需单击一个单元格并让该引用值显示在我的用户控件的文本框中。我不确定如何在事件处理程序中实际访问我的控件。

我原以为它会很简单

myUserControl.txtMyTextBox.Text = active cell

我一直在谷歌搜索,但觉得我可能没有使用正确的术语。

任何帮助将不胜感激!

编辑:这是一些实际的代码。我的措辞从来都不是最好的。

namespace MyExcelAddin
{
    public partial class ThisAddIn
    {
        private userCtrl myUserCtrl = new userCtrl();
        public Microsoft.Office.Tools.CustomTaskPane tskPaneUsers;

        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
               tskPaneUsers = this.CustomTaskPanes.Add(userCtrl, "My Control");
        }

        private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
        {

        }

        void ThisAddIn_SheetSelectionChange(object sender, Excel.Range Target)
        {
            //This is where I want to access my textbox inside my usercontrol. 
            // Is it out of scope?  
        }

 private void InternalStartup()
        {
            this.Startup += new System.EventHandler(ThisAddIn_Startup);
            this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
            Application.SheetSelectionChange += new Excel.AppEvents_SheetSelectionChangeEventHandler(ThisAddIn_SheetSelectionChange);
        }
4

1 回答 1

1

Excel.Application您可以通过对象访问当前的 excel 组件。您可以在加载项加载过程中将其初始化为ThisAddIn.Application属性。

一旦您有权访问该Excel.Application对象,您就可以使用它来引用活动工作表和单元格类似的调用

ThisAddIn.Application.ActiveCell.Row
ThisAddIn.Application.ActiveCell.Column

您还可以将RowColumn属性转换为String并将它们组合到您的 TextBox 文本中。

这个有帮助吗?

于 2012-10-09T13:09:27.567 回答