Bloody Rain Geschrieben 29. Januar 2010 Geschrieben 29. Januar 2010 Hallo ich habe folgende Aufgabe: ich soll ein eigenständiges Programm schreiben womit ich Etiketten drucken kann, da sich viele in unserer Firma mit dem Seriendruck nicht auskennen. Ich habe mir gedacht das am Ende die ausgewählten Adressen in eine Wordforlage geschrieben werden sollen. Da ich in vb (vba) schon erfahrungen habe (wenn auch wenig) würde ich es gerne in dieser Programmiersprache schreiben. Herrausgefunden habe ich zwar schon wie ich aus excel heraus ein word dokument öffnen kann, der befehl funktioniert aber nicht unter visual studio 2008>>> Dim docTest As Object Dim objWord As Object Set objWord = CreateObject("Word.Application") With objWord Set docTest = objWord.Documents.Open("T:\etikett.doc") .Visible = True .Activate End With kann mir vll jemand helfen??? LG Bloody Rain Zitieren
Klotzkopp Geschrieben 29. Januar 2010 Geschrieben 29. Januar 2010 Herrausgefunden habe ich zwar schon wie ich aus excel heraus ein word dokument öffnen kann, der befehl funktioniert aber nicht unter visual studio 2008 Das ist richtig, für diesen Code müsstest du schon Visual Basic 6 rauskramen. Die Frage ist, tust du das (dann bist du hier richtig), oder willst/musst du es mit VB.NET 2008 machen (dann verschiebe ich dich ins richtige Forum). Zitieren
Bloody Rain Geschrieben 29. Januar 2010 Autor Geschrieben 29. Januar 2010 lol danke xD ja ich wollte das mit visual studio 2008 machen wäre net wenn du mich dahin verschiebst wo ich hin muss ... danke nochmal Zitieren
Bloody Rain Geschrieben 29. Januar 2010 Autor Geschrieben 29. Januar 2010 so ich habe gerade nochmal nachgeshen ich bekomme folgende Fehlermeldung: Die ActiveX-Komponente kann nicht erstellt werden. Zitieren
Gooose Geschrieben 29. Januar 2010 Geschrieben 29. Januar 2010 Versuch mal nicht VBA und VB.NET zu vermischen. Mit VBA kann man innerhalb der Office-Umgebung Programme schreiben. Mit VB.NET entwickelst du eigenständige Programme. Du musst dir überlegen, welche Vorgehensweise am ehesten zu deinem Ziel führt. Woher kommen die Daten für deine Etiketten? Wer soll dein Programm verwenden? Wer soll die Adressen pflegen? usw. Solche Fragen solltest du dir erst mal selbst stellen. Wir kennen deine Umgebung nicht. Bevor du anfängst irgendwelchen Code zusammen zu bauen, solltest du dir erst mal Gedanken über die Struktur deiner Anwendung machen. Dann kannst du dich entscheiden, wie du dein Problem lösen willst. Wenn es auf eine VB.NET Lösung hinauslaufen sollte, schau dir mal den Open Document SDK an. Damit kann man DOCX Dateien aus .NET heraus erstellen. Zitieren
Bloody Rain Geschrieben 2. Februar 2010 Autor Geschrieben 2. Februar 2010 ich sollte erst mit vba anfangen um überhaupt eine Idee zu haben aber letzt endlich muss es ein eigenständiges programm sein Zitieren
Bloody Rain Geschrieben 2. Februar 2010 Autor Geschrieben 2. Februar 2010 hallo ich habe mir grade diesen open xml sdk runtergeladen aber damit komme cih überhaupt nciht zurecht hat sonst vll noch jemand einen rettenden einfall .. ich komme einfach nciht weiter Zitieren
TDM Geschrieben 2. Februar 2010 Geschrieben 2. Februar 2010 Microsoft.Office.Interop.Word Namespace :floet: Zitieren
Bloody Rain Geschrieben 2. Februar 2010 Autor Geschrieben 2. Februar 2010 nach etwas suchen bin auf folgendes gestoßen>> Me.Application.Documents.Open("C:\Test\NewDocument.doc") da bekomme cih wieder eine fehlermeldung: Fehler 1 "Application" ist kein Member von "test.Form1". ich bin echt am verzweifeln langsam glaube cih cih bin einfach nur zu doof dafür Zitieren
Bloody Rain Geschrieben 2. Februar 2010 Autor Geschrieben 2. Februar 2010 Folgendes habe ich auch ncoh gefunden: ' Word-Objekt Variable definieren Dim wApp As Object ' Word-Objekt erzeugen wApp = CreateObject("Word.Application.8") With wApp ' Word anzeigen .Application.Visible = True .Application.Activate() ' Word-Dokument laden und anzeigen .Documents.Open(sWordFilename) ... ' nach getaner Arbeit, Word wieder beenden .Application.Quit() End With wApp = Nothing Einziges Problem ich brauche dazu die Microsoft Word 8.0 Library, die ich aber nciht habe... wir laden word und excel vom server und cih aheb so ziemlich alles abgesucht aber ncihts gefunden hat jemand noch eine andere Lösung? Zitieren
TDM Geschrieben 2. Februar 2010 Geschrieben 2. Februar 2010 Wieso .8? CreateObject("Word.Application") Zitieren
Bloody Rain Geschrieben 2. Februar 2010 Autor Geschrieben 2. Februar 2010 (bearbeitet) hmm moment ... Bearbeitet 2. Februar 2010 von Bloody Rain Zitieren
Bloody Rain Geschrieben 2. Februar 2010 Autor Geschrieben 2. Februar 2010 Hmm das stand da so aber auch nachd em ändern hat es nciht geklappt Zitieren
Bloody Rain Geschrieben 2. Februar 2010 Autor Geschrieben 2. Februar 2010 juhu ich habs gefunden ^^>>> Process.Start("C:\Beispiel.doc") wenn ich wieder nicht weiter weiß melde ich mich nochmal Zitieren
Bloody Rain Geschrieben 2. Februar 2010 Autor Geschrieben 2. Februar 2010 Also öffnen habe ich ja verstanden aber schleißen ?? gibt es da auch so einen einfachen code zb: process.close oder so? Zitieren
Bloody Rain Geschrieben 4. Februar 2010 Autor Geschrieben 4. Februar 2010 habe schon wieder ein problem .... ich habe bei mir einen prozess eingerichtet der word öffnen soll das problem ist das word nicht ausgeführt werden kann da ich dies nicht local installiert habe .... eine andere variante ist das ich einfach das eingebe: process.start("Pfad") dann kann ich das aber nciht mehr mit closeMainWindow () beenden hat jemand vll eine alternative für mich?? Zitieren
Klotzkopp Geschrieben 4. Februar 2010 Geschrieben 4. Februar 2010 das problem ist das word nicht ausgeführt werden kann da ich dies nicht local installiert habe ....Ja, Word muss schon installiert sein, damit du Word starten kannst. Das ist nichts, das du mit Code lösen könntest. process.start("Pfad")Das bringt dir vermutlich nichts, weil du dann keine Kontrolle über den Word-Prozess hast. Zitieren
mharms Geschrieben 4. Februar 2010 Geschrieben 4. Februar 2010 Schau, dass du eine Referenz hinzufügst. Bei Visual Studio unter "Project > Add References" und dann unter dem Karteireiter "Net". Sollte "Microsoft.Office.Interop.Word...." heißen. Dann kannst du ein Word-Anwendungs-Objekt erzeugen. Ungefähr so: Dim WordZeug As New Microsoft.Office.Interop.Word.Application WordZeug.Visible = True Unter diesem Objekt hast du dann einen großen Teil der Word Funktionalitäten. Vorraussetzung ist natürlich ein Word auf dem ausführenden Rechner Zitieren
0815FIA Geschrieben 4. Februar 2010 Geschrieben 4. Februar 2010 Schau, dass du eine Referenz hinzufügst. Bei Visual Studio unter "Project > Add References" und dann unter dem Karteireiter "Net". Sollte "Microsoft.Office.Interop.Word...." heißen. Dann kannst du ein Word-Anwendungs-Objekt erzeugen. Ungefähr so: Dim WordZeug As New Microsoft.Office.Interop.Word.Application WordZeug.Visible = True Unter diesem Objekt hast du dann einen großen Teil der Word Funktionalitäten. Vorraussetzung ist natürlich ein Word auf dem ausführenden Rechner Und genau das ist das Problem, Word scheint von einem Application Server zu kommen o.ä. Zitieren
Bloody Rain Geschrieben 5. Februar 2010 Autor Geschrieben 5. Februar 2010 ja ganz genau wir haben word nur auf dem server ich krig hier grade voll die kriese das muss docha uch iwie anders gehen oder nicht? Zitieren
TDM Geschrieben 5. Februar 2010 Geschrieben 5. Februar 2010 COM-Interop + dynamisches DLL-Laden könnte gehen... Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.