精选文库
sender, System.EventArgs e) { // 因为欢迎使用窗口要在打开Excel的时候弹出,所以把下面代码放在Startup方法内 MessageBox.Show(\欢迎使用Microsoft Excel\void ThisAddIn_Shutdown(object sender, System.EventArgs e) { // 在退出Excel的时候弹出谢谢使用窗口,所以把下面的代码放在Shutdown方法内 MessageBox.Show(\谢谢使用!\#region VSTO generated code ///
这样,我们就完成了上面简单的一个模拟需求了,下面让我们按F5来测试下效果吧! 按F5运行该程序时,首先打开一个Excel之后,一个欢迎界面就会弹出:
点击Excel窗口上的\按钮时,就会弹出一个 “谢谢使用!”的窗口,效果如下:
-
精选文库
点击 Ok 按钮之后才会正常退出Excel。这样就完成了一个简单的Excel外接程序了,上面提到过外接程序是应用程序级别的,所以当你每次打开Excel的时候都会有这样的一个欢迎界面和关闭Excel时都有一个\谢谢使用\窗口,有些朋友想问了,如果我想卸载这个插件怎么办呢?方法很简单,只需要右键你的解决方案——>清理,这样可以了,另外你也可以从开发工具选项卡——>COM 插件,在弹出的窗口中选择你自定义的插件 再按下移除按钮。具体步骤见下图:
五、创建Excel文档级自定义项
介绍完了创建Excel外接程序之后,下面看看如何创建一个文档级的项目: 1. 新建一个Excel 2010 Workbook(即Excel工作簿)项目:
-
精选文库
2. 单击 OK按钮,在下面的窗口中单击 ”OK“按钮:
3. 在第一创建Excel工作簿项目是会弹出下面的一个窗口(窗口意思为:是否允许创建的项目访问VBA项目系统),此时我们只需要点击“Ok”就完成了Excel工作簿项目的创建。
-
精选文库
现在我们来模拟一个需求,比如现在有一个成绩单工作表,我们希望获得各科目不及格同学的名字。此时我们只需要在上面创建的工作簿项目中添加一个ComboBox,一个Button,一个textbox。在button的Click事件中添加下面的代码:
// 找出各科目不及格同学的名字 private void
btnSearch_Click(object sender, EventArgs e) { // 清除textbox中的内容 txtResult.Clear(); // 从复选框中获得选择的科目索引 int subjectIndex =
cbxsubjects.SelectedIndex; if (subjectIndex == -1) { MessageBox.Show(\请先选择一个科目\return; } // 获得选择的科目名称 string subjectName = cbxsubjects.SelectedItem.ToString(); // 获得工作表对象 Excel.Worksheet worksheet
=(Excel.Worksheet)Globals.ThisWorkbook.ActiveSheet; for (int row = 2; row < worksheet.UsedRange.Rows.Count+1; row++) { Excel.Range rng
=(Excel.Range)worksheet.Cells[row,subjectIndex + 2]; Excel.Range rng1 = (Excel.Range)worksheet.Cells[row, 1]; if (rng.Value< 60) { txtResult.Text += rng1.Value + \(txtResult.Text.Length == 0)
{ txtResult.Text = subjectName + \没有不及格的同学\
-
精选文库
运行该项目结果为:
六、小结
到这里本专题的介绍就结束了, 本专题首先主要介绍了Excel的对象模型和如何创建Excel的两种项目类型,希望通过本专题大家可以开发出一些简单的Excel的解决方案,后面一个专题将为大家介绍如何为Excel自定义一个选项卡和上下文菜单。
专题源码:http://files.cnblogs.com/zhili/ExcelWorkbook2.zip
-