乐筑天下

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

删除现有超链接

[复制链接]

57

主题

235

帖子

3

银币

后起之秀

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

铜币
463
发表于 2006-6-30 09:49:57 | 显示全部楼层 |阅读模式
我正在使用VB6打开CAD图纸,并希望从图纸中删除现有的超链接。我可以在VBA工作,但不是纯VB。
帮助?

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

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

使用道具 举报

12

主题

150

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
198
发表于 2006-6-30 10:37:11 | 显示全部楼层
你有成功的vb6项目工作吗?
您正在制作一个activex dll吗?如果是这样,您如何链接到它?
缺少您的信息。
发布一些代码。
另外,如果你在设置一个纯vb项目时需要帮助,看看这个:
http://www.websitetoolbox.com/tool/post/milllister/vpost?id=1071084&trail=30#1
你可以回到 http://milllister.com/ 页面,拿起我的手机,打电话给我,如果你在设计时需要帮助调试。
回复

使用道具 举报

57

主题

235

帖子

3

银币

后起之秀

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

铜币
463
发表于 2006-6-30 11:07:50 | 显示全部楼层
以下是我尝试的…
将ACADHYPERLINK设置为对象
设置Acadhyper Link=acadDoc。ACADHYPERLINK<br>用于acadDoc<br>ACADHYPERLINK中的每个Acadhyper link。删除下一个ACADHYPERLINK
…不用说,它不起作用。
回复

使用道具 举报

57

主题

235

帖子

3

银币

后起之秀

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

铜币
463
发表于 2006-6-30 11:32:52 | 显示全部楼层
不,它没有。尝试一下,可能需要一些调整。
  1. Sub test()
  2. Dim objHL As AcadHyperlink
  3. Dim objHLs As AcadHyperlinks
  4. Dim objThingy As AcadEntity
  5. For Each objThingy In acadDoc.PaperSpace
  6.   If objThingy.Hyperlinks.Count  0 Then
  7.     Set objHLs = objThingy.Hyperlinks
  8.     For Each objHL In objHLs
  9.       objHL.Delete
  10.     Next objHL
  11.   End If
  12. Next objThingy
  13. For Each objThingy In acadDoc.PaperSpace
  14.   If objThingy.Hyperlinks.Count  0 Then
  15.     Set objHLs = objThingy.Hyperlinks
  16.     For Each objHL In objHLs
  17.       objHL.Delete
  18.     Next objHL
  19.   End If
  20. Next objThingy
  21. End Sub

这是VBA完成的,然后此绘图被更改为acaddoc,因此您必须设置acaddoc等。
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2006-6-30 11:43:57 | 显示全部楼层
只是为了理解它,不起作用的原因是您告诉VB的是它将遍历绘图中的所有内容,并且它会在绘图中找到的所有内容都是超链接。它首先到达的不是超链接,程序说,“嘿,这不是你的超链接。我想我要扔掉宾基了。"
代码唯一有效的时候是如果您的绘图中只包含超链接,而超链接永远不会发生,原因有两个。
1)文件空间和模型空间都是块,您无法摆脱它们。
2)绘图中不能有超链接。超链接附加到对象,而不是对象本身。
有意义吗?
回复

使用道具 举报

57

主题

235

帖子

3

银币

后起之秀

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

铜币
463
发表于 2006-6-30 12:48:44 | 显示全部楼层
Bob,
我在VB6学习版...
我尝试了您的代码,但VB6无法识别“Dim ObjHL As AcadHyperlink”。它给我一个错误,“未定义用户定义类型”。我还需要做什么?
Dave,
建设性的批评总是受欢迎的...好的代码也总是受欢迎的。
我是使用VB6访问Cad的新手。
回复

使用道具 举报

57

主题

235

帖子

3

银币

后起之秀

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

铜币
463
发表于 2006-6-30 13:03:41 | 显示全部楼层
听起来您需要添加对AutoCAD类型库的引用
此外,如果您像下面这样对数据库进行迭代,它将获得除modelspace和paperspace中的链接外嵌入到块中的任何链接。
  1. Sub removeHyperLinks(ByRef doc As AcadDocument)
  2.   Dim block As AcadBlock
  3.   For Each block In doc.Blocks
  4.      Dim ent As AcadEntity
  5.      For Each ent In block
  6.       Dim links As AcadHyperlinks
  7.       Set links = ent.hyperLinks
  8.       If links.Count  0 Then
  9.         Dim link As AcadHyperlink
  10.         For Each link In links
  11.           link.Delete
  12.         Next link
  13.         Set link = Nothing
  14.       End If
  15.      Next ent
  16.      Set ent = Nothing
  17.   Next block
  18.   Set block = Nothing
  19. End Sub

回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2006-6-30 21:49:33 | 显示全部楼层

也许是出生时分开的双胞胎?你不会碰巧有一条腿比另一条腿短,还有一个很大的驼背吧?
回复

使用道具 举报

12

主题

150

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
198
发表于 2006-7-1 15:35:44 | 显示全部楼层

如果你喜欢波旁威士忌,恰克,那对我来说就够了。
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2006-7-1 19:35:19 | 显示全部楼层
可能是三胞胎,克里兄弟
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-5 23:21 , Processed in 1.113042 second(s), 72 queries .

© 2020-2025 乐筑天下

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