乐筑天下

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

将量取的长度进行累加的求助

[复制链接]

6

主题

34

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
58
发表于 2012-11-18 19:53:00 | 显示全部楼层 |阅读模式
  1. Public Xlapp As Object
  2. Private Sub Command4_Click() '测量长度
  3.     Set Xlapp = GetObject(, "Excel.Application")
  4.     Dim PT1 As Variant
  5.     Dim Dis As Double
  6.     On Error Resume Next
  7. label:
  8.         PT1 = ThisDrawing.Utility.GetPoint(, "1st Point")
  9.         Dis = Format(ThisDrawing.Utility.GetDistance(PT1, "2nd Point") / 1000, "##0.00")
  10.         Xlapp.ActiveCell = Dis
  11.         Xlapp.ActiveCell.Offset(1, 0).Select
  12.         If Err Then
  13.             Exit Sub
  14.         Else
  15.             GoTo label
  16.         End If
  17. End Sub
急用,在线等
回复

使用道具 举报

6

主题

34

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
58
发表于 2012-11-18 20:12:00 | 显示全部楼层
请大家不吝赐教,先谢谢
回复

使用道具 举报

0

主题

16

帖子

1

银币

初来乍到

Rank: 1

铜币
16
发表于 2012-11-22 18:21:00 | 显示全部楼层
  1.     Dim xlapp As Excel.Application
  2.         On Error Resume Next
  3.         Set xlapp = getObject(, "Excel.Application")
  4.         If Err Then
  5.             MsgBox "Please Run the Excel first !! "
  6.             Err.Clear
  7.             Exit Sub
  8.         End If
  9.    
  10.     Dim PT1 As Variant
  11.     Dim Dis As Double
  12. label:
  13.         PT1 = ThisDrawing.Utility.getPoint(, "1st Point")
  14.         Dis = Format(ThisDrawing.Utility.GetDistance(PT1, "2nd Point") / 1000, "##0.00")
  15.         xlapp.ActiveCell = Dis
  16.         xlapp.ActiveCell.Offset(1, 0).Select
  17.         If Err Then
  18.             Me.Show
  19.             Exit Sub
  20.         Else
  21.             GoTo label
  22.         End If
回复

使用道具 举报

9

主题

24

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2012-11-22 19:54:00 | 显示全部楼层
  1. Public Xlapp As Object
  2. Private Sub Command1_Click() '测量长度
  3. '连接外部程序最好添加错误处理机制:
  4. On Error Resume Next
  5. Set Xlapp = GetObject(, "Excel.Application")
  6. If Err Then
  7.     Err.Clear '如果不clear,则err仍然存在
  8.     MsgBox "请先打开EXCEL!", vbInformation, "提示"
  9.     '或者新建EXCEL程序
  10.     '新建的仍然是application对象
  11.     Set Xlapp = CreateObject("excel.application")
  12.     '或者:
  13.     If MsgBox("EXCEL还没有打开,是否新建EXCEL?", vbInformation, "提示") = vbYes Then
  14.         Set Xlapp = CreateObject("excel.application")
  15.         '显示新建的EXCEL程序,否则操作完除了后续用命令保存,将不能手动修改及显示
  16.         Xlapp.Visible = True
  17.         
  18.     Else
  19.         Exit Sub
  20.     End If
  21. End If 'application对象一整套处理完成
  22. '此处只是application
  23. 'application对象往后才是workbook,接着才是worksheet
  24. 'activecells,也就是cells对象必须是在worksheet对象后面的
  25. '所以下面是建立worksheet对象
  26. '当然因为你要用窗体,下面的dim换成public
  27. Dim Xlbook As Object '存储workbook对象
  28. Dim Xlsheet As Object '存储worksheet对象
  29. Set Xlbook = Xlapp.workbooks.Add
  30. 'set xlbook=xlapp.workbooks(i)  '此处i自定义,用于打开多工作簿的情况'可添加列表框提供手选功能
  31. Set Xlsheet = Xlbook.worksheet(1) '同样可以用add功能
  32. '具体excel就不多说了。模型对象再学习吧
  33. '如此,把下面xlapp全部改成xlsheet就行了
  34. Dim PT1 As Variant
  35. Dim Dis As Double
  36. On Error Resume Next
  37. label:
  38. '注意,任何用到窗体的,并且需要进行图形操作的,譬如get**操作
  39. '在之前都要先隐藏掉窗体'不需要图形操作仅仅纯计算及文字处理的不隐藏
  40. Me.Hide '后面操作完再显示,这个hide一般放在最前面
  41.     PT1 = ThisDrawing.Utility.GetPoint(, "1st Point")
  42.     Dis = Format(ThisDrawing.Utility.GetDistance(PT1, "2nd Point") / 1000, "##0.00")
  43.     Xlapp.ActiveCell = Dis
  44.     Xlapp.ActiveCell.Offset(1, 0).Select
  45.     If Err Then
  46.         Exit Sub
  47.     Else
  48.         GoTo label
  49.     End If
  50. '最后退出时要清空外部链接
  51. '注意不是放在这里,现在放这里只是为了方便说明
  52. '要放在你不再用到EXCEL程序的后面执行
  53. Set Xlapp = Nothing
  54. Set Xlbook = Nothing
  55. Set Xlsheet = Nothing
  56. '最后
  57. Me.Show
  58. '若要支持窗体显示的同时仍然可以操作图形
  59. Me.Show 0 '称为非模态,上面为模态
  60. End Sub
回复

使用道具 举报

9

主题

24

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2012-11-22 20:05:00 | 显示全部楼层
建议修改下标题,突出EXCEL连接、操作等关键字
回复

使用道具 举报

5

主题

15

帖子

2

银币

初来乍到

Rank: 1

铜币
35
发表于 2012-11-23 02:43:00 | 显示全部楼层
把长度导入excel自动求和
回复

使用道具 举报

15

主题

44

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
104
发表于 2016-6-3 16:52:00 | 显示全部楼层
你这样需要确定2点,可以只要选择多段线,就可以显示长度,或者更多的比如,选择文字,就可以把文字输入到excel呢
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 13:18 , Processed in 0.448928 second(s), 66 queries .

© 2020-2025 乐筑天下

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