Thema Datum  Von Nutzer Rating
Antwort
Rot Word 2003 Serienbrief versucht alte Datei zu öffnen
11.06.2013 09:38:53 Oli
Solved
11.06.2013 13:26:05 Oli
Solved

Ansicht des Beitrags:
Von:
Oli
Datum:
11.06.2013 09:38:53
Views:
3267
Rating: Antwort:
 Nein
Thema:
Word 2003 Serienbrief versucht alte Datei zu öffnen

Hallo zusammen,

 

ich habe ein Problem mit einem VBA Makro in Word.

Das WordDokument soll ein Universeller Serienbrief für mehrere Bearbeiter werden. Dementsprechend gibt es verschiedene (user-abhängige) Dateien die er öffnen soll. Das habe ich per If file there realisiert

Grundsätzlich tut er das auch. Allerdings ist ein Problem:

Wenn User1 die Worddatei öffnet und er dierekt die User1 datasource findet ist alles ok- es kommt ein SQL Warning Fenster was man mit Ja bestätigt.

Jetzt löscht User1 seine Datasource und User 2 legt seine rein und öffnet Word. Obwohl die IfAbfrage eigentlich prüfen müsste welche Datasource es öffnen soll erscheint die sql warning mit /file/user1 . Klickt man hier wieder Ja kommt natürlich die Meldung "not found" - klickt man nein macht er die If Abfragen korrekt weiter und öffnet die richtige datei.

 

Warum erscheint die sql warnung (und der versuch zu öffnen) immer mit der datei die als letztes funktioniert hat(das muss nicht die erste sein die im Makro vorkommt sondern ist wirklich die die er als letztes geöffnet hat.? Und wichtiger: Wie kann ich das unterdrücken damit er korrekt nachschaut was er wirklich öffnen soll?

 

 

Hier ist der Code:

Sub SerienbriefeErstellen()
'
'
    With ActiveDocument.MailMerge
        If FileThere("V:\datei\user0.dat") Then
        .OpenDataSource Name:="V:\datei\user0.datt", LinktoSource:=False, AddToRecentFiles:=False
        Else
            If FileThere("V:\datei\user1.dat") Then
            .OpenDataSource Name:="V:\datei\user1.dat", LinktoSource:=False, AddToRecentFiles:=False
            Else
                If FileThere("V:\datei\user2.dat") Then
                .OpenDataSource Name:="V:\datei\user2.dat", LinktoSource:=False, AddToRecentFiles:=False
                Else
                    If FileThere("V:\datei\user3.dat") Then
                    .OpenDataSource Name:="V:\datei\user3.datt", LinktoSource:=False, AddToRecentFiles:=False
                    Else
                        MsgBox "Bitte Quelle ablegen"
                    End If
                End If
            End If
        End If
        .Destination = wdSendToNewDocument
        .SuppressBlankLines = True
        .Execute
    End With
End Sub


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 Word 2003 Serienbrief versucht alte Datei zu öffnen
11.06.2013 09:38:53 Oli
Solved
11.06.2013 13:26:05 Oli
Solved