Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1780to1784
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

Makro Fehler

Makro Fehler
14.09.2020 10:54:30
Julian
Sehr geehrte Damen und Herren,
ich hoffe das Sie mir weiterhelfen können.
Ich arbeite innerhalb unserer Behörde mit einer Personenbezogenen Datenbank welche in Excel eine Personenerfassung durchführt und dann später mittels vieler Makros automatisch diese Daten in verschiedene Word Dateien einpflegt und diese ausdruckt.
Das vereinfacht mir seit Monaten sehr die Arbeit. Leider hat irgend ein innerbehördliches Update dazu geführt das Makros fehlerhaft sind bzw. fehlten. Da mein Vorgänger diese Makros geschrieben hat, bin ich jetzt komplett überfordert.
Sollte ich die Makros nicht mehr zum laufen kriegen, wird eine Nebentätigkeit welche nur 5 Minuten gedauert hat jetzt zu einer sehr sehr langwierigen Geschichte.
Ich habe leider keine Ahnung von der Materie, also bitte sehen Sie es mir nach wenn ich mich da sehr laienhaft anstelle.
Ich werde aufgrund von Datenschutz, Namen von Formularen bzw Netzwerkadressen mit XXXX abändern.
Erklärung:
Ich versuche folgendes Makro abzuspielen.

Sub Druck_Aller_Unterlagen()
Sheets("Deckblatt").Select
ActiveWindow.SmallScroll Down:=-15
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Sheets("Unterlagen").Select
ActiveWindow.SmallScroll Down:=-18
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Sheets("SÜ").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
ActiveWorkbook.Save
Sheets("Datenblatt").Select
Range("D3:H3").Select
CreateObject("Word.application").Documents.Open("I:XXXXXXXX\TE 122_ZE FD 2.1\FD 2.1 - Ausweise\  _
Sonder-und Waffenausweise\Formulare\TEST\5_UZwGBw_TEST.docx").Application.Visible = True
Set wordbasic = GetObject("I:\xxxxxxxxxxTE 122_ZE FD 2.1\FD 2.1 - Ausweise\ _
Sonder-und Waffenausweise\Formulare\TEST\5_UZwGBw_TEST.docx")
Set wb = wordbasic.Parent
wb.Run "UZwGBwDruck"      
Set wordbasic = Nothing
Set wb = Nothing
CreateObject("Word.application").Documents.Open("I:\XXXXXXXX\TE 122_ZE FD 2.1\FD 2.1 - Ausweise\ _
_
_Sonder-und Waffenausweise\Formulare\TEST\3_Herr_Niederschrift_foermliche_Verpflichtung_TEST.  _
_
docx").Application.Visible = True
Set wordbasic = GetObject("I:\XXXXXXXXTE 122_ZE FD 2.1\FD 2.1 - Ausweise\Sonder-und  _
Waffenausweise\Formulare\TEST\3_Herr_Niederschrift_foermliche_Verpflichtung_TEST.docx")
Set wb = wordbasic.Parent
wb.Run "Anlage3DruckHerr"
Set wordbasic = Nothing
Set wb = Nothing
CreateObject("Word.application").Documents.Open("I:\IUD\BwDLZKiel\InnereDienste\TE 122_ZE FD 2.  _
_
_
_
_
_
_
_
_
1\FD 2.1 - Ausweise\Sonder-und Waffenausweise\Formulare\TEST\4_Erklärung über die allgemeine  _
Sicherheitsbelehrung_TEST.docx").Application.Visible = True
Set wordbasic = GetObject("I:\XXXXXXXXX\TE 122_ZE FD 2.1\FD 2.1 - Ausweise\Sonder-und  _
Waffenausweise\Formulare\TEST\4_Erklärung über die allgemeine Sicherheitsbelehrung_TEST.docx")
Set wb = wordbasic.Parent
wb.Run "Anlage4DruckNeu"
Set wordbasic = Nothing
Set wb = Nothing
CreateObject("Word.application").Documents.Open("I:\IUD\XXXXXXXX\TE 122_ZE FD 2.1\FD 2.1 -  _
Ausweise\Sonder-und Waffenausweise\Formulare\TEST\1_Empfangsbestätigung für einen  _
Dienstausweis_TEST.docx").Application.Visible = True
Set wordbasic = GetObject("I:\IUD\XXXXXXXXXx\TE 122_ZE FD 2.1\FD 2.1 - Ausweise\Sonder-und  _
Waffenausweise\Formulare\TEST\1_Empfangsbestätigung für einen Dienstausweis_TEST.docx")
Set wb = wordbasic.Parent
wb.Run "EmpfangAusweisDruck"
CreateObject("Word.application").Documents.Open("I:\IUD\XXXXXXXXX\TE 122_ZE FD 2.1\FD 2.1 -  _
Ausweise\Sonder-und Waffenausweise\Formulare\TEST\2_Anlage_A_8.docx").Application.Visible =  _
True
Set wordbasic = GetObject("I:\IUD\XXXXXXXXTE 122_ZE FD 2.1\FD 2.1 - Ausweise\Sonder-und  _
Waffenausweise\Formulare\TEST\2_Anlage_A_8.docx")
Set wb = wordbasic.Parent
wb.Run "Anlage8A"
Set wordbasic = Nothing
Set wb = Nothing
Range("K37").Select
ActiveCell.FormulaR1C1 = "FALSE"
Range("K39").Select
ActiveCell.FormulaR1C1 = "FALSE"
Range("K41").Select
ActiveCell.FormulaR1C1 = "FALSE"
Range("K43").Select
ActiveCell.FormulaR1C1 = "FALSE"
Range("K45").Select
ActiveCell.FormulaR1C1 = "FALSE"
Range("K47").Select
ActiveCell.FormulaR1C1 = "FALSE"
Range("K49").Select
ActiveCell.FormulaR1C1 = "FALSE"
Range("K51").Select
ActiveCell.FormulaR1C1 = "FALSE"
Range("J55").Select
ActiveCell.FormulaR1C1 = "FALSE"
Range("D3:H3").Select
Selection.ClearContents
Set wordbasic = Nothing
Set wb = Nothing
End Sub

Ich erhalte folgende Meldung Laufzeitfehler: -2147352573 (80020003)
Der Fehler im Quellcode wurde von mir schwarz darsgestellt.
Nach meiner Interpretation sagt er mir das der Quellpfad des Makro UZwGBwDruck falsch sei.
Dieser Fehler tritt bei mehreren Druck Makros auf.
Hier die Quelltexte der Makros:

Sub UZwGBwDruck()
' UZwGBwDruck Makro
ActivePrinter = "\\P01KIESM02.itbw.itb.local\P01031353P"
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentWithMarkup, Copies:=2, Pages:="", PageType:= _
wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _
PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
ActiveDocument.Close
Application.Quit
End Sub

Sub Anlage3DruckHerr()
'
' Anlage3DruckHerr Makro
'
'
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentWithMarkup, Copies:=2, Pages:="", PageType:= _
wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _
PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
ActiveDocument.Close
Application.Quit
End Sub

Sub Anlage4DruckNeu()
'
' Anlage4DruckNeu Makro
'
ActivePrinter = "\\P01KIESM02.itbw.itb.local\P01031353P"
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentWithMarkup, Copies:=2, Pages:="", PageType:= _
wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _
PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
ActiveDocument.Close
Application.Quit
End Sub

Sub EmpfangAusweisDruck()
'
' EmpfangAusweisDruck Makro
'
'
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentWithMarkup, Copies:=2, Pages:="", PageType:= _
wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _
PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
ActiveDocument.Close
Application.Quit
End Sub


Sub Anlage8A()
'
' Anlage8A Makro
'
'
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentWithMarkup, Copies:=2, Pages:="", PageType:= _
wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _
PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
ActiveDocument.Close
Application.Quit
End Sub


Sub DruckAusgeblendetEinAus()
On Error Resume Next
If Options.PrintHiddenText = False Then
If MsgBox("Verfügung nutzen?", vbYesNo) = vbYes Then
Options.PrintHiddenText = True
End If
Else
If MsgBox("Anschreiben nutzen?", vbYesNo) = vbYes Then
Options.PrintHiddenText = False
End If
End If
End Sub

Da mir zunächst der Drucker als Fehlerquelle gemeldet wurde, habe ich diesen aktualisiert.
Der Neue Quellcode des Makro lautet somit.

Sub UZwGBwDruck()
' UZwGBwDruck Makro
ActivePrinter = "\\P01KIESM02.itbw.itb.local\P01031353P auf Ne07:"
Application.PrintOut Filename:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentWithMarkup, Copies:=2, Pages:="", PageType:= _
wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _
PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0   
ActiveDocument.Close
Application.Quit
End Sub

Ich erhalte nun Laufzeitfehler 438
Objekt unterstützt diese Eigenschaft oder Methode nicht.
Im Debugger erhalte ich nun den gelben Pfeil bei der oben gestellten Position
Wenn ich jetzt versuche einfach diese Position zu entfernen erhalte ich einen "Parameterfehler, Fehler beim Kompilieren".
Ich bin nun wirklich Ratlos was ich machen kann.
Wenn Sie mir dabei helfen können, wäre ich Ihnen sehr verbunden.
Danke im voraus.
Gruß
Julian M

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Fehler
14.09.2020 11:50:36
Nepumuk
Hallo Julian,
teste mal das Makro "Druck_Aller_Unterlagen1". Du musst aber in den Word-Makros diese Zeilen raus nehmen:
    ActiveDocument.Close
Application.Quit
Option Explicit

Public Sub Druck_Aller_Unterlagen()
    
    Dim objWord As Object
    
    Worksheets("Deckblatt").PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
    Worksheets("Unterlagen").PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
    Worksheets("SÜ").PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
    
    Set objWord = CreateObject("Word.application")
    objWord.Visible = True
    
    objWord.Documents.Open ("I:XXXXXXXX\TE 122_ZE FD 2.1\FD 2.1 - Ausweise\" & _
        "Sonder-und Waffenausweise\Formulare\TEST\5_UZwGBw_TEST.docx")
    objWord.Run "UZwGBwDruck"
    objWord.ActiveDocument.Close False
    
    objWord.Documents.Open ("I:\XXXXXXXX\TE 122_ZE FD 2.1\FD 2.1 - Ausweise\" & _
        "Sonder-und Waffenausweise\Formulare\TEST\3_Herr_Niederschrift_foermliche_Verpflichtung_TEST.docx ")
    objWord.Run "Anlage3DruckHerr"
    objWord.ActiveDocument.Close False
    
    objWord.Documents.Open ("I:\IUD\BwDLZKiel\InnereDienste\TE 122_ZE FD 2.1\FD 2.1 - Ausweise\" & _
        "Sonder-und Waffenausweise\Formulare\TEST\4_Erklärung über die allgemeine Sicherheitsbelehrung_TEST.docx")
    objWord.Run "Anlage4DruckNeu"
    objWord.ActiveDocument.Close False
    
    objWord.Documents.Open ("I:\IUD\XXXXXXXX\TE 122_ZE FD 2.1\FD 2.1 - Ausweise\" & _
        "Sonder-und Waffenausweise\Formulare\TEST\1_Empfangsbestätigung für einen Dienstausweis_TEST.docx")
    objWord.Run "EmpfangAusweisDruck"
    objWord.ActiveDocument.Close False
    
    objWord.Documents.Open ("I:\IUD\XXXXXXXXX\TE 122_ZE FD 2.1\FD 2.1 - Ausweise\" & _
        "Sonder-und Waffenausweise\Formulare\TEST\2_Anlage_A_8.docx")
    objWord.Run "Anlage8A"
    objWord.ActiveDocument.Close False
    
    objWord.Quit
    Set objWord = Nothing
    
    With Worksheets("Datenblatt")
        Range("K37").Value = False
        Range("K39").Value = False
        Range("K41").Value = False
        Range("K43").Value = False
        Range("K45").Value = False
        Range("K47").Value = False
        Range("K49").Value = False
        Range("K51").Value = False
        Range("J55").Value = False
        Range("D3:H3").ClearContents
    End With
    
    ThisWorkbook.Save
    
End Sub

Zu deinem Word-Fehler kann ich nichts sagen, dazu kenne ich mich darin nicht aus. Frag in einem Word-Forum. Z.B. Hier
http://www.office-loesung.de/p/viewforum.php?f=162
Gruß
Nepumuk
Anzeige
AW: Makro Fehler
14.09.2020 11:52:50
Nepumuk
Ooooops,
da fehlen noch die Bezugspunkte. Bitte korrigieren:
With Worksheets("Datenblatt")
    .Range("K37").Value = False
    .Range("K39").Value = False
    .Range("K41").Value = False
    .Range("K43").Value = False
    .Range("K45").Value = False
    .Range("K47").Value = False
    .Range("K49").Value = False
    .Range("K51").Value = False
    .Range("J55").Value = False
    .Range("D3:H3").ClearContents
End With

Gruß
Nepumuk
Anzeige
AW: Makro Fehler
14.09.2020 12:02:23
Julian
Ich werde es gleich mal testen.
Was ich eben vergessen habe mitzuteilen ist, das er alle Unterlagen aufruft, er füllt diese auch aus und überträgt die Daten.
Der Vorgang des Druckens wird aber nicht eingeleitet. Das ist das eigentliche Problem.
Kann es sein das der Quellcode des Vorgangs sich geändert hat?
Letzte Woche hatte das noch wunderbar funktioniert.
AW: Makro Fehler
14.09.2020 12:09:22
Nepumuk
Hallo Julian,
kann ich nicht sagen. Mit meiner Testdatei funktioniert es unter Office 2013.
Gruß
Nepumuk
was war denn das für ein update?
14.09.2020 13:27:02
ralf_b
evtl. Druckertreiber?
AW: Makro Fehler
14.09.2020 16:55:40
Frank
Hallo Julian,
möglicherweise heißt der Drucker inzwischen anders als bei ActivePrinter angegeben.
Viele Grüße
Frank
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige