PDA

Vollständige Version anzeigen : Druck in Word Formular


joe77
24.09.2003, 15:09
Hallo,

habe folgendes Problem: Moechte aus einem Formular heraus die Daten des Formulars in ein Word Formular uebergeben.

Habe mich hier schon umgeschaut und auch einen Code gefunden. Wenn ich jetzt jedoch diesen Code verwende, bekomme ich die Meldung: Compile Error - User defined type not defined.
Bin ein Anfaenger und habe nicht wirklich grosse Ahnung von VB. Kann mir jemand vielleicht kurz den Code erlaeutern?

Hier der Code:

Private Sub print_Click()

Dim wrdApp As New Word.Application
Dim wrdDoc As Word.Document
Dim wrdPositions As Word.Bookmarks

Set wrdDoc = wrdApp.Documents.Add("U:\Hentscj\Access\SCF_Templ.dot")
Set wrdPositions = wrdDoc.Bookmarks

With wrdPositions
.Item("LastName").Range.Text = [Forms]![PersonChange]![LastName]

End With

wrdApp.Visible = True
wrdApp.Activate


End Sub

Danke

Arne Dieckmann
24.09.2003, 15:41
Evtl. fehlt der Verweis auf Word? Im VBA-Editor auf Extras/Verweise gehen und dort "Microsoft Word 9.0 Object Library" anklicken (könnte bei Deiner Access-Version auch anders heissen).

Tipp:
Da Du registrierter User bist, kannst Du Deine Signatur dazu benutzen, die eingesetzte Software anzugeben. S. dazu auch http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=102899#vers

joe77
24.09.2003, 16:14
Danke,

es passiert schon einmal mehr als vorher.

Allerdings bekomme ich jetzt die Meldung

Runtime Error 5148

The Number must be between "hier ist dann ein kleines quadrat"

Was ist da passiert?

Karlheinz
24.09.2003, 16:16
Hallo,

Hallo teste mal folgenden Code

Const Vorlage As String = "C:\Temp\Vorlage.dot" ' Name u. Verzeichnis der Vorlage
Dim objWord As Word.Application

Set objWord = New Word.Application
With objWord
.Documents.Open Vorlage
.
.


Gruß Karlheinz

Arne Dieckmann
24.09.2003, 16:18
Bei welcher Zeile taucht der Fehler auf? Da ich mich mit Übergabe an Word nicht allzu gut auskenne, kann ich auch nur raten: Gibt es evtl. irgendwelche Einschränkungen innerhalb der Word-Datei bzgl. der möglichen Werte?

joe77
24.09.2003, 17:10
arne: nein, es gibt keine beschraenkungen bei dem textfeld in word. habe mich vergewissert.

karlheinz: danke fuer den code. habe ihn ausprobiert und er rechnet und rechnet und rechnet und dann passiert gar nix...
was genau muss ich noch ergaenzen/einfuegen?

danke

Karlheinz
24.09.2003, 17:45
Hallo,

also ich benütze Textfelder in Word dazu zum ausprobieren ein kleines Beispiel

ein Beispiel zum Testen Word Vorlage mit Textfelder(FormField)
Text1 und Text2

Public Function BeispielWord ()

Const Vorlage As String = "C:\Temp\Vorlage.doc" ' Name u. Verzeichnis der Vorlage
Dim objWord As Word.Application

Set objWord = New Word.Application
With objWord
.Documents.Open Vorlage
.ActiveDocument.FormFields("Text1").Result = "Inhalt 1. Feld"
.ActiveDocument.FormFields("Text2").Result = "Inhalt 2. Feld"
.ActiveDocument.SaveAs FileName:= "C:\Temp\Beispiel.doc"
.ActiveDocument.Close wdDoNotSaveChanges ' vorlage schliesen
.Application.Visible = True
End With

Set objWord = Nothing

End Sub

Gruß karlheinz

mit Bookmarks .ActiveDocument.Bookmarks("temp").Select
.ActiveDocument.Bookmarks(1).Select

joe77
24.09.2003, 20:40
danke karlheinz,

mit ein bisschen basteln habe ich es hinbekommen und es klappt jetzt. muss mich jetzt nur noch schlau machen, wie ich felder im unterformular anspreche, das sich im hauptformular befindet...

Arne Dieckmann
24.09.2003, 20:49
Dann mach Dich am besten mal hier schlau: FAQ 4.2 (Link in meiner Signatur).

joe77
24.09.2003, 21:25
jo, passt. danke. ein problemchen weniger (aber noch genug uebrig... :-)