Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: hoppelhase am Juli 31, 2012, 14:19:43

Titel: Übergabe akt. Datensatz an Word
Beitrag von: hoppelhase am Juli 31, 2012, 14:19:43
Hallo,

ich habe eine Access-Datenbank mit einem Formular. Darin ist ein Button, der Word startet und dort in einem Serienbrief die aktuellen Felder des Datensatzes übergibt. Dort wird dann ein fertiges Schreiben angezeigt.
Nach der Umstellung auf Access2010 kommt eine Fehlermeldung, wenn ich diesen Botton drücke:

Laufzeitfehler 424
Objekt erforderlich. Beim debuggen bleibt die Markierung stehen bei "Set worddoc..."

Ich zahle 10 Euro für den Hinweis, der das Problem behebt!
Danke.

Hier die Ereignisprozedur:
-----------------------------------------------------------------------------------
Private Sub Bescheid_drucken_Click()

Dim wordobj As Object, worddoc As Object
Dim VORLAGE As String
        Set wordobj = CreateObject("Word.Application")
            VORLAGE = aktVerz() & "\Bescheid.dot"
                           
        Set worddoc = wordobj.Documents.Add(Template:=VORLAGE)
            worddoc.Bookmarks("Gebühr").Range = Me!Gebühr & ""
            worddoc.Bookmarks("UR").Range = Me!UR & ""
            worddoc.Bookmarks("Vertragsdatum").Range = Me!Vertragsdatum & ""
            worddoc.Bookmarks("Käufername").Range = Me!Käufername & ""
            worddoc.Bookmarks("Käuferstraße").Range = Me!Käuferstraße & ""
            worddoc.Bookmarks("Käuferort").Range = Me!Käuferort & ""
            worddoc.Bookmarks("Käuferanrede").Range = Me!Käuferanrede & ""
            worddoc.Bookmarks("Käuferanrede2").Range = Me!Käuferanrede2 & ""
            worddoc.Bookmarks("KZ").Range = Me!KZ & ""
            worddoc.Bookmarks("fällig").Range = Me!fällig & ""
                       
           
        worddoc.Parent.ChangeFileOpenDirectory aktVerz
               
        wordobj.Visible = True
        Set worddoc = Nothing
        Set wordobj = Nothing
End Sub
-----------------------------------------------------------------------------------


Titel: Re: Übergabe akt. Datensatz an Word
Beitrag von: DF6GL am Juli 31, 2012, 15:30:47
Hallo,

nur 10 €   :o ??? ;)


Ist Word2010 (richtig) installiert und registriert?

Sind  für Access und Word die vertrauenswürdigen Speicherorte definiert?

Sind im Sicherheitscenter/Einstellungen für Makros/alle Makros aktivieren bzw. Zugriff auf das VBA-Projekt ...    aktiviert?
Titel: Re: Übergabe akt. Datensatz an Word
Beitrag von: hoppelhase am August 01, 2012, 12:44:36
Hallo,

meine EDV sagt, alle 3 Punkte seien ok.

Ich zahle auch 50 Euro.

Gruß
hppelhase
Titel: Re: Übergabe akt. Datensatz an Word
Beitrag von: DF6GL am August 01, 2012, 13:14:07
Hallo,

sagen kann die viel, hat die das auch mal überprüft?


Irgendwo in diesem Umfeld muss der Fehler liegen...    Der Code an sich funktioniert (Word-Aufruf) ....

PS:  Die Verzeichnis-/Datei--Zugriffsrechtevergabe hab ich noch nicht (explizit) angesprochen.  Dises Einstellungen sollten auch mal genau untersucht werden.
Titel: Re: Übergabe akt. Datensatz an Word
Beitrag von: hoppelhase am August 02, 2012, 19:03:19
Hallo,

das Problem ist gelöst. Der neue PC war zu schnell und die Prozedur hat zu schnell weitr machen wollen.
Es wurde eine Schleife eingebaut und nun geht es.

Da muss man erst mal drauf kommen.

Kleines Problem noch: Word wird nun schön gestartet, bleibt aber im HIntergrund.
Man muss also Alt+Tab machen oder mit der Maus Word nach vorne holen.
Gibts ein Befehlchen, welches das erledigt?

- da zahl ich aber nix,  ich muss schon meinem Kollegen, der das Problem gelöst hat, was zahlen...-

Gruß
hoppelhase



Private Sub Bescheid_drucken_Click()

Dim wordobj As Object, worddoc As Object
Dim VORLAGE As String
        Set wordobj = CreateObject("Word.Application")
            VORLAGE = aktVerz() & "\Bescheid.dot"
                           
            For i = 1 To 500000
            Next
            DoCmd.Beep
                           
        Set worddoc = wordobj.Documents.Add(Template:=VORLAGE)
            worddoc.Bookmarks("Gebühr").Range = Me!Gebühr & ""
            worddoc.Bookmarks("UR").Range = Me!UR & ""
            worddoc.Bookmarks("Vertragsdatum").Range = Me!Vertragsdatum & ""
            worddoc.Bookmarks("Käufername").Range = Me!Käufername & ""
            worddoc.Bookmarks("Käuferstraße").Range = Me!Käuferstraße & ""
            worddoc.Bookmarks("Käuferort").Range = Me!Käuferort & ""
            worddoc.Bookmarks("Käuferanrede").Range = Me!Käuferanrede & ""
            worddoc.Bookmarks("Käuferanrede2").Range = Me!Käuferanrede2 & ""
            worddoc.Bookmarks("KZ").Range = Me!KZ & ""
            worddoc.Bookmarks("fällig").Range = Me!fällig & ""
                       
           
        worddoc.Parent.ChangeFileOpenDirectory aktVerz
               
        wordobj.Visible = True
        Set worddoc = Nothing
        Set wordobj = Nothing
End Sub
Titel: Re: Übergabe akt. Datensatz an Word
Beitrag von: Beaker s.a. am August 02, 2012, 23:16:55
Hallo hoppelhase,
ZitatFor i = 1 To 500000
Next
Ein einfaches DoEvents sollte eigentlich genügen.
gruss ekkehard
Titel: Re: Übergabe akt. Datensatz an Word
Beitrag von: bahasu am August 03, 2012, 08:07:21
Hallo Hoppelhase,

Zitat von: hoppelhase am August 02, 2012, 19:03:19
Man muss also Alt+Tab machen oder mit der Maus Word nach vorne holen.
Gibts ein Befehlchen, welches das erledigt?

   AppActivate "Microsoft Word"


Zitat von: hoppelhase am August 02, 2012, 19:03:19
- da zahl ich aber nix,  ich muss schon meinem Kollegen, der das Problem gelöst hat, was zahlen...-

Dieser Beitrag war kostenlos, aber hoffentlich nicht umsonst.

Harald
Titel: Re: Übergabe akt. Datensatz an Word
Beitrag von: DF6GL am August 03, 2012, 08:43:56
Hallo,


"Der neue PC war zu schnell und die Prozedur hat zu schnell weitr machen wollen."


halte ich für eine obskure Fehlererklärung...    :o
Titel: Re: Übergabe akt. Datensatz an Word
Beitrag von: database am August 05, 2012, 09:41:19
Hallo,

:D ;D :o
ZitatDer neue PC war zu schnell...

So eine Kiste hätt' ich auch gerne!  ::)
Titel: Re: Übergabe akt. Datensatz an Word
Beitrag von: hoppelhase am August 06, 2012, 20:24:45
@bahasu

Hallo,

leider schaff ich das mit dem Appactivate-Befehl nicht. Es kommt eine Fehlermeldung.
Kannst Du mir die richtige Anweisung in meine Prozedur einbauen?
danke.
Titel: Re: Übergabe akt. Datensatz an Word
Beitrag von: bahasu am August 06, 2012, 21:07:03
Zitat von: hoppelhase am August 06, 2012, 20:24:45
Es kommt eine Fehlermeldung.

Hi,

wie lautet die Meldung?

Im einfachsten fall liegt es daran, dass der Name in "..." falsch war.
Im schlimmeren Fall muss wohl mehr als ein Einzeiler her.

Harald
Titel: Re: Übergabe akt. Datensatz an Word
Beitrag von: hoppelhase am August 08, 2012, 14:58:58
Laufzeitfehler 5
Ungültiger Prozeduraufruf oder ungültiges Argument

So hab ichs eingefügt (zimlich am Ende):



Dim VORLAGE As String
        Set wordobj = CreateObject("Word.Application")
            VORLAGE = aktVerz() & "\Bescheid.dot"
                           
            For i = 1 To 5000000
            Next
            DoCmd.Beep
                           
        Set worddoc = wordobj.Documents.Add(Template:=VORLAGE)
            worddoc.Bookmarks("Gebühr").Range = Me!Gebühr & ""
            worddoc.Bookmarks("UR").Range = Me!UR & ""
            worddoc.Bookmarks("Vertragsdatum").Range = Me!Vertragsdatum & ""
            worddoc.Bookmarks("Käufername").Range = Me!Käufername & ""
            worddoc.Bookmarks("Käuferstraße").Range = Me!Käuferstraße & ""
            worddoc.Bookmarks("Käuferort").Range = Me!Käuferort & ""
            worddoc.Bookmarks("Käuferanrede").Range = Me!Käuferanrede & ""
            worddoc.Bookmarks("Käuferanrede2").Range = Me!Käuferanrede2 & ""
            worddoc.Bookmarks("KZ").Range = Me!KZ & ""
            worddoc.Bookmarks("fällig").Range = Me!fällig & ""
                       
           
        worddoc.Parent.ChangeFileOpenDirectory aktVerz
               
        wordobj.Visible = True
        Set worddoc = Nothing
        Set wordobj = Nothing
       
        AppActivate "Microsoft Word"
       
End Sub
Titel: Re: Übergabe akt. Datensatz an Word
Beitrag von: hoppelhase am August 08, 2012, 15:06:52
Hallo,
Problem ist gelöst . ich habe

AppActivate "Word"

verwendet, dann gings (also ohne "Microsoft").

Danke an alle.