Ein VB 2010 Programm das .txt .odt .worl etc. dateien drucken kann, aber wie?

  • VB.NET

Es gibt 51 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Ein VB 2010 Programm das .txt .odt .worl etc. dateien drucken kann, aber wie?

    Moinsen,

    ich bin gerade dabei ein Programm zu schreiben welches das Drucken von Etiketten vereinfachen soll.
    Um eine Etikette zu Drucken muss ich die Datei jedesmal suchen und einzelnd öffnen um dann auf die Drucken schaltfläche zu drücken.
    Ich möchte jetzt ein Programm erstellen was mir das Suchen abnimmt. Es soll im hintergrund nach der Datei suchen und sie anschließend
    ausdrucken. Ich habe schon im Internet nach Tutorials oder Lösungen gesucht aber nichts passendes gefunden. ;(
    Für schnelle und simple Lösungsvorschlage bedanke ich mich schonmal.


    ego praestolo respondere :)
    Ich erwarte eure Antworten(Glaub ich soll das heißen :D )
    Ich hab nicht genau verstanden, was Du eigentlich willst.
    Sieh Dir mal das hier an:

    VB.NET-Quellcode

    1. Dim pr As New Process
    2. pr.StartInfo.FileName = "c:\temp\Test.jpg" ' oder "MeinePdf.pdf"
    3. pr.StartInfo.Verb = "Print"
    4. pr.Start()
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany

    Ich denke, er will folgendes:
    - Programm sucht nach Dateinamen auf der Festplatte, die es über einen Label bekommen hat (oder sowas)
    - Bei Fund die gesuchte/gefundene Datei drucken
    - Fertig!
    Hoffe du kannst ihm helfen;)

    Fretnor schrieb:

    das, das Programm durch eine Textbox den Dateinamen bekommt
    Ganz dunkel dämmert da was.
    Formulier doch einfach mal eine klare Aufgabenstellung, damit Dein Problem von allen Seiten erhellt wird.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Wenn diese Dateien registriert sind, mach es so:

    VB.NET-Quellcode

    1. Dim pr As New Process
    2. pr.StartInfo.FileName = "c:\temp\Test.odt" ' oder "xxx\yyy\Meineworld.world"
    3. pr.StartInfo.Verb = "Print"
    4. pr.Start()
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Tut mir leid der Quellcode wird bei mir blau unterstrichen. Soll ich einfach alles in einen Private sub setzen? Ich bin nicht wirklich der Profi und daher verstehe ich so ziemlich alles nicht. ?(
    Könntest du dich etw. Amateurhafter ausdrücken? :D

    Fretnor schrieb:

    Tut mir leid der Quellcode wird bei mir blau unterstrichen.
    Dann drück mal auf Erstellen und poste den Fehlercode.
    Klar muss dxer Code in eine Prozedur, da Du hier jedoch im Hauptforum gepostet hast, hab ich das nicht hingeschrieben, sondern explizit vorausgesetzt. :D
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Was meinst du mit erstellen? Debugging Starten? Auf dem Gebiet kenn ich mich gar nicht aus, mit diesem Dim, as New, as streng, as Integer.(Sry wenn das ins Grunglagenforum gehört)
    dieses pr ist blau unterstrichen, und dann steht da Deklaration erwartet
    Bilder
    • 123455678.jpg

      122,19 kB, 1.440×900, 267 mal angesehen

    Fretnor schrieb:

    Auf dem Gebiet kenn ich mich gar nicht aus
    Sorry, Du hast im Hauptforum gepostet, da hab ich das vorausgesetzt. :S
    Pack den Code in eine Routine, z.B. eine Button_Click-Routine, starte das Programm und es wird gehen oder nicht.
    Dann reden wir über andere Fehler. ;)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Prima! Jetzt hab auch ich das verstanden :D

    jetzt möchte ich bloß das diese odt(rot unterstrichen) durch eine textbox eingefügt wird.
    Der Ordner in dem die odt Datei gespeichert ist(blaue schrift(temp)), kann ruhig vorgegeben sein.
    Sonst hat das aber prima geklappt. :thumbsup:

    Dim
    pr As New Process
    pr.StartInfo.FileName = "c:\temp\Test.odt" ' oder "xxx\yyy\Meineworld.world"
    pr.StartInfo.Verb = "Print"
    pr.Start()
    Da musst Du halt eine Variable für verwenden.

    VB.NET-Quellcode

    1. Dim txt = TextBox1.Text
    2. ' txt ggf noch bearbeiten
    3. pr.StartInfo.FileName = "c:\temp\" & txt
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Steht doch da. :D
    Mach mal

    VB.NET-Quellcode

    1. MessageBox.Show(txt)
    2. 'pr.Start()
    Ist der Pfad richtig?
    Gibt es das, was in der TextBox steht?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ja stehen tut es schon da aber ich versteh es nicht was da steht. ^^
    Ich hab das, was du vorgeschlagen hast, gemacht aber dann kommt nur diese Messagebox, aber gedruckt wird es nicht.
    Das funktioniert halt alles nur bei txt Dateien aber bei anderen nicht.


    Achja und dann ist da noch was, was stört.
    Es ist so, ich habe "

    Dim pr As New Process
    Dim txt = TextBox1.Text
    pr.StartInfo.FileName = "C:\Test easyways\" & txt
    pr.StartInfo.Verb = "Print"
    pr.Start()

    " das hier in einen ButtonClick sub eingefügt. Wenn ich jetzt also auf den Button drücke öffnet sich die Datei und eine kleine messagebox
    (oder was das ist) wo drin steht die Seite wird gedruckt. Zusätzlich öffnet sich allerdings noch ein Fenster wo ich die Gewünschte Datei als xps abspeichern muss( sonst bricht der Druckvorgang von allein ab. Kann man das auch irgendwie auslassen?
    Bilder
    • Fehler 2.jpg

      182,93 kB, 1.440×900, 221 mal angesehen

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Fretnor“ ()

    Was hast Du denn für einen (merkwürdigen) Standarddrucker? Da lommt bei mit ein PDF raus.
    Übe erst mal am Notepad, bis die Druckereinstellungen stimmen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    immoment hab ich eigentlich gar keinen Drucker, ich hab das bisher ohne versucht. Aber eigentlich Drucker ich auch mit einem LP Drucker. Der ist extra für etiketten. Funktioniert das überhaupt damit?
    Und was meinst du mit dem Notepad versuchen? Muss ich da irgendwas verstellen?
    Statt diesen Code auszuführen

    Fretnor schrieb:

    VB.NET-Quellcode

    1. Dim pr As New Process
    2. Dim txt = TextBox1.Text
    3. pr.StartInfo.FileName = "C:\Test easyways\" & txt
    4. pr.StartInfo.Verb = "Print"
    5. pr.Start()
    kannst Du den Text in ein Notepad packen und Ctrl+P drücken, hat denselben Effekt.
    Nur so eine Idee, um die Druckereinstellungen zu optimieren (Speichern als XPS-Dokument).
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Wäre es nicht besser Path.Combine zu verwenden?

    VB.NET-Quellcode

    1. Dim pr As New Process
    2. Dim txt = TextBox1.Text
    3. pr.StartInfo.FileName = IO.Path.Combine("C:\Test easyways\", txt)
    4. pr.StartInfo.Verb = "Print"
    5. pr.Start()
    SWYgeW91IGNhbiByZWFkIHRoaXMsIHlvdSdyZSBhIGdlZWsgOkQ=

    Weil einfach, einfach zu einfach ist! :D