In einer Accessdatenbank verwenden wir das die Office-Objekt-Modelle von Word, Excel und Outlook. Die Datenbank funktioniert und Windows 2000 Professional auch ohne Probleme
Wir versuchen nun diese Datenbank in einer Terminalserver-Umgebung zum laufen zu bringen. Dazu muss das Office 2000 ja im ORK installiert werden. Das hat auch geklappt. Wenn die Datenbank jetzt ausgeführt wird, funktionieren alle Office Modelle bis auf das msword9.olb.
Wenn ich nun die Datenbank debugge findet er das Objekt, und der Verwies ist ordnungsgemäss erstellt.
Auch die Objekterstellung im Code funktioniert.
Aber sobald ich eine Funktion des Word Objekts verwende, meldet mir Access ein Automatisierungsfehler.
Ich poste noch die besagte Code stelle die Nicht funktioniert:
Dim appWd As Word.Application '
' Objekt für Word
Dim WordDoc As Word.Document '
' Objekt für Dokument
Set appWd = New Word.Application ' Word Anwendung dem Objekt
' zuweisen
If Err.Number <> 0 Then ' Wenn
' Word nicht läuft
Err.Clear ' Clear Err
' object in case error occurred.
Set appWd = New Word.Application ' Neue Instanz für Word
' öffnen
Else
appWd.Activate ' Bestehende
' Word Instanz aktivieren
End If
With appWd ' With für
' Word Objekt
.Documents.Add Template:=Chr(34) & strRet & Chr(34) ' Vorlage als Dokument
' öffnen
.ActiveDocument.Content.Find.Execute FindText:="{Firma_Anrede}", _
ReplaceWith:=Form_KUNDE.Kundenname, Replace:=wdReplaceAll
.ActiveDocument.Content.Find.Execute FindText:="{Person}", _
ReplaceWith:=Me.Sachbearbeiter_Nr.Column(2), Replace:=wdReplaceAll
.ActiveDocument.Content.Find.Execute FindText:="{Strasse}", ReplaceWith:=IIf( _
IsNull(Form_KUNDE.Strasse), Form_KUNDE.Postfach, Form_KUNDE.Strasse), _
Replace:=wdReplaceAll
.ActiveDocument.Content.Find.Execute FindText:="{Ort}", _
ReplaceWith:=Form_KUNDE.PLZ_Ort_Nr.Column(1), Replace:=wdReplaceAll
.ActiveDocument.Content.Find.Execute FindText:="{Briefdatum}", _
ReplaceWith:=Format(Me.Ausführungsdatum, "d. mmmm yyyy"), Replace:=wdReplaceAll
.ActiveDocument.Content.Find.Execute FindText:="{Briefanrede}", _
ReplaceWith:=Me.Sachbearbeiter_Nr.Column(1), Replace:=wdReplaceAll
.ActiveDocument.Content.Find.Execute FindText:="{Text}", _
ReplaceWith:=Me.Information, Replace:=wdReplaceAll
.ActiveDocument.Content.Find.Execute FindText:="{Absendeperson}", _
ReplaceWith:=Me.Arbeitsvertrag_Nr.Column(1), Replace:=wdReplaceAll
.ActiveDocument.SaveAs Chr(34) & strDokumentDatenort & strDokumentname & Chr( _
34) ' Dokument sichern
.Quit
End With
Set appWd = Nothing 'Word Objekt löschen Ich wäre sehr froh um hilfreiche Tipps!
Gruss André Keller |