autocad - AutoCAD VBA如何放大AutoCAD表格中的单元格
问题描述
是否可以放大表格中的特定单元格?我在每个单元格中有一个包含文本值的表格,需要放大到每个单元格。acZoomScaledRelative
通常我可以使用实体句柄和边界框的最大值和最小值来放大对象。但是对于表格,单元格中的文本没有文本实体句柄。
问候泰克
解决方案
您可以使用 ActiveX GetCellExtents方法来获取对应于表格单元格四个角的坐标数组 - 此方法还考虑了合并单元格的可能性。
以下是您可以移植到 VBA 的 AutoLISP 实现示例:
(defun cellextents ( obj row col / a b c d lst rtn )
(if (= :vlax-true (vla-ismergedcell obj row col 'a 'b 'c 'd))
(setq row a col c)
)
(setq lst (vlax-invoke obj 'getcellextents row col :vlax-true))
(repeat 4 (setq rtn (cons (list (car lst) (cadr lst) (caddr lst)) rtn) lst (cdddr lst)))
(reverse rtn)
)
获取这些坐标后,您可以调用 Application 对象的 ZoomWindow 方法来缩放到由左下角和右上角坐标定义的窗口。
推荐阅读
- python - 调用方法和调整按钮文本
- reactjs - Gutenberg React - 努力使用 withSelect
- java - Avro GenericRecord 反序列化无法通过 SpringKafka 工作
- sql - Postgresql 错误:无法从视图中删除列
- javascript - 试图在 JS 中实现 isRepdigit() 算法
- google-apps-script - 使用 Google-Sheet 上的多个表单从表单 onFormSubmit 复制新行
- python - 有没有办法从python中的元组列表中获取丰富的数据
- angular - 2020年如何整合AngularSPA和Hapi?
- python - 如何从 pandas 数据帧计数矩阵创建 AnnData 对象?
- javascript - 如何在 javascript 中读取二进制文件(xml 样式)?