Привет, у меня есть программа 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;
, который будет увеличивать и уменьшать его ... всякий раз, когда нажимается соответствующая кнопка и выбирается ячейка + диапазон.
Я на правильном пути? Если нет, можете ли вы предложить мне лучший способ? Также как возможно, что выбранный диапазон будет активным видимым диапазоном для пользователя?
большое спасибо!