2009-07-20 12 views
1

こんにちは私はExcel 2007でリボンを作成するC#プログラムを持っています。リボンにはズームイン用とズームアウト用の2つのボタンがあります。c#excel zoom inとoutボタン

私の質問は、上記のボタンの1つを押してから、セルまたは範囲を拡大または縮小するシート上のセルまたは範囲を選択するとどうなりますか?

私の問題は、私はこれらの2つのボタンのイベントを割り当てる方法を知らないのですか?

private void ws_selCh1(Excel.Range Target) 
    { 
     MessageBox.Show(
      "Zoom Out:" + 
      Target.get_Address(mis, mis, 
      Excel.XlReferenceStyle.xlA1, mis, mis) 
      ); 
    } 
    private void ws_selCh2(Excel.Range Target) 
    { 
     MessageBox.Show(
      "Zoom In:" + 
      Target.get_Address(mis, mis, 
      Excel.XlReferenceStyle.xlA1, mis, mis) 
      ); 
    } 
    private void button1_Click(object sender, RibbonControlEventArgs e) 
    { 
     ws = Globals.ThisAddIn.GetActiveWorksheet(); 

     ws.SelectionChange += 
      new Excel.DocEvents_SelectionChangeEventHandler(
       ws_selCh1 
       ); 

    } 
    private void button2_Click(object sender, RibbonControlEventArgs e) 
    { 

     ws = Globals.ThisAddIn.GetActiveWorksheet(); 

     ws.SelectionChange += 
      new Excel.DocEvents_SelectionChangeEventHandler(
       ws_selCh2 
       ); 

    } 

は、現在私が選択されている範囲やセルを感知しようとしていた(それは私の問題を作成します):私はそれは私が望んでいないws_selCh1とws_selCh2でメッセージの両方を表示する第2ボタンをクリックすると...そして、当然のことながら、この問題を処理した後、私は次のように追加したい...

適切なボタンをクリックすると、セル+範囲が選択されるたびに...それが増加し、減少するであろう
ws.Application.ActiveWindow.Zoom = 23; 

私は正しいですか?いいえ、もっと良い方法を提案できますか?また、選択された範囲がユーザーのアクティブな可視範囲になる可能性はありますか?

多くの感謝!

答えて