VB2010_ExpressUser
Grünschnabel
Microsoft WORD (Serienbrief, Feldfunktion, Textmarke) & VB.net
Hi Leute!
Ich habe ein Problem und ich komme absolut nicht mehr weiter.
Uns zwar folgendes: Ich habe eine Anwendung gebastelt, dort gibt es dann einen Button.
Wenn ich dann zuvor aus einer Datenbank(MySQL) einen Datensatz auswähle und diesen Button betätige soll er mir quasi eine Serienbrieffunktion ausspucken.
Das heisst er soll oben in einer Word Vorlage die Adresse, Namen usw in eine zuvor angelegte Word Vorlage erstellen.
Habe es soweit hinbekommen das das Dokument geöffnet wird, die Vorlage geladen und kann auch eine Textmarke verändern.
Ich möchte gerne das ganze wie gesagt aus der Datenbank holen.
Hier mal ein Beispiel wie es funktioniert wenn ich das ganze händisch eingebe.
Das ganze war nur eine kleine Spielerei. Oben steht ja bei der ersten Angabe das ich den Namen der Textmarke angebe und der zweite Punkt das was hinein geschrieben werden soll "textm_value As Atring" das klappt dann auch.
Aber ich möchte ja gerne das er mir die Felder aus der Datenbank dann holt und wenn dann 2 Datensätze markiert sind dass er mir dann 2 Briefe in Word erstellt.
Hoffe jemand hat eine Lösung parat.
Hatte es auch schon über Feldfunktion probiert in Word das habe ich jedoch auch nicht hinbekommen.
Danke Leute
Netten Gruß an alle!
Hi Leute!
Ich habe ein Problem und ich komme absolut nicht mehr weiter.
Uns zwar folgendes: Ich habe eine Anwendung gebastelt, dort gibt es dann einen Button.
Wenn ich dann zuvor aus einer Datenbank(MySQL) einen Datensatz auswähle und diesen Button betätige soll er mir quasi eine Serienbrieffunktion ausspucken.
Das heisst er soll oben in einer Word Vorlage die Adresse, Namen usw in eine zuvor angelegte Word Vorlage erstellen.
Habe es soweit hinbekommen das das Dokument geöffnet wird, die Vorlage geladen und kann auch eine Textmarke verändern.
Ich möchte gerne das ganze wie gesagt aus der Datenbank holen.
Hier mal ein Beispiel wie es funktioniert wenn ich das ganze händisch eingebe.
Code:
Function dok(ByVal textmarke As String, ByVal textm_value As String)
Dim word As New Microsoft.Office.Interop.Word.Application
Dim doc As Microsoft.Office.Interop.Word.Document
Try
word = CreateObject("Word.Application")
doc = word.Documents.Open("d:\\Vorlage3.dot")
doc.Activate()
If doc.Range.Bookmarks.Exists(textmarke) Then
doc.Bookmarks.Item(textmarke).Range.Text = textm_value
Else
MessageBox.Show("Textmarke nicht vorhanden!")
End If
doc.SaveAs("d:\\test.doc")
doc.Close()
MessageBox.Show("Datei erstellt")
Catch ex As IOException
MessageBox.Show("Datei nicht vorhanden.")
Finally
word.Application.Quit()
End Try
Return (0)
End Function
Das ganze war nur eine kleine Spielerei. Oben steht ja bei der ersten Angabe das ich den Namen der Textmarke angebe und der zweite Punkt das was hinein geschrieben werden soll "textm_value As Atring" das klappt dann auch.
Aber ich möchte ja gerne das er mir die Felder aus der Datenbank dann holt und wenn dann 2 Datensätze markiert sind dass er mir dann 2 Briefe in Word erstellt.
Hoffe jemand hat eine Lösung parat.
Hatte es auch schon über Feldfunktion probiert in Word das habe ich jedoch auch nicht hinbekommen.
Danke Leute
Netten Gruß an alle!
Zuletzt bearbeitet: