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
-----------------------------------------------------------------------------------
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?
Hallo,
meine EDV sagt, alle 3 Punkte seien ok.
Ich zahle auch 50 Euro.
Gruß
hppelhase
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.
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
Hallo hoppelhase,
ZitatFor i = 1 To 500000
Next
Ein einfaches
DoEvents
sollte eigentlich genügen.
gruss ekkehard
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
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
Hallo,
:D ;D :o
ZitatDer neue PC war zu schnell...
So eine Kiste hätt' ich auch gerne! ::)
@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.
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
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
Hallo,
Problem ist gelöst . ich habe
AppActivate "Word"
verwendet, dann gings (also ohne "Microsoft").
Danke an alle.