|  
                                             
	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!! 
     |