博客里曾经记录过利用python生成svg格式的barcode,然后利用coreldraw的vba实现自动导入的做法。因为一次性可能导入2-4个条码,有时最后所剩条码数量不足4个的时候,直接导入会报错导致程序中止。
实际希望的流程是即便该文件不存在,也继续运行程序,哪怕所剩仅一个二维码没被排版打印。打印工作还是需要继续的,所以想找一段vba代码来实现判断文件存在。
用VBA自带的dir()判断
下面这段程序摘录自百度,程序不仅实现了判断文件存在与否的功能,也展示了一个vba函数的定义过程。
Function isFileExists(ByVal strFileName As String) As Boolean
If Dir(strFileName, 16) <> Empty Then
isFileExists = True
Else
isFileExists = False
End If
End Function
Sub Run()
If isFileExists("D:\vba\abc.txt") = True Then
MsgBox "文件存在!"
Else
MsgBox "文件不存在!"
End If
End Sub
用Windows的文件系统函数进行判断
Function IsFileExists(ByVal strFileName As String) As Boolean
Dim objFileSystem As Object
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
If objFileSystem.fileExists(strFileName) = True Then
IsFileExists = True
Else
IsFileExists = False
End If
End Function
Sub Run()
If IsFileExists("D:\vba\abc.txt") = True Then
MsgBox "文件存在!"
Else
MsgBox "文件不存在!"
End If
End Sub