Druckmakro hängt
14.06.2016 13:12:41
silex1
habe hier im Forum ein Druckmakro von fcs (Franz) gefunden, welches auch funktioniert. Bsp. Datei unter https://www.herber.de/bbs/user/106223.xlsm (da ich den alten Beitrag leider nicht wieder finde...)
Dieses Makro hab ich in meine Datei eingebaut (in ein Modul und Bereiche nur angepasst) und es lief. Bis gestern!
Die Fehlermeldung lautet "Objekt nicht gefunden" und es wird die fett markierte Zeile angemeckert.
varFilename = Left(varFilename, InStrRev(varFilename, ".") - 1)
Sub prcMakePDF()
Dim wksControl As Worksheet
Dim arrSheets() As String, intS As Integer
Dim objShape As Shape, intShape As Integer
Dim varFilename
'Tabellenblatt mit Checkboxen und Schalfläche setzen
Set wksControl = ActiveWorkbook.Sheets(1)
'Prüfen welche Checkboxen gesetzt sind zugehörige Blattnamen in Array sammeln
For Each objShape In wksControl.Shapes
If objShape.Type = msoFormControl Then
If objShape.FormControlType = xlCheckBox Then
'Prüfen, ob die linke obere Zelle der Checkbox rechts des Zellbereichs mit _
den Blattnamen plaziert ist
If Not Intersect(wksControl.Range("B38:B45"), _
objShape.TopLeftCell.Offset(0, -7)) Is Nothing Then
'prüfen, ob Checkbox markiert ist
If objShape.ControlFormat.Value = 1 Then
intS = intS + 1
ReDim Preserve arrSheets(1 To intS)
'Zellinhalt in Zelle links von Checkbox als Tabellennamen einlesen
arrSheets(intS) = objShape.TopLeftCell.Offset(0, -7).Text
End If
End If
End If
End If
Next objShape
If intS = 0 Then
MsgBox "Es wurden keine Blätter für die PDF-Ausgabe gewählt."
Else
varFilename = ActiveWorkbook.Name
varFilename = Left(varFilename, InStrRev(varFilename, ".") - 1)
varFilename = varFilename & " " & Format(Now, "YYYY-MM-DD hhmmss") & ".pdf"
varFilename = ActiveWorkbook.Path & "\" & varFilename
varFilename = Application.GetSaveAsFilename(InitialFileName:=varFilename, _
Filefilter:="PDF-Dateien (*.pdf),*.pdf)", _
Title:="Speichern unter - Bitte Namen der PDF-Datei eingeben/auswählen", _
ButtonText:="Speichern unter")
If Not varFilename = False Then
Application.ScreenUpdating = False
ActiveWorkbook.Sheets(arrSheets).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=varFilename, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
End If
wksControl.Select
Application.ScreenUpdating = True
End If
End Sub
Dachte erst, es liegt am Dateiname. Aber dies war nicht die Ursache.Da aber fcs seine Datei immer noch funktioniert (sowohl in XL07 als auch XL10), kann es ja eigentlich nicht am Code liegen.
Hab die Datei nun nochmals in XL10 geöffnet und nun geht es plötzlich wieder.
Was könnte die Ursache sein, warum der Code in meiner Datei (xl07) spinnte/hängte?
VG
René