使用 VSTO 创建外接程序,Gallery控件动态加载工作簿名称

代码如下:

加载工作簿名称:

        private void Gallery1_ItemsLoading(object sender, RibbonControlEventArgs e)
{
app = Globals.ThisAddIn.Application;
gallery1.Items.Clear();
int n = ;
foreach (excel.Workbook workbook in app.Workbooks)
{
//RibbonGallery gallery = this.Factory.CreateRibbonGallery();
RibbonDropDownItem downItem = this.Factory.CreateRibbonDropDownItem();
downItem.Tag = workbook.Name + n.ToString();
gallery1.Items.Add(downItem);
downItem.Label = workbook.Name;
downItem.Image = Properties.Resources.Excel_32px_1185985_easyicon_net;
n++;
}
}

选择子项目激活工作簿:

 private void Gallery1_Click(object sender, RibbonControlEventArgs e)
{ string tg = gallery1.SelectedItem.Label;
//MessageBox.Show(tg);
app = Globals.ThisAddIn.Application;
excel.Workbook workbook = app.Workbooks[tg];
workbook.Activate();
}

使用 VSTO 创建外接程序,dropDown控件动态加载工作表名称

代码如下:

加载工作表名称:

 private void DropDown1_ItemsLoading(object sender, RibbonControlEventArgs e)
{
try
{ app = Globals.ThisAddIn.Application;
int n = ;
dropDown1.Items.Clear();
foreach (excel.Worksheet worksheet in app.Worksheets)
{
RibbonDropDownItem downItem = this.Factory.CreateRibbonDropDownItem();
downItem.Tag = worksheet.Name + n.ToString();
dropDown1.Items.Add(downItem);
downItem.Label = worksheet.Name;
downItem.Image = Properties.Resources.office_excel_24px_1116424_easyicon_net;
n++;
}
if (app.ActiveWorkbook.Path != "")
{
RibbonDropDownItem downItem1 = this.Factory.CreateRibbonDropDownItem();
downItem1.Label = "打开工作簿所在文件夹";
dropDown1.Items.Add(downItem1);
downItem1.Image = Properties.Resources.folder_32px_1229424_easyicon_net;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}

选择子项目激活工作表:

 private void DropDown1_SelectionChanged(object sender, RibbonControlEventArgs e)
{
try
{
string tg = dropDown1.SelectedItem.Label;
//MessageBox.Show(tg);
app = Globals.ThisAddIn.Application;
if (tg == "打开工作簿所在文件夹")
{
string FilePath = app.ActiveWorkbook.Path;
string FileName = app.ActiveWorkbook.Name;
//System.Diagnostics.Process.Start(FilePath);
System.Diagnostics.Process.Start("Explorer.exe", "/select," + FilePath + "\\" + FileName);
}
else
{
excel.Worksheet worksheet = app.ActiveWorkbook.Worksheets[tg];
worksheet.Protect(DrawingObjects: MsoTriState.msoTrue, Contents: MsoTriState.msoTrue, Scenarios: MsoTriState.msoTrue, AllowFiltering: MsoTriState.msoTrue, AllowUsingPivotTables: MsoTriState.msoTrue);
worksheet.Protect(DrawingObjects: MsoTriState.msoTrue, Contents: MsoTriState.msoTrue, Scenarios: MsoTriState.msoTrue, AllowFiltering: MsoTriState.msoTrue, AllowUsingPivotTables: MsoTriState.msoTrue);
worksheet.Protect(DrawingObjects: MsoTriState.msoTrue, Contents: MsoTriState.msoTrue, Scenarios: MsoTriState.msoTrue, AllowFiltering: MsoTriState.msoTrue, AllowUsingPivotTables: MsoTriState.msoTrue);
worksheet.Protect(DrawingObjects: MsoTriState.msoTrue, Contents: MsoTriState.msoTrue, Scenarios: MsoTriState.msoTrue, AllowFiltering: MsoTriState.msoTrue, AllowUsingPivotTables: MsoTriState.msoTrue);
worksheet.Unprotect();
worksheet.Visible = excel.XlSheetVisibility.xlSheetVisible;
worksheet.Activate();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}

最新文章

  1. jQuery中取消后续执行的内容
  2. 深入理解javascript函数参数与闭包(一)
  3. PChar,PAnsiChar,String,AnsiString,Char数组,AnsiChar数组转换
  4. CSS选择器的一些记录
  5. [No000011]Ruby之attr_reader,attr_writer,attr_accessor理解&用法
  6. 2015ACM/ICPC亚洲区长春站 J hdu 5536 Chip Factory
  7. ES6生成器基础
  8. Windows XP搜索功能 "包含文字" 搜索不到内容的解决办法
  9. '[linux下tomcat 配置
  10. poj 3304(直线与线段相交)
  11. 《深度探索C++对象模型》笔记——Data语意学
  12. Java泛型的应用——T extends Comparable<? super T>
  13. python 3.6 +pyMysql 操作mysql数据库
  14. C 真正理解二级指针
  15. Angular ui-roter 和AngularJS 通过 ocLazyLoad 实现动态(懒)加载模块和依赖
  16. Debug程序的使用
  17. Java基于opencv实现图像数字识别(五)—腐蚀、膨胀处理
  18. APP-8.1-百度语音应用
  19. phpcms v9模板制作常用代码集合(转)
  20. 推荐6款极具个性化的在线生成logo的网站

热门文章

  1. JavaScript 作用域不完全指北
  2. atlas笔记
  3. 目标检测论文解读3——Fast R-CNN
  4. [TJOI2015]弦论(后缀自动机)
  5. ArcGIS 10 线转点 polyline to points
  6. Windbg Call Stack(调用堆栈)窗口的使用
  7. Shell编程——多命令顺序执行、管道、grep命令
  8. Layui 在新标签中打开页面 / 模拟点击菜单
  9. Flask的响应及request属性整理
  10. (转)Qt中文手册 之 QApplication