马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
假设
 -
- (setq xl (vlax-get-or-create-object "excel.application"))
- (setq acSht (vlax-get xl 'activesheet))
1 关于 Selection
在 Excel 中进行了区域 选择就构造了 Selection 对象 ,使用 Ctrl 键 可以构造不连续区域的选择 ,selection 是 多个 Range 对象的集合
2 获取 Selection
a 在 Sheet 中获取
 - (setq selection (vlax-get acsht 'Selection))
b 直接从 application 中获取 ,此时获取的是 activesheet 中的 selection
 - (setq seleciton (vlax-get xl 'selection))
3 Selection 的 Areas 属性
获取 Selection 的 Range 需要由 Areas 属性入手
 - (setq areas (vlax-get selection 'Areas))
Areas 的Count属性指示了当前选择了几个区域 ,注意 Count 是实际区域数量 + 1
 - (setq count (vlax-get areas 'Count))
4 获取 Selection 中的 每个 Range
Selection 中的 Range 由 Areas 属性的 Item 获取,注意 Excel 中 Item 都是由 1 计,而不是 0,在 Item 中 第一个 索引 是 Selection 构造时 首个 Range 的首单元格,实际 区域 是 由 2 开始
 - (setq firstRange (vlax-get-property areas 'Item 2))
使用 repeat + count 就可以循环获取各个 Range 了
|