Vba 从单元格中获取Excel中文件名的名称

Vba 从单元格中获取Excel中文件名的名称,vba,excel,excel-formula,Vba,Excel,Excel Formula,我对以下代码有问题: Sub SavePDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="\\TERA\Rok\Leromik izdani računi\" & Range("B8").Value & ".pdf", _ Quality:=xlQualityStandard, _ IncludeDocProperties:=True, _ IgnoreP

我对以下代码有问题:

Sub SavePDF()

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:="\\TERA\Rok\Leromik izdani računi\" & Range("B8").Value & ".pdf", _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=True

End Sub
我无法从B8单元格获取我的.pdf名称。在尝试保存时,我收到以下错误:


保存后尝试打开PDF文件时,您看到的是一个错误,有时在创建PDF文件后,即使您手动关闭PDF阅读器,也会允许它保持打开状态。在VBA中从C#程序创建PDF时,我多次遇到这种情况

这条线会给你带来麻烦。但是,将其更改为
False
也不会有帮助。 此外,即使文件名是完全合法的名称,也会发生此错误

OpenAfterPublish:=True
如果您想解决此问题,下面的代码将允许您将文件保存到目标位置,如果恰好有到PDF reader的打开连接,它将在保存后忽略打开,只保存到您选择的位置。因此,请注意,如果在使用以下代码后发生此错误,则保存后将不会打开PDF文件

只需添加此项,
下一步继续出错

Sub SavePDF()
    On Error Resume Next
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:="\\TERA\Rok\Leromik izdani računi\" & Range("B8").Value & ".pdf", _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=True

End Sub

另外,我更喜欢保存一个文件,以确保不会获得相同的文件名,因此请确保
范围(“B8”)中的值永远不会相同。值
将非常有用。

您会遇到什么错误?运行时错误1004,文档未保存或打开,或者在保存过程中出现错误。。。。如果我把这行文件名改为“\\TERA\Rok\Leromik izdani računi\Export.pdf”,它会工作,但它总是以Export.pdf的名称保存。您需要添加完整的路径:“DriveLetter:\Folder\SubFolder”和Range(“B8”)。值和“.pdf”B8中的值是什么?它是一个合法的文件名吗?@VBAPete-这是一个完整的网络(UNC)路径,如前导所示`\\`