VSTO:C#获取文档控件的值
基础知识准备:
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);//你要执行的操作 } }
这样是不是很灵活了呢?
原创不易,转载请声明 bindot
https://www.cnblogs.com/bindot/