krampaul82 发表于 2011-10-19 10:26:46

vba重命名文件

下面的代码将进入名为cut_sheets的目录,删除任何现有的pdf文件,并用新选择的超链接pdf文件重新填充。是否可以跳过或重命名任何现有的pdf文件,只添加任何新的超链接pdf文件?
感谢任何帮助......
Option Explicit
Public Sub Gartner _ Get _ Hyperlink _ Main()
Dim obj block As acad block reference
Dim objEnt As acad entity
Dim colHyps As acad hyperlinks
Dim FSO As file system object


Set FSO = New file system object

If Len(Dir(this drawing .路径& " \切割纸张\*。pdf"))0然后'检查当前_Project\Cut Sheets\
fso中是否有任何pdf。删除此绘图文件。路径& " \切割纸张\*。pdf ",True '如果有,请删除它们
我可以重命名任何现有文件或跳过而不删除它们,只添加新文件吗?pdf的?对于此绘图中的每个对象,结束If。模型空间
如果对象的类型是AcadBlockReference,则
Set obj block = objEnt
Set colHyps = obj block。“出错时的超链接
继续下一步”以防我们遇到任何没有超链接的块
fso。CopyFile colHyps。项目(0)。URL,此绘图。Path & "\Cut Sheets\ ",True ' The选项将自动覆盖任何同名的现有文件
End If
Next objEnt
Set FSO = Nothing
End Sub
**** Hidden Message *****

Matt__W 发表于 2011-10-19 10:35:09


Public Function CheckFilesExistance(strFileName As String) As Boolean
    Dim FSO As FileSystemObject
    Set FSO = New FileSystemObject
    CheckFilesExistance = FSO.FileExists(strFileName)
    Set FSO = Nothing
End Function
If CheckFilesExistance(strFileName) = True then
    Msgbox "Skip existing file"
Else
    Msgbox "Do something"
End If

krampaul82 发表于 2011-10-20 12:23:35

Matt
感谢您的回复
,我将编写什么代码来跳过现有文件?
马克

Matt__W 发表于 2011-10-20 13:47:15

您可以翻转它并搜索不存在的文件。
If Not CheckFilesExistance(strFileName) = True then
    Msgbox "Do something"
End If

krampaul82 发表于 2011-10-20 13:54:26

我需要留言框吗?

Matt__W 发表于 2011-10-20 13:55:35

不。您将用代码替换它以添加新文件。

fixo 发表于 2011-11-12 17:00:30

您必须在此处查看FileSystemObject的Copy、CopyFile和Mobile方法:
http://msdn.microsoft.com/en-us/library/6tkce7xa(v=VS.85). aspx
HTH

krampaul82 发表于 2011-12-12 17:10:08

谢谢你菲克索...

BlackBox 发表于 2011-12-13 01:47:31

与VBA是一个降级到使用FileSystemObject对象,或者可以系统。IO.File类被调用?

BlackBox 发表于 2011-12-13 01:49:54

此外,与每次调用时获取/创建FileSystemObject对象的子例程不同,调用函数提供FSO作为文件路径的参数可能更有效,不是吗?
页: [1]
查看完整版本: vba重命名文件