Hy liebes Forum,
zuerst muss ich sagen dass ich bereits gesucht habe und dank eurer hilfe hier einen Serienbrief etc schaffe, auch auf Excel kann ich zugreifen. also man daher tolles forum 🙂
aber eines frage ich mich, ist es auch möglich aus C# heraus direkt ein Etiketten dokument zu erstellen und zu befüllen?
notfalls kann man es ja mit tables machen und diese befüllen, möchte nur gern wissen ob es da auch ne möglichkeit gibt, da es doch relativ einfach ist einene Serienbreif zu erstellen.
lg Lion
Klar, geht. Word hat eine eingebaute Etikettierfunktion. Mein Word Makro-Recorder hat mit auch den genauen Aufruf verraten 😉:
' Beispiel ist in VBA!
Application.MailingLabel.DefaultPrintBarCode = False
Application.MailingLabel.CreateNewDocument Name:="DokumentName", Address:="Max Mustermann", AutoText:="ExtrasEtikettenErstellen1", LaserTray:=wdPrinterManualFeed
SUPPPPEEEEEEEEEEEEEEEERRRRRRRRRRRRRRR 🙂
danke dir, aber ne frage hab ich noch:
ich verwnede z.Z. folgendes:
klappt hervoranged, aber ich gehe eben über ne leere Datei, kann man das irgendwie übergehen? dass dirket die etiketten datei aufgerufen wird?
lg und nochmals thx!
lg Lion
Anstatt ein neues Dokument mit den Etiketten zu erzeugen, kannst Du sie auch direkt drucken lassen. Soweit ich weiss, kann man die Etiketten nicht ins aktuelle Dokument einfügen.
Du kannst natürlich auch das leere Standarddokument nach dem erzeugen des Etikettendokuments schließen und verwerfen (Über die Documents-Auflistung).
Hiho,
danke, dass drucken hatte ich auch bereits, aber das Ziel ist es, nur die Etiketten anzuzeigen, und eben per Word zu drucken, speichern etc.
Daher auch die frage wie man die leere Seite schließt, danke für deine Hilfe, ich google mach documents.list mit c# und word 🙂
lg Lion
so hiho, bezüglich des schließen habe ich das hier gefunden:
wrdApp.Documents.Item(ref nr).Close(ref oFalse, ref oMissing, ref oMissing);
bzw ich verwende es, wenn nr 1 wird das aktuelle fenster geschlossen, dass mit den etiketten, daher müßte es doch logischerweiße sein, wenn nr 0 ist, das Dockument davor (leere doc). aber nein, er das Item sei nicht in der Sammlung vorhanden??
weiters habe ich die frage, wie man bei den etiketten nen neues (2tes) blatt hinzufügen kann? ich habs versuch mit den tab zu simulieren, klappte aber nicht ganz (sprang immer auf das erste), sry für ide 2 fragen, passen aber zum selben thema 🙂
lg Lion
In VBA beginnt der Index von Auflistungen immer mit 1. Da der Index allerdings ein Dokument nicht aussagekräftig beschreibt, würde ich lieber den Dokumennamen zur Auswahl heranziehen (Also die geöffneten Dokumente via foreach durchlaufen und den entsprechenden Dokumentnamen suchen). Damit das gut funktioniert sollte man eingangs alle Dokument sinnvoll benennen (Dokument1, Dokument2, ... ist auch nicht besser als der Index).
Mehrere Seiten des selben Etiketts? Wozu? Du kannst doch beim drucken angeben, wie viele Kopieen er drucken soll.
huhu,
naja namen vergeben, ich öffne ja word per C#, und dass ich ettiketten machen kannis ein leeres Dokument zwingend, die etiketten öffnen sich in einen neuem dokuemtn, und dieses alte dok möchte ich gern schließen, ohne zu speichern.
naja nicht des selben etikettes, jeder kleber hat ein anderen Text, daher brauch ich mehr.
lg
lg Lion
Du kannst das leere Standarddokument doch benennen, bevor Du die Etiketten erzeugst. Dann findest Du das Standarddokument auch wieder und kannst es automatisch schließen, ohne zu speichern.
hallo,
danke, mit der bennung hat es echt geklappt, das leere dokument wird geschlossen, und gitbs nun auch ne möglichkeit ein leeres blatt anzuhängen? wie gesagt, es wird so verlangt.. das wachst nicht auf meinen M*** 🙂
lg
lg Lion
Natürlich. Du springst ans Ende das Etikettenduckuments und fügst einen Seitenwechsel ein. Den Lösungscode sagt Dir Dein Makro-Recorder. Du startest ihn, machst die erwähnten Schritte von Hand und stoppst ihn dann. Als Ergbenis hast Du ein VBA-Makro, welches den fertigen Code zur Lösung enthält. Du musst den Code dann nur noch in C# übersetzen und in Deine Anwendung einbauen.