【发布时间】:2018-03-28 15:36:47
【问题描述】:
这个我一直很头疼,还没搞定。
我使用 VBA 宏创建了许多文件,并随时重命名它们(这与在旧版本的 Excel (2003) 中创建 PDF 相关,使用需要初始文件名作为默认文件名的外部 PDF 编写器,如果你想知道)
我希望宏等到文件创建后再尝试重命名。然后我希望宏等到文件重命名后再创建另一个文件。这并不像听起来那么容易。像 Do While Dir(Filename)"" - Loop 和 Do While Dir(Filename)="" 这样的尝试会产生路径文件访问错误(同样,它自身运行的结果 - 它适用于恢复)或锁定计算机....
非常感谢任何帮助。
Sub RenameIt(Cpy As String, CName As String)
Do
Loop Until Dir(Worksheets("Workpad").[b1] & "NEW INVOICES\FOR EMAILING\To Email.pdf") <> ""
Name Worksheets("Workpad").[b1] & "NEW INVOICES\FOR EMAILING\To Email.pdf" As Worksheets("Workpad").[b1] & _
"NEW INVOICES\FOR EMAILING\" & CName & Cpy & ".pdf"
Do While Dir(Worksheets("Workpad").[b1] & "NEW INVOICES\FOR EMAILING\To Email.pdf") <> ""
Loop
End Sub
...创建文件路径访问错误
Sub RenameIt(Cpy As String, CName As String)
On Error Resume Next
Do
Err.Clear
Do
Loop Until Dir(Worksheets("Workpad").[b1] & "NEW INVOICES\FOR EMAILING\To Email.pdf") <> ""
Name Worksheets("Workpad").[b1] & "NEW INVOICES\FOR EMAILING\To Email.pdf" As Worksheets("Workpad").[b1] & _
"NEW INVOICES\FOR EMAILING\" & CName & Cpy & ".pdf"
Do While Dir(Worksheets("Workpad").[b1] & "NEW INVOICES\FOR EMAILING\To Email.pdf") <> ""
Loop
Loop Until Err.Number = 0
End Sub
...在创建第一个文件(未重命名)后锁定计算机
【问题讨论】:
-
如何启动外部 PDF 创建器?
-
你好。感谢您的关注。 PDF 创建器 (Bullzip) 作为打印机安装,因此 PDF 是由 VBA 作为常规打印作业创建的。