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