gpt4 book ai didi

vba - Excel 加载项将文件名更改为加载项的名称,尽管它不应该

转载 作者:行者123 更新时间:2023-12-04 20:15:03 24 4
gpt4 key购买 nike

关于我使用 VBA 创建的加载项,我需要您的帮助,然后我将其保存为加载项,以便能够在所有 Excel 工作簿上使用,并将其发送给我的 friend 。

该插件只是将事件工作表中的打印区域保存为与工作簿同名的 PDF 文件,它将 PDF 保存到桌面并作为宏正常工作。

但是当我保存为 PDF 并使用它时,它会以与加载项相同的名称保存 PDF 文件,而不是作为工作簿的名称。

有什么建议么?

VBA代码是:

Sub Save_as_pdf()
Dim FSO As Object
Dim s(1) As String
Dim sNewFilePath As String

Set FSO = CreateObject("Scripting.FileSystemObject")

s(0) = "C:\Users\" & Environ("UserName") & "\Desktop\" & ThisWorkbook.Name

If FSO.FileExists(ThisWorkbook.FullName) Then
'//Change Excel Extension to PDF extension in FilePath
s(1) = FSO.GetExtensionName(s(0))

If s(1) <> "" Then
s(1) = "." & s(1)
sNewFilePath = Replace(s(0), s(1), ".pdf")

'//Export to PDF with new File Path
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=sNewFilePath, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
End If
Else
'//Error: file path not found
MsgBox "Error: this workbook may be unsaved. Please save and try again."
End If

Set FSO = Nothing

End Sub

最佳答案

详细说明 Matteo NNZ 的上述评论:
ThisWorkbook指当前正在执行代码的工作簿(在本例中为加载项)
ActiveWorkbook指当前在同一个 Excel 实例中事件的工作簿。

关于vba - Excel 加载项将文件名更改为加载项的名称,尽管它不应该,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29666867/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com