设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1848|回复: 1
打印 上一主题 下一主题

【作业】03课-飘逸的云

[复制链接]
跳转到指定楼层
1#
发表于 2014-3-20 12:12:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 飘逸的云 于 2014-3-20 12:19 编辑

功能和需求:
当选择按钮时,插入一个新的工作表或图表时,将插入到所有工作表的最后面
代码:
Ribbon1的代码

  1. <p>using System;
  2. using System.Collections.Generic;
  3. using
  4. System.Linq;
  5. using System.Text;
  6. using Microsoft.Office.Tools.Ribbon;</p>
  7. <p>namespace MyEvent
  8. {
  9.     public partial class
  10. Ribbon1
  11.     {
  12.         
  13. private void Ribbon1_Load(object sender, RibbonUIEventArgs
  14. e)
  15.         
  16. {
  17.             

  18.         }</p>
  19. <p>        private void
  20. chkNewSheet_Click(object sender, RibbonControlEventArgs
  21. e)
  22.         
  23. {
  24.             if
  25. (chkNewSheet.Checked)  
  26. //复选框选中时,开启事件
  27.             
  28. {
  29.                
  30. EventNewSheet.EventStart();
  31.             
  32. }
  33.             
  34. else  
  35. //否则停止该事件
  36.             
  37. {
  38.                
  39. EventNewSheet.EventStop();
  40.             
  41. }
  42.         }
  43.    
  44. }
  45. }  </p>
复制代码
EventNewSheet的代码

  1. <p>using System;
  2. using System.Collections.Generic;
  3. using
  4. System.Linq;
  5. using System.Text;
  6. using Excel =
  7. Microsoft.Office.Interop.Excel;</p>
  8. <p>namespace MyEvent
  9. {
  10.     class
  11. EventNewSheet
  12.     {</p>
  13. <p>        
  14. //添加新建工作表事件
  15.         public static void
  16. EventStart()
  17.         
  18. {
  19.             
  20. Excel.Application app =
  21. Globals.ThisAddIn.Application;
  22.             
  23. app.WorkbookNewSheet += new
  24. Excel.AppEvents_WorkbookNewSheetEventHandler(app_WorkbookNewSheet);
  25.         
  26. }</p>
  27. <p>        
  28. //移除事件
  29.         public static void
  30. EventStop()
  31.         
  32. {
  33.             
  34. Excel.Application app =
  35. Globals.ThisAddIn.Application;
  36.             
  37. app.WorkbookNewSheet -=
  38. app_WorkbookNewSheet;
  39.         }</p>
  40. <p>        
  41. //新建工作表事件
  42.         static void
  43. app_WorkbookNewSheet(Excel.Workbook Wb, object
  44. Sh)
  45.         {</p>
  46. <p>            
  47. Excel.Worksheet tempWorksheet = Sh as Excel.Worksheet;  
  48. //将对象转换为Worksheet
  49.             
  50. if (tempWorksheet !=
  51. null)
  52.             
  53. {
  54.                
  55. tempWorksheet.Move(After: Wb.Sheets[Wb.Sheets.Count]); //若为Worksheet
  56. 则移动该对象至末尾
  57.             
  58. }
  59.             
  60. else
  61.             
  62. {
  63.                
  64. Excel.Chart tempChart = Sh as Excel.Chart;  
  65. //否则将对象转换为Chart
  66.                
  67. if
  68. (tempChart!=null)                        
  69. //若为Worksheet
  70. 则移动该对象至末尾,否则不处理
  71.                
  72. {
  73.                     
  74. tempChart.Move(After:
  75. Wb.Sheets[Wb.Sheets.Count]);
  76.                
  77. }               

  78.             
  79. }
  80.         }
  81.    
  82. }
  83. }     
  84. </p>
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1V币 +1 收起 理由
faunus + 1 (V币)课程报名、录像学习、代码练习跟贴.

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2014-3-20 14:09:24 | 只看该作者
有点实用价值。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-29 13:03 , Processed in 0.113956 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表