こんなでどうでしょうか。 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If InStrRev(ThisWorkbook.Name, ".") <> 0 Then ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Left(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") - 1) End If End Sub BeforSave(保存する前)のため、一度も保存したことが無い時はファイル名と保存先が確定されていないので保存しません。 また、名前を付けて保存をする場合は、古い名前で保存するので、もう一度保存してください。 例えば、"C:\test1.xlsm"を