在"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);
}
您可以通过Excel.Application
对象访问当前的 excel 组件。您可以在外接程序加载过程中将其初始化为ThisAddIn.Application
属性。
访问 Excel.Application
对象后,可以使用它来引用活动工作表和单元格类似的调用
ThisAddIn.Application.ActiveCell.Row
ThisAddIn.Application.ActiveCell.Column
还可以将Row
和Column
属性转换为String
并将它们合并到 TextBox 文本中。
这有帮助吗?