C#使用Microsoft.Office.Interop.Excel组件时判断Excel文件中是否包含VBA代码

Workbook workbook = null;
            //是否包含VBA代码
            bool hasVBA = false;
            //打开EXECL
            workbook = xlApp.Workbooks.Open(excelFile, Missing.Value, false, Missing.Value, Missing.Value, Missing.Value,
                Missing.Value, Missing.Value, Missing.Value, Missing.Value, false, Missing.Value, Missing.Value,
                Missing.Value, Missing.Value);

            //判断文件中是否包含VBA代码
            if(int.Parse(xlApp.Version) >= 12) 
            {
                //Excel2007(包含)以上版本
                hasVBA = workbook.HasVBProject;
            }
            else
            {
                //Excel2007以前版本
                foreach (VBComponent vbc in workbook.VBProject.VBComponents)
                {
                    if (vbc.CodeModule.CountOfLines > 0)
                    {
                        hasVBA = true;
                        break;
                    }
                }
            }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值