一、目的
在用Excel VBA读取Word文档内表格时遇到一个问题:怎么判断表格内是否有合并单元格?哪些单元格是合并单元格?
网上搜到的相关结果不多,而且代码感觉也有些繁琐。因此就自己打断点,一点一点地分析了一下Word文档表格对象的属性,最后写了判断合并单元格的代码,并给出注释和必要的解释,供大家参考。
二、VBA代码
1. 获取Word文档所有表格对象的集合(Tables Collection)
(资料图片仅供参考)
这部分代码网上随便都能找到类似的,就不作解释。
注:变量wdDoc.Tables获取当前文档内所有表格的集合。可通过wdDoc.Tables(index) 访问指定表格。
2. 判断表格对象(Tables)是否有合并单元格
注:参数wdTable是指定表格,即通过wdDoc.Tables(index)获取 。
实现思路:通过 “表格行×表格列数” 计算出表格理论单元格数量,即如果没有合并单元格,这个表格就应该有这么多个单元格。然后通过.Range.Cells获取实际单元格的集合,通过判断实际单元格个数与理论的是否相等,来判断是否有合并单元格。
这里利用到Tables对象的一个特性:wdDoc.Tables(index).Range.Cells属性获取的单元格集合,它是不包含被合并掉的单元格的。
3. 计算合并单元格
遍历表格单元格集合来获得每一个单元格对象,并将对象传入AnalysisMergeCells函数。
PS:原本准备用For Each遍历wdTable.Range.Cells集合来拿到单元格对象,但是单元格对象参数传入到AnalysisMergeCells函数内就变成了单元格文本,奇怪的BUG...
※ 通过AnalysisMergeCells函数计算单元格的合并情况。
注1:参数wdCellObject是表格的指定单元格对象,通过wdDoc.Tables(index).Range.Cells(index)获取
注2:函数返回数组 [RowMergeCount, ColumnMergeCount]
实现思路:(1)列合并很容易判断,通过获取当前单元格wdCellObject.Range.Columns集合的.Count属性,横向合并多少列集合就会有几个Column对象。(2)行合并稍微麻烦点,没有直观的属性能判断。仔细分析wdCellObject对象发现,单元格对象有.RowIndex属性,指示着当前单元格所在行。对于处在同一列的单元格.RowIndex属性是唯一的,并且在没有合并行的情况下相邻行的单元格.RowIndex是连续的,合并行后.RowIndex属性不连续,因此,可以通过计算.RowIndex属性越值来判断合并了多少行。
上传日期:2023年5月20日 17点11分
关键词:
(责任编辑:黄俊飞)推荐内容
- [Excel VBA]判断Word文档表格合并单元格
- p2p查询网站
- 《AEW:战斗永远》上市日期泄露 狂蹭摔
- 南京建邺城管联合多部门开展餐饮企业“一
- 入骨相思知不知出自哪首诗_入骨相思知不
- 每日看点!炸小鱼做法_炸小鱼简单做法
- 宅急送快递查询_宅急送快递|世界热讯
- 真知灼见展现微型小说生态图景|世界快资讯
- 快播:057期高财双色球预测奖号:红球三
- 智通ADR统计 | 5月20日
- 乌克兰首都基辅响起爆炸声 世界播报
- 高跟鞋女人防狼_高跟鞋女人 滚动
- 杨德龙:沪深港股市缩量震荡 有望延续结
- 宁波如家快捷酒店 鼓楼孝闻街店
- 佛山南海大沥城市主题歌曲《你好大沥》MV
- 世界今热点:西安交大,《科学》再发文!
- 世界新资讯:射洪市太和街道王爷庙社区组
- 世乒赛男单抽签结果,马龙约战两大中国名
- 微头条丨手机2d回合制网络游戏推荐 回合
- 速讯:上海:牵住解决民营企业融资难融资
- 每日看点!毁童年!X级恐怖片《小鹿斑比:
- 焦点快报!小朋友路上走失怎么办?民警蜀
- 湖南工程学院与湖南睿图智能科技有限公司
- 食品加工制造板块涨1.35% 桂发祥涨6.2%居首
- 性价比提升15%,阿里云发布第八代企业级
- 中铁特货(001213)5月19日主力资金净卖
- 苹果公司限制员工使用ChatGPT等外部AI工
- 北京高招体检结果5月20日起可查
- 工信部:推动资本市场加大对中小企业的支
- 推荐的第93个工具,三维全球历史影像地图
- 博仕欣居居委会联合小区物业公司开展“防
- 郑州发布超百家文旅休闲消费新场景
- 前4个月北京地区对中亚五国进出口增势良
- 【天天报资讯】赵丽颖高调出席活动展现顶
- 四川南充:开展电缆路径探测 保护电力
- 穆帅晒视频:勇士们正在用餐,我太累了,
- 全国年报改革暨数据质量提升座谈会召开-
- 【天天快播报】一本大学学费标准_大学学
- 世界观察:r404a制冷剂可以用什么代替
- 国足6月先后迎战缅甸、巴勒斯坦,对阵弱
- 观焦点:Idmicom重置密码
- 沁源农商银行:营销业绩突出!听听这名运
- 世界简讯:弘晳和弘历是什么关系_承欢和弘
- 几何平均数和算术平均数_几何平均
- 贵州银行公布2022财年年度权益分配方案
- 开班!70多名体育教师、教练员参加 热资讯
- 浙江农林大学为毕业生“量身定做”招聘会
- 直击川发龙蟒年度股东大会:磷酸铁锂项目
- ETF观察丨港股君实生物跌超4% 恒生医疗E
- 多空对决!期权数据显示:阿里巴巴(09988
- 【天天快播报】酒泉市市委书记会见江苏恒
- 滴普科技湖仓一体数据智能平台 助力国央
- 花生是坚果吗 花生是优质脂肪食物吗 环
- 诚志股份:拟投建POE项目和超高分子量聚
- vb if else语句的用法_vb if else
- 2023无锡市五爱小学一年级招生通告_报道
- 当《鬼灭之刃》的角色纷纷喵星人化,被祢
- 深化“5G+工业互联网” 融合创新和规模应用
- 金智妮的果冻有多大_金智妮身高
- 鸦片鱼头的做法 ——清蒸鸦片鱼头!_
- 每日看点!毁童年!X级恐怖片《小鹿斑比:
- 焦点快报!小朋友路上走失怎么办?民警蜀
- 湖南工程学院与湖南睿图智能科技有限公司
- 食品加工制造板块涨1.35% 桂发祥涨6.2%居首
- 性价比提升15%,阿里云发布第八代企业级
- 中铁特货(001213)5月19日主力资金净卖
- 苹果公司限制员工使用ChatGPT等外部AI工
- 北京高招体检结果5月20日起可查
- 工信部:推动资本市场加大对中小企业的支
- 推荐的第93个工具,三维全球历史影像地图
- 博仕欣居居委会联合小区物业公司开展“防
- 郑州发布超百家文旅休闲消费新场景
- 前4个月北京地区对中亚五国进出口增势良
- 【天天报资讯】赵丽颖高调出席活动展现顶
- 四川南充:开展电缆路径探测 保护电力
- 穆帅晒视频:勇士们正在用餐,我太累了,
- 全国年报改革暨数据质量提升座谈会召开-
- 【天天快播报】一本大学学费标准_大学学
- 世界观察:r404a制冷剂可以用什么代替
- 国足6月先后迎战缅甸、巴勒斯坦,对阵弱
- 观焦点:Idmicom重置密码
- 沁源农商银行:营销业绩突出!听听这名运
- 世界简讯:弘晳和弘历是什么关系_承欢和弘
- 几何平均数和算术平均数_几何平均
- 贵州银行公布2022财年年度权益分配方案
- 开班!70多名体育教师、教练员参加 热资讯
- 浙江农林大学为毕业生“量身定做”招聘会
- 直击川发龙蟒年度股东大会:磷酸铁锂项目
- ETF观察丨港股君实生物跌超4% 恒生医疗E
- 多空对决!期权数据显示:阿里巴巴(09988
- 【天天快播报】酒泉市市委书记会见江苏恒
- 滴普科技湖仓一体数据智能平台 助力国央
- 花生是坚果吗 花生是优质脂肪食物吗 环
- 诚志股份:拟投建POE项目和超高分子量聚
- vb if else语句的用法_vb if else
- 2023无锡市五爱小学一年级招生通告_报道
- 当《鬼灭之刃》的角色纷纷喵星人化,被祢
- 深化“5G+工业互联网” 融合创新和规模应用
- 金智妮的果冻有多大_金智妮身高
- 鸦片鱼头的做法 ——清蒸鸦片鱼头!_
- 剑桥科技(603083)5月18日10点5分触及涨停板
- 兆新股份业绩说明会谈未来发展战略
- 鲁能主帅李霄鹏45岁生日 亚足联官博发文
- 观典防务:5月17日融资买入300.03万元,
- 怎样煮牛肉泡馍的牛肉又烂又好吃?
- 凯迪拉克越野车价格表_凯迪拉克越野 视讯
- cad标注尺寸不显示为什么_cad标注尺寸不显示
- 利雅得胜利获得亚冠参赛许可证,C罗下赛
- 全球速读:广西推进生物多样性保护工作
- [奉贤]齐贤学校:上海市“千校万班”三大
- 环球视点!中老铁路运输货物突破2000万吨
- 工作日都不用上班?记者:申花球迷8分钟
- 苹果可能会有一个家庭优先的谷歌像素平板
- 惠州养老院哪家好?2023年惠州养老院推荐
- 世界快看点丨小区出门“有山有水” 业主
- 焦点速读:巴航工业在韩国展示E190-E2优
- 云南能投永宁750MW风电场首批机组投产
- 龙葵果实_龙葵果_快播
- 北京市文化和旅游局通报!无限期暂停笑果
- 2023浙江杭州市上城区望江街道办事处编外