Thema Datum  Von Nutzer Rating
Antwort
Rot Laufzeitfehler 509 und 5941 und 4605 in einem Makro "Briefvorlage"
13.05.2015 11:23:29 JuLuBo
NotSolved

Ansicht des Beitrags:
Von:
JuLuBo
Datum:
13.05.2015 11:23:29
Views:
4986
Rating: Antwort:
  Ja
Thema:
Laufzeitfehler 509 und 5941 und 4605 in einem Makro "Briefvorlage"

Hallo zusammen,

ich quäle mich schon viel zu lange an folgendem Problem ab:

In eine Word-Briefvorlage sollen per Makro noch Dinge wie spezifische vom User einzugebende Kundennummer, Logo und Fußzeile eingefügt werden. Die Briefvorlage ist schreibgeschützt, es gibt also lediglich Schreibfelder in die der User noch Werte eintragen kann.

Leider bekomme ich jedoch immer Laufzeitfehler. Beim Einfügen des Logos kommt folgende Fehlermeldung:

Laufzeitfehler 509: Der ViewHeaderOnly Befehl ist nicht verfügbar, weil dieser Befehl für den Lesemodus nicht zur Verfügung steht.

Der entsprechende Code ist:

Sub copylogo()
If ActiveDocument.ProtectionType <> wdNoProtection Then ActiveDocument.Unprotect

UserForm1.Hide

Documents.Open "G:\03_Textverarbeitung\Briefe - 2012\Logo.docx"
WordBasic.viewheaderonly
Selection.WholeStory
Selection.Copy
ThisDocument.Activate
WordBasic.viewheaderonly
Selection.Paste
ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
Windows("Logo.docx").Close

End Sub


Dies ist Modul 2 in dem Projekt. Wenn ich ein On Error Resume Next an den Anfang stelle, kommt diese Fehlermeldung nicht mehr aber dafür bleibt am Ende das Dokument Logo.docx geöffnet, d.h. der .Close Befehl wird ignoriert. (Dort kam zuvor ansonsten folgender Fehler: "Laufzeitfehler 5941: Das angeforderte Element ist nicht in der Sammlung vorhanden.")

Bei anderen zuvor durchzuführenden Arbeitsschritten des Codes (In Modul 1) (Einfügen der Kundennummer o.ä.) kommt ebenfalls eine Fehlermeldung, nämlich:
Laufzeitfehler 4605: Die OpenDataSource-Methode oder -Eigenschaft ist nicht verfügbar, weil dieser Befehl für den Lesemodus nicht zur Verfügung steht.

Der entsprechende Code hierzu ist:

Sub test2(plz As Double)
If ActiveDocument.ProtectionType <> wdNoProtection Then ActiveDocument.Unprotect


[b]ActiveDocument.MailMerge.OpenDataSource _
Name:="(....) 9999_Kundenstamm_für_Brieferstellung.xls", _
Format:=wdOpenFormatAuto, _
AddToRecentFiles:=False, _
ConfirmConversions:=False, _
LinkToSource:=True, _
Revert:=False, _
Connection:="Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=C:\Test.xls;[u]Mode=Read;Extended Properties=""HDR=YES;[/u]IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLED", _
SQLStatement:="SELECT * FROM `Tabelle1$` Where KUNR = " & plz, _
SQLStatement1:="", _
SubType:=wdMergeSubTypeAccess[/b]

UserForm1.Hide

WordBasic.viewfooteronly
Selection.WholeStory
Selection.Delete

    Documents.Open FileName:= _
        "G:\03_Textverarbeitung\Briefe - 2012\99_Fußzeile.docm", _
        ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
        PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
        WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
        wdOpenFormatAuto, XMLTransform:=""
    Selection.WholeStory
    Selection.Copy
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
    ThisDocument.Activate
    Selection.Paste
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
    Windows("99_Fußzeile.docm").Close

Selection.WholeStory
Selection.Fields.Locked = True

If ActiveDocument.ProtectionType = wdNoProtection Then
   ActiveDocument.Protect wdAllowOnlyFormFields
   
End If


End Sub


Beim Debuggen wird der gesamte erste Zeilenblock (hier fett markiert) markiert. Ich konnte den Fehler vermeiden, indem ich den Code-Teil "Mode=Read;Extended Properties=""HDR=YES;" rausgenommen habe, weiß aber nicht, ob das negative Auswirkungen hat????!!!


Ich wäre froh, über jegliche Hilfe bezüglich all dieser Laufzeitfehler. Anmerkung: Es gibt die Vermutung, dass all dies mit der Verwendung unterschiedlicher Office Versionen in der Firma zu tun hat. Ist das möglich und wie kann man Fehler die dadurch entstehen verhindern?

Besten Dank schon jetzt für eure Hilfe!!


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Laufzeitfehler 509 und 5941 und 4605 in einem Makro "Briefvorlage"
13.05.2015 11:23:29 JuLuBo
NotSolved