找回密码
 加入
搜索
查看: 1705|回复: 4

[AU3基础] 【已解决】如何返回XLS中的拼合单元格拼合了多少个单元?

[复制链接]
发表于 2012-3-10 16:54:31 | 显示全部楼层 |阅读模式
本帖最后由 xowen 于 2012-3-13 10:26 编辑


如图,有一个单元格是纵向拼合的,另一个单元是横向拼合过的,那位高手知道怎么返回拼合单元格的数目,例如,返回红色标记处的为3个行被拼合,蓝色标记处的为3个列被拼合。谢谢!
#include <Excel.au3>
$Excel = _ExcelBookOpen(‘test.xls’, 0)
If $Excel.ActiveSheet.Range("B13:C13").MergeCells = True Then  ;===>我只知道这个可以检测单元格是否是拼合过的,但是无法分别知道有几列或行被拼合。
    $msg=$Excel.ActiveSheet.Range("A1").MergeArea.Count ;===>这样可以得到行、列的乘积。
    msgbox(0,'',$msg)
Endif

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +20 收起 理由
afan + 20 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2012-3-10 20:07:29 | 显示全部楼层
给个代码,帮你改下试试
 楼主| 发表于 2012-3-12 11:07:53 | 显示全部楼层
回复 2# kevinch
我只知道这个可以检测单元格是否是拼合过的,但是无法分别知道有几列或行被拼合。可以得到行、列的乘积。
#include <Excel.au3>
$Excel = _ExcelBookOpen(‘test.xls’, 0)
If $Excel.ActiveSheet.Range("B13:C13").MergeCells = True Then  ;===>我只知道这个可以检测单元格是否是拼合过的,但是无法分别知道有几列或行被拼合。
    $msg=$Excel.ActiveSheet.Range("A1").MergeArea.Count ;===>这样可以得到行、列的乘积。
    msgbox(0,'',$msg)
Endif
发表于 2012-3-12 14:49:21 | 显示全部楼层
#include <Excel.au3>
$Excel = _ExcelBookOpen(‘test.xls’, 0)
If $Excel.ActiveSheet.Range("B13:C13").MergeCells = True Then  ;===>我只知道这个可以检测单元格是否是拼合过的,但是无法分别知道有几列或行被拼合。
    $msgr=$Excel.ActiveSheet.Range("A1").MergeArea.rows.Count
      $msgc=$Excel.ActiveSheet.Range("A1").MergeArea.columns.Count
    msgbox(0,'',$msgr&"行"&$msgc&"列")
Endif
这样试下
MergeArea.Count其实是MergeArea.cells.Count的简写形式,得到的是合并区域的单元格总数,把cells换成rows(行)或者columns(列)就可以得到行列数了

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

 楼主| 发表于 2012-3-13 10:26:04 | 显示全部楼层
回复 4# kevinch
谢谢大虾,明白了呃!!!!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-19 11:30 , Processed in 0.089072 second(s), 29 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表