C#调用Excel的宏
2009-04-03 10:30
162 查看
用到了三个组件
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
using VBIDE = Microsoft.Vbe.Interop;
因为涉及到大批量的Excel文件的处理
首先 先要把文本文件中保存的vba函数倒入到Excel中 手动倒入,假设有几千个Excel 将会窒息
假设 "1.txt"文件内容为
Sub DeleteLink()
Cells.Hyperlinks.Delete
End Sub
将文本文件写到一个str中 此str比较特殊,因为要按照vba的格式写 我们必须考虑回车换行 再者 假如文件中存在双引号,我们还要特殊处理
Code
Code
Excel.Application app = null;
Excel.Workbook workBook = null;
VBIDE.VBComponent vbComponent = null;
string strCode;
Object oMissing = System.Reflection.Missing.Value;
Object missing = System.Reflection.Missing.Value;
app = new Microsoft.Office.Interop.Excel.ApplicationClass();
workBook = app.Workbooks._Open("c:\\aaaa.xls", missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
vbComponent = workBook.VBProject.VBComponents.Add(VBIDE.vbext_ComponentType.vbext_ct_StdModule);
#region
strCode = "Sub ceshi()\r\n" +
"Cells.Hyperlinks.Delet\r\n"+
"End Sub";
#endregion
vbComponent.CodeModule.AddFromString(strCode);
try
{
app.Run("ceshi", missing, missing,
missing, missing, missing, missing, missing, missing, missing,
missing, missing, missing, missing, missing, missing, missing,
missing, missing, missing, missing, missing, missing, missing,
missing, missing, missing, missing, missing, missing, missing);
}
catch
{
GC.Collect();
}
app.Visible = true;
app.UserControl = true;
vbComponent = null;
workBook = null;
app = null;
GC.Collect();
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
using VBIDE = Microsoft.Vbe.Interop;
因为涉及到大批量的Excel文件的处理
首先 先要把文本文件中保存的vba函数倒入到Excel中 手动倒入,假设有几千个Excel 将会窒息
假设 "1.txt"文件内容为
Sub DeleteLink()
Cells.Hyperlinks.Delete
End Sub
将文本文件写到一个str中 此str比较特殊,因为要按照vba的格式写 我们必须考虑回车换行 再者 假如文件中存在双引号,我们还要特殊处理
Code
Code
Excel.Application app = null;
Excel.Workbook workBook = null;
VBIDE.VBComponent vbComponent = null;
string strCode;
Object oMissing = System.Reflection.Missing.Value;
Object missing = System.Reflection.Missing.Value;
app = new Microsoft.Office.Interop.Excel.ApplicationClass();
workBook = app.Workbooks._Open("c:\\aaaa.xls", missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
vbComponent = workBook.VBProject.VBComponents.Add(VBIDE.vbext_ComponentType.vbext_ct_StdModule);
#region
strCode = "Sub ceshi()\r\n" +
"Cells.Hyperlinks.Delet\r\n"+
"End Sub";
#endregion
vbComponent.CodeModule.AddFromString(strCode);
try
{
app.Run("ceshi", missing, missing,
missing, missing, missing, missing, missing, missing, missing,
missing, missing, missing, missing, missing, missing, missing,
missing, missing, missing, missing, missing, missing, missing,
missing, missing, missing, missing, missing, missing, missing);
}
catch
{
GC.Collect();
}
app.Visible = true;
app.UserControl = true;
vbComponent = null;
workBook = null;
app = null;
GC.Collect();
相关文章推荐
- 效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】) 转
- C#调用NPOI组件读取excel表格数据转为datatable写入word表格中并向word中插入图片/文字/书签 获得书签列表
- 编程实现C#调用Excel
- C#调用epplus 创建Excel
- C#中编程创建、调用Excel 宏
- C#操作excel,如何调用模板
- .net杂记 (调用EXE 获取路径 target VB DIV C# Split 页面之间传递值 更改session时间 EXCEL操作 控制电子邮件Mail input记录值的窍门)
- C# 调用Excel报 error CS1969: 找不到编译动态表达式所需的一个或多个类型。是否缺少引用?
- c#调用excel中的vba宏
- C# 调用Excel
- C#调用NPOI组件读取excel表格数据转为datatable写入word表格中并向word中插入图片/文字/书签 获得书签列表
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- C# 生成Excel 并保存 包含web和winform调用方法
- C#下面调用 Excel 另存代码
- C#调用Excel VBA宏
- C#调用NPOI自动创建Excel文档(一)
- C#调用NPOI创建Excel文档样式设置方法总结
- C#调用Excel报 error CS1969: 找不到编译动态表达式所需的一个或多个类型。是否缺少引用?
- C# 调用Excel组件生成excel文件
- vb/vb.net/C#调用Excel