嗨我有一个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;
会增加和减少它...只要点击相应的按钮并选择了单元格+范围。
我是正确的吗?如果不是,你能建议我一个更好的方法吗?另外,所选范围如何成为用户的有效可见范围? 非常感谢!答案 0 :(得分:1)