You can list the worksheet names in a new sheet and then
print the list from there:
Sub ListWSNames()
Dim sh As Worksheet
Dim i As Long
With ActiveWorkbook
.Worksheets(1).Select
Set sh = .Worksheets.Add
End With
With sh
For i = 2 To ActiveWorkbook.Worksheets.Count
.Cells(i, "A").Value = Worksheets(i).Name
Next i
.Cells(1, "A").Value = "Sheet " & _
"Names (excl. this one)"
End With
Range("A:A").EntireColumn.AutoFit
End Sub