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

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

该加载项只是简单地将打印区域保存在活动工作表中作为PDF文件与工作簿相同的名称,它将PDF保存到桌面,并作为macros工作正常。

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

有什么build议么?

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的评论:

这个工作簿是指当前正在执行代码的工作簿(在这种情况下是插件)

ActiveWorkbook引用在Excel的同一个实例中当前处于活动状态的工作簿。