Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1496to1500
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Druckmakro hängt

Druckmakro hängt
14.06.2016 13:12:41
silex1
Hallo,
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é

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Druckmakro hängt
15.06.2016 21:56:20
silex1
Hab die Antwort nun selber gefunden.
"Projekt oder Bibliothek nicht gefunden" war dann die richtigere Fehlermeldung.
Der Fehler war, dass ich in meiner Datei, in den "Verweisen" auf "Outlook xx Object Library" verwiesen habe und auf dem Rechner dies nicht vorhanden war. Haken raus und es funktioniert wieder! *freu*
Warum aber dieser Verweis abgefragt wird, obwohl das Makro nichts damit zu tun hat, bleibt wohl MS überlassen oder es werden erst die Verweise abgearbeitet und dann sich um das Makro gekümmert.
Ich weiß es nicht, bin aber froh, den Fehler gefunden zu haben!
VG
René
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige