accuser
Goto Top

Fehler 5174 beim Öffnen eines Worddokuments aus Access

Hallo,

ich versuche seit 3 Tagen eine Front- und BackendDatenbank, die momentan erfolgreich unter Windows 7/Access 2010 (Dateiformat .mdb) läuft, auf einen Terminalserver (W2008 R2 Enterprise/Access 2010) läuffähig und komme bei obengenannter Fehlermeldung nicht weiter.

Die Frontenddatenbank liegt in einen Userhomeverzeichnis und die backenddatenbank auf einen Netzlaufwerk.

Beim Klick auf einem Button wird mittels einer Abfrage automatisch ein Worddokument generiert, indem die erforderlichen Felder des jeweiligen Datensatzes übertragen werden.

Nun ist es hier so, dass beim Klick auf den Button folgende Fehlermeldung erscheint:

"Fehler in Wordkommunikation, 5174 Diese Datei wurde nicht gefunden"

Die Datei befindet sich allerdings im vorgegebenen Pfad und lässt sich auch ohne Probleme manuell öffnen.

Word startet im Hintergrund auch, allerdings nicht mit dem aktuellen Datensatz, sondern immer mit allen.

Hier der entsprechende Code:

Public Function fctWdSerienBrief(strGrundlage As String, strDateiName As String, _
    strDokVorlage As String, strSteuerDatei As String) As String
Dim oApp As Word.Application
Dim clsSi As New clsSysInfo
Dim strDokSavePfad$ 'Standard-Speicherpfad für das Dokument  
'Dim strSteuerDatei$ 'Name der Dummy-Steuerdatei  
Dim strAktiv$ 'um das aktive Dokument (Serienbrief) anzusteuern  
Dim strVorlage$ 'um die Serienbrief-Vorlage anzusteuern  

'Export in eine Textdatei  
DoCmd.TransferText acExportDelim, "test", "Steuerdatei", "W:\test\test\Dokumente\test.txt", True  
    
On Error Resume Next
'Schauen, ob Word bereits läuft  
Set oApp = GetObject(, "Word.Application")  
    If Err.Number <> 0 Then 'Word läuft nicht  
        Err.Clear   ' Err-Objekt löschen  
        'Neue Instanz von Word aufrufen  
      Set oApp = CreateObject("Word.Application")  
    End If

On Error GoTo Err_fctWdSerienBrief
With oApp
'Sichtbar schalten und aktivieren  
    .Visible = True
    .Activate
' Vorlage als Dokument öffnen  
    .Documents.Add Template:=strDokVorlage
'Name der aktiven Vorlage zwischenspeichern  
    strVorlage = .ActiveDocument.NAME
End With


With oApp.ActiveDocument.MailMerge
'Serienbrieffelder verbinden und in neues, ungebundenes Dokument ausgeben  
    .OpenDataSource NAME:=strSteuerDatei, LinktoSource:=True
    .Execute
End With

'Namen des aktiven Dokuments der Variablen zuweisen  
strAktiv = oApp.ActiveDocument.NAME

'Die Serienbrief-Vorlage schließen  
oApp.Documents(strVorlage).Close (wdDoNotSaveChanges)

'Speicherpfad des Dokuments ermitteln  
strDokSavePfad = "W:\test\test\Dokumente"  

'Serienbrief-Dokument verarbeiten  
With oApp.Documents(strAktiv)
    .SaveAs FileName:=strDokSavePfad & "\" & strDateiName  
    If .Saved Then
        oApp.RecentFiles.Add .FullName
    End If
    .Activate
'    .Close  
End With

Set oApp = Nothing
fctWdSerienBrief = strDokSavePfad & "\" & strDateiName  

Exit Function

Err_fctWdSerienBrief:
    Set oApp = Nothing
    MsgBox Err.Number & " " & Err.Description, vbCritical, "Fehler in Word-Kommunikation"  
    fctWdSerienBrief = vbNullString
    Exit Function
    
End Function

Vielleicht kann mir ja hier jemand helfen

Gruß
accuser

Content-Key: 277528

Url: https://administrator.de/contentid/277528

Printed on: April 19, 2024 at 16:04 o'clock