c#excel放大和缩小按钮

时间:2009-07-20 15:12:35

标签: c# excel vba visual-studio-2008 vsto

嗨我有一个c#程序在excel-2007上创建一个功能区,在那个功能区上我有两个按钮,一个用于放大,另一个用于缩小。

我的问题是,当我按下上述按钮之一,然后在工作表上选择单元格或范围将放大或缩小时,怎么可能?

我的问题是我不知道如何为这两个按钮分配事件?

    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中的两条消息,我不想要...当然,处理完这个问题后,我想添加以下内容......

    ws.Application.ActiveWindow.Zoom = 23;

会增加和减少它...只要点击相应的按钮并选择了单元格+范围。

我是正确的吗?如果不是,你能建议我一个更好的方法吗?另外,所选范围如何成为用户的有效可见范围?

非常感谢!

1 个答案:

答案 0 :(得分:1)