Outsider77
Erfahrenes Mitglied
Guten Morgen!
Ich bräuchte bitte Hilfe bei folgendem Problem:
Ich habe ein kleines Programm geschrieben, mit dem wir hier in der Firma
vereinfacht Etiketten drucken.
Dazu habe ich eine Form mit einigen Button und ListBoxen erstellt.
In einer der ListBoxen wird eine Auswahl (einfach oder mehrfach) getroffen.
Das sind eigentlich .txt-Dateien, in denen die Informationen für die Etiketten stehen.
Wenn jetzt auf den Drucken-Button geklickt wird, öffnet sich ein bestehendes
Word-Dokument, erstellt als Serienbrief-Vorlage.
Die Informationen aus den .txt-Dateien werden in den Serienbrief gelesen und
die Etiketten werden erstellt.
Bis hierher läuft alles bestens. Nach dem Etiketten erstellen lasse ich noch
eine kleine Sub laufen, welche in dem erstellten Etiketten-Dokument einige Werte
suchen und ersetzen soll. Und hierbei kommt folgende Fehlermeldung:
Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt
Hier mal der Code für Serienbrief und suchen/ersetzen:
Ich habe den Code für Mailmerge und Größengänge zum Zeigen etwas reduziert.
Die Fehlermeldung tritt in dieser Zeile auf (siehe Anhang).
Beim Erstellen eines Serienbriefes wird ja zusätzlich zur eigentlichen Vorlage
ein zweites Dokument erstellt. Vielleicht liegt hierbei mein Problem.
Ich bin über jede Hilfe dankbar! Bei Unklarheiten bitte fragen!
Vielen Dank schonmal!
Gruß Outi
Ich bräuchte bitte Hilfe bei folgendem Problem:
Ich habe ein kleines Programm geschrieben, mit dem wir hier in der Firma
vereinfacht Etiketten drucken.
Dazu habe ich eine Form mit einigen Button und ListBoxen erstellt.
In einer der ListBoxen wird eine Auswahl (einfach oder mehrfach) getroffen.
Das sind eigentlich .txt-Dateien, in denen die Informationen für die Etiketten stehen.
Wenn jetzt auf den Drucken-Button geklickt wird, öffnet sich ein bestehendes
Word-Dokument, erstellt als Serienbrief-Vorlage.
Die Informationen aus den .txt-Dateien werden in den Serienbrief gelesen und
die Etiketten werden erstellt.
Bis hierher läuft alles bestens. Nach dem Etiketten erstellen lasse ich noch
eine kleine Sub laufen, welche in dem erstellten Etiketten-Dokument einige Werte
suchen und ersetzen soll. Und hierbei kommt folgende Fehlermeldung:
Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt
Hier mal der Code für Serienbrief und suchen/ersetzen:
Code:
Sub Mailmerge()
Dim mwapp As Object
mwapp = CreateObject("Word.Application")
While Form1.TextBox2.Text <> ""
Artikelname = Form1.TextBox2.Text
mwapp.windowstate = 1
mwapp.visible = True
mwapp.Documents.Open("G:\HUDDEL\Endlosetiketten.docx", , True)
mwapp.ActiveDocument.MailMerge.OpenDataSource(Name:="G:\HUDDEL\Etiketten\" & Artikelname, ConfirmConversions:=False, ReadOnly:= _
False, LinkToSource:=True, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", WritePasswordDocument:="", _
WritePasswordTemplate:="", Revert:=False, Connection:="", SQLStatement:="", SQLStatement1:="")
With mwapp.ActiveDocument.MailMerge
.SuppressBlankLines = True
.Execute(Pause:=False)
End With
Form1.TextBox2.Text = ""
Größengänge()
If My.Computer.FileSystem.FileExists("C:\temp.docx") Then
My.Computer.FileSystem.DeleteFile("C:\temp.docx")
End If
mwapp.ActiveDocument.SaveAs("c:\temp.docx")
mwapp.activedocument.close()
mwapp.application.quit()
mwapp = Nothing
End While
End Sub
Sub Größengänge()
Dim msw As New Microsoft.Office.Interop.Word.Application
msw.Selection.Find.ClearFormatting()
msw.Selection.Find.Replacement.ClearFormatting()
With msw.Selection.Find
.Text = "1-2(1)"
.Replacement.Text = "1-2"
End With
msw.Selection.Find.Execute(Replace:=msw.wdreplaceAll)
With msw.Selection.Find
.Text = "1.5-1.5(1.5)"
.Replacement.Text = "1.5"
End With
msw.Selection.Find.Execute(Replace:=msw.wdreplaceAll)
.
.
.
End Sub
Ich habe den Code für Mailmerge und Größengänge zum Zeigen etwas reduziert.
Die Fehlermeldung tritt in dieser Zeile auf (siehe Anhang).
Beim Erstellen eines Serienbriefes wird ja zusätzlich zur eigentlichen Vorlage
ein zweites Dokument erstellt. Vielleicht liegt hierbei mein Problem.
Ich bin über jede Hilfe dankbar! Bei Unklarheiten bitte fragen!
Vielen Dank schonmal!
Gruß Outi