VSTO:C#获取文档控件的值

本文介绍了使用Visual Studio Tools for Office (VSTO)进行Excel自动化编程的基础知识,包括如何创建解决方案、操作工作簿和工作表,以及通过读取单元格中的参数来增强程序灵活性的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基础知识准备:
 
 string[] inputfileNames = { @"C:\1.xls", @"C:\2.xls" };
inputfileName=inputfileNames [1];
Excel.Workbook myWorkbook = app.Workbooks.Open(inputfileName, Type.Missing, true, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing);//创建myWorkbook
 
Excel.Sheets mySheets = myWorkbook.Worksheets;
Excel.Worksheet myWorksheet = mySheets.get_Item(1) as Excel.Worksheet;
Excel.CheckBoxes chxsBoxes = (Excel.CheckBoxes) myWorksheet.CheckBoxes(Type.Missing);//获取CheckBox控件
Dictionary<int, Excel.CheckBox> dict = new Dictionary<int, Excel.CheckBox>();

 附录:

1、checkbox 默认值:Value为-4146,选中时为1

office中对应的控件添加操作为:

 

2、如果导航中找不到开发工具选项office2013中可做如下操作:

文件→选项

 

 Update ---------------------------2017年4月17日 09:58:42----------------------

之前把所有的参数都写死,这样程序不够灵活,所以想着能不能把参数作为配置文件的形式传进来,但是效果都不理想,今天想到既然可以读取单元格的值,那我为什么不把参数写在单元格中呢?(这真是一个好主意)

 private void button1_Click(object sender, EventArgs e)
        {
            Excel.Application app = new Excel.Application();

            //打开一个excel文件,open方法的参数大家可以去msdn上查询
            Excel.Range r1 = this.Range["B2", missing];
            Excel.Range r2 = this.Range["B3", missing];
            string filepath = r1.Text;//文件夹路径
            string tablename = r2.Text;//更新的表名

            DirectoryInfo folder = new DirectoryInfo(filepath);

            foreach (FileInfo file in folder.GetFiles("*.xls"))
            {
                ExportValue(app, file,tablename);//你要执行的操作
            }
        }

这样是不是很灵活了呢?

下载源码

 

转载于:https://www.cnblogs.com/bindot/p/vsto.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值