Office中国论坛/Access中国论坛
标题:
【作业】03课-飘逸的云
[打印本页]
作者:
飘逸的云
时间:
2014-3-20 12:12
标题:
【作业】03课-飘逸的云
本帖最后由 飘逸的云 于 2014-3-20 12:19 编辑
功能和需求:
当选择按钮时,插入一个新的工作表或图表时,将插入到所有工作表的最后面
代码:
Ribbon1的代码
<p>using System;
using System.Collections.Generic;
using
System.Linq;
using System.Text;
using Microsoft.Office.Tools.Ribbon;</p>
<p>namespace MyEvent
{
public partial class
Ribbon1
{
private void Ribbon1_Load(object sender, RibbonUIEventArgs
e)
{
}</p>
<p> private void
chkNewSheet_Click(object sender, RibbonControlEventArgs
e)
{
if
(chkNewSheet.Checked)
//复选框选中时,开启事件
{
EventNewSheet.EventStart();
}
else
//否则停止该事件
{
EventNewSheet.EventStop();
}
}
}
} </p>
复制代码
EventNewSheet的代码
<p>using System;
using System.Collections.Generic;
using
System.Linq;
using System.Text;
using Excel =
Microsoft.Office.Interop.Excel;</p>
<p>namespace MyEvent
{
class
EventNewSheet
{</p>
<p>
//添加新建工作表事件
public static void
EventStart()
{
Excel.Application app =
Globals.ThisAddIn.Application;
app.WorkbookNewSheet += new
Excel.AppEvents_WorkbookNewSheetEventHandler(app_WorkbookNewSheet);
}</p>
<p>
//移除事件
public static void
EventStop()
{
Excel.Application app =
Globals.ThisAddIn.Application;
app.WorkbookNewSheet -=
app_WorkbookNewSheet;
}</p>
<p>
//新建工作表事件
static void
app_WorkbookNewSheet(Excel.Workbook Wb, object
Sh)
{</p>
<p>
Excel.Worksheet tempWorksheet = Sh as Excel.Worksheet;
//将对象转换为Worksheet
if (tempWorksheet !=
null)
{
tempWorksheet.Move(After: Wb.Sheets[Wb.Sheets.Count]); //若为Worksheet
则移动该对象至末尾
}
else
{
Excel.Chart tempChart = Sh as Excel.Chart;
//否则将对象转换为Chart
if
(tempChart!=null)
//若为Worksheet
则移动该对象至末尾,否则不处理
{
tempChart.Move(After:
Wb.Sheets[Wb.Sheets.Count]);
}
}
}
}
}
</p>
复制代码
作者:
faunus
时间:
2014-3-20 14:09
有点实用价值。
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3