乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 406|回复: 11

用VBA将Excel表格与CAD交互

[复制链接]

6

主题

14

帖子

1

银币

初来乍到

Rank: 1

铜币
38
发表于 2022-2-22 17:27:00 | 显示全部楼层 |阅读模式
工作之后才开始接触VBA,现在已经两年了,也没有怎么认真学过做了个CAD跟Excel表格转换的,但是水平有限,代码太乱了,
写完有时自己都不记得为什么这样写的,发出来希望有大神看看,
给点建议,也顺便看看能不能解决些遗留问题。代码基本都是抄抄改改的,
用了哪些大神的也不记得了,抱歉了,上传的是源码,还有使用的相关说明。

最新文件
导入表格过程

2vholuje3qx.gif

2vholuje3qx.gif

导出表格过程

okp1nunnv2c.gif

okp1nunnv2c.gif

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

6

主题

14

帖子

1

银币

初来乍到

Rank: 1

铜币
38
发表于 2022-2-24 16:25:00 | 显示全部楼层
补一个CAD导出Excel的思路,目前单元格内的文字排序和上下标问题没处理好,由于上下标位置太复杂,CAD各种字体宽度又不是固定的,确实想不出什么好办法。
1、拾取由线(包括多段线和直线)和文字组成的表格对象,文字和线分开两个数组存放
2、遍历线数组,提取线的点XY坐标,坐标每两个点为一组,直线的话就是起终点,多段线的话就是1、2点一组、2、3点一组,……,n-1、n点一组。这一步主要是将多段线坐标转成直线。最终得到许多直线的XY坐标数组。
3、循环XY坐标数组,将坐标数组按竖线和横线分开,横线取Y坐标,竖线取X坐标,去掉重复数字,还可以根据文字高度和宽度,去掉一些可能在单元格中的短线,这样得到表格的行线的坐标数组和列线的坐标数组。
4、循环行线坐标数组
循环列线坐标数组
    如果单元格的左边线和顶边线存在,则说明单元格存在(否则单元格被合并)
        向下循环行线坐标数组直到找到下边线,确定本单元格合并的行数
        向右循环列线坐标数组直到找到右边线,确定本单元格合并的列数
其中,判断单元格上下左右边线是否存在如下:
计算单元格的边线中心点坐标
顶、底边线则循环第2步整理的行线行线坐标数组,通过点是否在直线上判断是否存在
左、右变线则循环第2步整理的竖线行线坐标数组
5、到此,就可以得到一个表格框架,表格的行数,行高,列数,列高,行线Y坐标,竖线X坐标,每个单元格合并的单元格情况等。
6、循环每个单元格,根据单元格的上下左右坐标为控制
循环文字的中心坐标,在单元格范围的,就拾取
将所有在单元格内的文字整理排序,处理上下标等
7、到此,就可以得到完整的表格内容。
8、循环单元格,没有被合并的则将文字输出至Excel,处理合并的单元格
回复

使用道具 举报

6

主题

14

帖子

1

银币

初来乍到

Rank: 1

铜币
38
发表于 2022-3-16 22:26:00 | 显示全部楼层

是前面想只用单行文字特意去掉的,忘记改了,斜线我用得太少了,而且很多插件也没有这个,感觉是没什么需求
回复

使用道具 举报

6

主题

14

帖子

1

银币

初来乍到

Rank: 1

铜币
38
发表于 2022-3-15 17:55:00 | 显示全部楼层

更新了下文件,修复了些bug,也去掉了密码,自己可行看下错误,解决了记得来反馈一下
回复

使用道具 举报

85

主题

1175

帖子

11

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1518
发表于 2022-2-23 09:06:00 | 显示全部楼层
1. 闪烁应该是ACAD刷新所致,跟EXCEL没关系。可以先zoom到一个很小的空的区域,这个区域内没有图形,刷新的影响降到最低。
2. 单元格内多个文字,可以按照大小坐标等排序,可以实现多个文字带上下标输出。
回复

使用道具 举报

91

主题

392

帖子

13

银币

中流砥柱

Rank: 25

铜币
753
发表于 2022-2-23 16:36:00 | 显示全部楼层
你好兄弟我有录gif的软件加我扣扣3298554767
回复

使用道具 举报

6

主题

14

帖子

1

银币

初来乍到

Rank: 1

铜币
38
发表于 2022-2-23 21:49:00 | 显示全部楼层

谢谢,今天找到了解决办法
回复

使用道具 举报

0

主题

16

帖子

4

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-2-25 11:17:00 | 显示全部楼层

极简录屏软件 Gif123 , 操作特别简单 https://gif123.aardio.com

evloy31fwcj.png

evloy31fwcj.png



                               
登录/注册后可看大图


2t4syn2afqf.jpg

2t4syn2afqf.jpg


ijn4x2sz1l3.gif

ijn4x2sz1l3.gif


回复

使用道具 举报

6

主题

14

帖子

1

银币

初来乍到

Rank: 1

铜币
38
发表于 2022-2-25 17:42:00 | 显示全部楼层

感谢,确实很好用
回复

使用道具 举报

15

主题

207

帖子

11

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
272
发表于 2022-3-2 08:51:00 | 显示全部楼层
谢谢分享,下载学习下
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-12 22:56 , Processed in 0.533076 second(s), 77 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表