zoukankan      html  css  js  c++  java
  • c# 创建Excel com加载项Ribbon动态加载工作簿和工作表

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

    代码如下:

    加载工作簿名称:

            private void Gallery1_ItemsLoading(object sender, RibbonControlEventArgs e)
            {
                app = Globals.ThisAddIn.Application;
                gallery1.Items.Clear();
                int n = 1;
                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 = 1;
                    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());
                }
            }
  • 相关阅读:
    底图与蒙版的过渡效果transition
    消除blur属性的边框
    jquery ajax实例教程和一些高级用法
    常用js正则表达式大全
    HTML5 + JS 调取摄像头拍照下载
    JS运动框架
    JS 实现AJAX封装(只限于异步)
    事件委托详解
    JS 实现随机验证码功能
    利用JS调取电脑摄像头,实现拍照功能
  • 原文地址:https://www.cnblogs.com/ty1216jhy/p/11044450.html
Copyright © 2011-2022 走看看