明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3295|回复: 27

VBA编程

[复制链接]
发表于 2016-4-26 09:45:10 | 显示全部楼层 |阅读模式
用VBA编程实现用这些点X和Y的最大最小值画出方格网,求大神,谢谢

本帖子中包含更多资源

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

x
发表于 2016-4-26 17:26:10 | 显示全部楼层
本帖最后由 vbcad 于 2016-4-26 17:28 编辑

如果你每一个问题都需要别人来写代码,那你就学不到什么东西了。
建议你自己先摸索做一下,或者请教别人思路,碰到难题在发贴求教关键的。
 楼主| 发表于 2016-4-26 19:42:09 | 显示全部楼层
vbcad 发表于 2016-4-26 17:26
如果你每一个问题都需要别人来写代码,那你就学不到什么东西了。
建议你自己先摸索做一下,或者请教别人思 ...

自己写了,运行没有错误没有画出线来
 楼主| 发表于 2016-4-26 19:43:20 | 显示全部楼层
vbcad 发表于 2016-4-26 17:26
如果你每一个问题都需要别人来写代码,那你就学不到什么东西了。
建议你自己先摸索做一下,或者请教别人思 ...

自己写了,运行没有错误,就是画不出线段
发表于 2016-4-27 06:09:53 | 显示全部楼层
说的不清楚,是画一个外框,还是规则格网?
发表于 2016-4-27 08:31:26 | 显示全部楼层
你读文本的时候为什么就不比较下大小,记录好呢?然后就可以组合出外围框的四角坐标了呀
发表于 2016-4-27 08:49:49 | 显示全部楼层
馨馨 发表于 2016-4-26 19:43
自己写了,运行没有错误,就是画不出线段

发来让大家诊断下?
 楼主| 发表于 2016-4-27 08:51:25 | 显示全部楼层
bbkcylh 发表于 2016-4-27 06:09
说的不清楚,是画一个外框,还是规则格网?

规则格网,我先进行的比较,不过比较这块我还不熟,这是我读文本的时候的代码,
  1. Dim L As Integer
  2. Dim H(10000) As Double, X(10000) As Double, Y(10000) As Double, Z(10000) As Double
  3. Dim Xmax As Double, Xmin As Double, Ymax As Double, Ymin As Double
  4. Sub txt_read()
  5. Dim txtname As String
  6. Dim L As Integer
  7.     L = 0 '初始值
  8.     Open "E:\demdata.txt" For Input As #1  '打开文件
  9.     Do While Not EOF(1) '文件读取循环
  10.     If X(L + 1) > X(L) Then
  11.     Xmax = X(L + 1)
  12.     ElseIf Y(L + 1) > Y(L) Then
  13.     Ymax = Y(L + 1)
  14.     Else
  15.     Xmin = X(L + 1)
  16.     Ymin = Y(L + 1)
  17.     End If
  18.     L = L + 1 '个数加1
  19.     Input #1, H(L), X(L), Y(L), Z(L) '读取文件数据, H贮存点序号,XYZ为坐标
  20.     Loop '文件读取循环
  21.     Close #1 '关闭文件
  22. End Sub
 楼主| 发表于 2016-4-27 08:53:15 | 显示全部楼层
浪迹天涯追月 发表于 2016-4-27 08:31
你读文本的时候为什么就不比较下大小,记录好呢?然后就可以组合出外围框的四角坐标了呀

对我是想这样做的,但是我刚学没多久,对比较这块不熟,这是我的代码,比较这块不对的地方,希望能帮忙指正,谢谢啦
  1. Dim L As Integer
  2. Dim H(10000) As Double, X(10000) As Double, Y(10000) As Double, Z(10000) As Double
  3. Dim Xmax As Double, Xmin As Double, Ymax As Double, Ymin As Double
  4. Sub txt_read()
  5. Dim txtname As String
  6. Dim L As Integer
  7.     L = 0 '初始值
  8.     Open "E:\demdata.txt" For Input As #1  '打开文件
  9.     Do While Not EOF(1) '文件读取循环
  10.     If X(L + 1) > X(L) Then
  11.     Xmax = X(L + 1)
  12.     ElseIf Y(L + 1) > Y(L) Then
  13.     Ymax = Y(L + 1)
  14.     Else
  15.     Xmin = X(L + 1)
  16.     Ymin = Y(L + 1)
  17.     End If
  18.     L = L + 1 '个数加1
  19.     Input #1, H(L), X(L), Y(L), Z(L) '读取文件数据, H贮存点序号,XYZ为坐标
  20.     Loop '文件读取循环
  21.     Close #1 '关闭文件
  22. End Sub
 楼主| 发表于 2016-4-27 08:54:53 | 显示全部楼层
mikewolf2k 发表于 2016-4-27 08:49
发来让大家诊断下?

谢谢
  1. Dim L As Integer
  2. Dim H(10000) As Double, X(10000) As Double, Y(10000) As Double, Z(10000) As Double
  3. Dim Xmax As Double, Xmin As Double, Ymax As Double, Ymin As Double
  4. Sub txt_read()
  5. Dim txtname As String
  6. Dim L As Integer
  7.     L = 0 '初始值
  8.     Open "E:\demdata.txt" For Input As #1  '打开文件
  9.     Do While Not EOF(1) '文件读取循环
  10.     If X(L + 1) > X(L) Then
  11.     Xmax = X(L + 1)
  12.     ElseIf Y(L + 1) > Y(L) Then
  13.     Ymax = Y(L + 1)
  14.     Else
  15.     Xmin = X(L + 1)
  16.     Ymin = Y(L + 1)
  17.     End If
  18.     L = L + 1 '个数加1
  19.     Input #1, H(L), X(L), Y(L), Z(L) '读取文件数据, H贮存点序号,XYZ为坐标
  20.     Loop '文件读取循环
  21.     Close #1 '关闭文件
  22. End Sub
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-29 01:38 , Processed in 0.167753 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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