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コンポーネントにアクセスできExcel.Applicationます。アドインの読み込みプロセス中にThisAddIn.Applicationプロパティとして初期化できます。

オブジェクトにアクセスExcel.Applicationできるようになると、それを使用して、アクティブなシートとセルの同様の呼び出しを参照できます。

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

RowおよびColumnプロパティをに変換Stringして、TextBoxテキストに結合することもできます。

これは役に立ちましたか?

于 2012-10-09T13:09:27.567 に答える