Matt,
感谢您的快速回复!您提到了Microsoft运行时脚本?我需要一些软件吗?或者参考我已经拥有的软件?(PO-Gramming的相当新)。请参阅代码中的注释
选项显式
Public Sub Main()
Dim obBlock As AcadBlockAudi
Dim colHyps As AcadHyperlink
Dim fso As FileSystemObject
设置fso=New FileSystemObject
对于ThisDrawing.ModelSpace
中的每个对象
如果TypeOf obEnt是AcadBlockResources,则
设置对象块=对象块
设置Colps=objBlock.Hyperlinks
在错误恢复下一步'如果我们遇到任何没有超链接的块
(有没有办法让程序通过使用当前工作图来了解PATH?)
fso.CopyFilecolHyps.Item(0)。URL,"E:\Temp\"'将E:\Temp\替换为您的项目目录(这将是PDF源文件?)
结束如果
下一个对象Ent
设置fso=无
结束子
Matt,
再次感谢您抽出宝贵时间查看代码中的注释。
Option Explicit
Public Sub Main()
Dim objBlock As AcadBlockReference
Dim objEnt as AcadEntity
Dim colHyps as AcadHyperlinks
Dim fso As FileSystemObject
Set fso = New FileSystemObject
For Each objEnt In ThisDrawing.ModelSpace
if TypeOf objEnt Is AcadBlockReference then
Set objBlock = objEnt
Set colHyps = objBlock.Hyperlinks
在错误恢复下一个'如果我们遇到任何没有超链接的块
(有没有办法让程序通过使用当前工作图形来了解PATH?
您是指当前绘图的位置吗? 那条路??!?(是的,当前工作图形驻留在项目目录中,也称为Cut_Sheets驻留在项目目录中。这是我希望PDF剪切表结束的地方。
fso.CopyFile colHyps.Item(0).URL, “E:\Temp\” ' 将 E:\Temp\ 替换为您的项目目录
(这将是 PDF 源文件?
这是文件将被复制到的位置。
如果
下一个 objEnt
Matt,
假设我使用数据提取创建BOM表,在模型空间中有5个多块部件图形,但在图纸空间布局中仅显示1个部件。还有没有办法防止将重复的PDF剪切表移动到同一目录,或者程序会崩溃,或者它会提示我覆盖提交的任何重复文件?此外,我们的项目发生了很大变化,一些块将被删除,其他块将被添加。我再次运行此程序,是否可以删除Cut_Sheet目录中的现有文件并重新填充新修改的当前图纸切割表 0 Then ' Checks to see if there are any PDFs in E:Temp
fso.DeleteFile "E:\Temp\*.pdf", True ' If there are, delete them
End If[/code]
此行将自动覆盖任何可能与正在复制的 PDF 同名的 PDF。