乐筑天下

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

从Excel中复制单元格中的文本,将其粘贴到Autocad中

[复制链接]

1

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2013-7-17 23:37:18 | 显示全部楼层 |阅读模式
您好
我想从excel复制一个值/文本到单元格中,并将其粘贴到现有的特定mtxt中。DWG档案。
我已经通过复制和粘贴完成了,但是由于要粘贴的单元格太多,所以效果不佳。
有人知道vba(宏)脚本可以帮助我解决问题吗?
PS:
我的一个单元格条目应该被复制到D5中,而mtxt在autocad中的坐标是(17,46 15,03 0,000)
这两个文件位于同一文件夹中
谢谢

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

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

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2013-7-20 04:36:49 | 显示全部楼层
试试这个代码,不要我的,虽然
看到这个例程中的注释
  1. Option Explicit
  2. ''~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~''
  3. Public mtextStr As String
  4. ''~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~''
  5. Public Sub testCopyCell()
  6. ExcelTemplateFunction ThisDrawing.GetVariable("dwgprefix") & "MyFile.xlsx"        '<~~        change excel file path
  7. Dim pt(2) As Double
  8. pt(0) = 100#: pt(1) = 100#: pt(2) = 0#:        '<~~        change point coordinates
  9. Dim oMtext As AcadMText
  10. Set oMtext = ThisDrawing.ModelSpace.AddMText(pt, 0#, mtextStr)
  11. ThisDrawing.SendCommand ("_copybase (list 100.0 100.0 0.0) _L ") & vbCr
  12. ThisDrawing.SendCommand ("(command)")
  13. oMtext.Delete
  14. End Sub
  15. ''~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~''
  16. ' borrowed from Desmond Oshiwambo
  17. ' http://desmondoshiwambo.wordpress.com/2013/06/17/template-function-to-connect-to-excel-from-access-using-vba-automation/
  18. ''~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~''
  19. Public Function ExcelTemplateFunction(xlFileName As String)
  20. On Error GoTo ErrorHandler
  21. Dim xlApp As Object
  22. Dim xlWB As Object
  23. Dim xlWS As Object
  24. Dim xlRange As Object
  25. Set xlApp = CreateObject("Excel.Application")
  26. 'Set xlWB = xlApp.Workbooks.Add
  27. Set xlWB = xlApp.Workbooks.Open(xlFileName, False)
  28. Set xlWS = xlWB.Worksheets(1)
  29. With xlWS
  30. Set xlRange = .Range("D5")        '<~~        change cell address
  31. mtextStr = CStr(xlRange.Value)
  32. End With
  33. 'Show Excel
  34. xlApp.Visible = True
  35. ExcelTemplateFunction = True
  36. GoTo CleanExit
  37. ErrorHandler:
  38. Debug.Print Err.Description
  39. ExcelTemplateFunction = False
  40. CleanExit:
  41. 'Close Excel - do not save
  42. If Not (xlWB Is Nothing) Then
  43. xlWB.Close False
  44. 'Close workbook (don't save)
  45. If Not (xlApp Is Nothing) Then
  46. xlApp.Quit      'Quit
  47. End If
  48. End If
  49. 'Destroy objects
  50. Set xlRange = Nothing
  51. Set xlWS = Nothing
  52. Set xlWB = Nothing
  53. Set xlApp = Nothing
  54. End Function
  55. ''~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~''
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-4-21 02:48 , Processed in 0.395817 second(s), 56 queries .

© 2020-2025 乐筑天下

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