Office: Text-Datei nach dem erstellen drucken

Helfe beim Thema Text-Datei nach dem erstellen drucken in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen ich bräuchte mal eure Hilfe. Ich erzeuge mir mit Excel eine Text-Datei. Diese möchte ich direkt wenn der Inhalt eingefügt ist mit einem... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Speedy22, 27. Dezember 2021.

  1. Speedy22 Neuer User

    Text-Datei nach dem erstellen drucken


    Hallo zusammen ich bräuchte mal eure Hilfe.

    Ich erzeuge mir mit Excel eine Text-Datei. Diese möchte ich direkt wenn der Inhalt eingefügt ist mit einem bestimmten Drucker ausdrucken. Die erste Frage was sich mir stellt. Wie bekomme ich den Namen des Druckers heraus? Oder ist es der Name der mir unter Systemsteuerung/ Geräte und Drucker dann dort auch angezeigt wird?

    Und dann ist die Frage was muss ich in meinen Code schreiben?
    Reicht da einfach dann PrintOut wenn ich vorher eingestellt habe mit welchem Drucker gedruckt werden soll?

    Zur Info, bin absoluter Anfänger was VBA angeht also habt erbarmen :)

    Hier mal mein Code wo das eingefügt werden soll.

    Code:
    Function Txt_datei(x As Integer)
    
    Dim sht As Worksheet
    
    Set sht = ThisWorkbook.Worksheets("Tabelle1")
    
    'Speicherpfad der Txt-Datei
    strPath = "C:\Users\...."
    
        'Dateiname = ... in Dateityp .txt
        strDateiname = sht.Range("G" & x) & ".txt"
       
        'Code ... wird in Txt-Datei geschrieben
        Open strPath & strDateiname For Output As #x
       
            Print #x, "^XA" _
            & vbCrLf & "^CFP,12" _
            & vbCrLf & "^FO65,20^FD .... ^FS" _
            & vbCrLf & "^FO85,40^FD " & sht.Range("G" & x) & " ^FS" _
            & vbCrLf & "..." _
            & vbCrLf & "^XZ"
           
        'Drucken der Txt Datei
        !!!!!!Code für Drucken!!!!!!!
    
        Close #x
       
    End Function
    
    Vielen Dank für eure Hilfe und Ratschläge
     
    Speedy22, 27. Dezember 2021
    #1
  2. Speedy22 Neuer User
    Ich habe das ganze nach dem hier ausprobiert, bekomme aber wenn ich den Druckerwechsel mir per Makro aufzeichne nur das reingschrieben:

    Code:
    Sub Makro1()
    '
    ' Makro1 Makro
    '
    '
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
            IgnorePrintAreas:=False
    End Sub
    
    Wo liegt hier mein Fehler?

    Edit: Habe es über diesen Befehl hinbekommen.
     
    Zuletzt bearbeitet: 28. Dezember 2021
    Speedy22, 28. Dezember 2021
    #2
  3. Wolff68
    Wolff68 hat Ahnung
    Dachte Du wolltest die erzeugte Text-Datei drucken.
    Was Du aufgezeichnet hast druckt aber Excel-Worksheet(s) aus.
     
  4. Speedy22 Neuer User

    Text-Datei nach dem erstellen drucken

    @Wolff68 richtig, ich wollte die Text-Datei ausdrucken dachte es geht ähnlich. Habe inzwischen festgestellt das ich die Datei nach dem erstellen wieder öffnen muss und dann erst drucken aber das bekomme ich nicht so hin.
     
    Speedy22, 28. Dezember 2021
    #4
  5. Wolff68
    Wolff68 hat Ahnung
    Such mal nach "vba Textdatei ausdrucken"
    Hab da mal sowas gesehen, aber nie selbst getestet:
    Code:
    Shell "Notepad.exe /p " & filename
    wobei filename natürlich die zu druckende Textdatei ist.
     
  6. Speedy22 Neuer User
    @Wolff68 Ja das habe ich schon gemacht :) Du meinst unter anderem das hier. Habe das mal eingefügt, aber mir wird "Dim ProcessInfo As New ProcessStartInfo()" in VBA rot Markiert.

    Code:
    Sub txt_drucken(sender As System.Object, e As System.EventArgs)
            Dim ProcessInfo As New ProcessStartInfo()
            ProcessInfo.Filename = "notepad.exe"
            ProcessInfo.Arguments = ".."
            Process.Start (ProcessInfo)
    End Sub
     
    Zuletzt bearbeitet: 29. Dezember 2021
    Speedy22, 29. Dezember 2021
    #6
  7. Speedy22 Neuer User
    Habe auch noch das Problem wie ich den sich verändernden Dateinamen da mit reinschreiben kann. Der Dateiname wird mit Daten aus meiner Excel-Datei erstellt.

    Code:
    'Speicherpfad der Txt-Datei
    strPath = "C:\Users\...\"
        'Dateiname = ... .txt
        strDateiname = sht.Range("G" & x) & ".txt"
     
    Speedy22, 29. Dezember 2021
    #7
  8. Wolff68
    Wolff68 hat Ahnung

    Text-Datei nach dem erstellen drucken

    Hallo,
    Pfad und Dateiname hast Du je schon in Deiner Funktion.
    Code:
    'Speicherpfad der Txt-Datei
    strPath = "C:\Users\...."
    
        'Dateiname = ... in Dateityp .txt
        strDateiname = sht.Range("G" & x) & ".txt"
      
        'Code ... wird in Txt-Datei geschrieben
        Open strPath & strDateiname For Output As #x
    Diese Angaben kannst Du innerhalb der gleichen Funktion ja weiter verwenden.
    Habe das Ausdrucken mal mit Shell getestet:
    Code:
    Dim ret As Double
     ret = Shell("Notepad /p " & strPath & strDateiname, vbHide)
    Das funktioniert soweit. Nur eben ohne Kontrolle oder Rückmeldung, weil das Drucken ja parallel von Notepad.exe erledigt wird.
    Auf jeden Fall sollte das Drucken HINTER das Close #x ! Sonst ist die txt-Datei noch von Excel geöffnet und ggf. noch nicht mal gespeichert.
     
    1 Person gefällt das.
  9. Speedy22 Neuer User
    Habe meinen Fehler gesehen. Hatte das /p nicht mit drin. Ja genau, der Close #x muss abgeschlossen sein bevor ich den Print Befehl ausführen kann.

    Danke dir für deine Hilfe :)
     
    Speedy22, 29. Dezember 2021
    #9
  10. Speedy22 Neuer User
    Eine Frage habe ich doch noch. Kann ich mit dem Befehl "Application.ActivePrinter =" mir den Drucker anwählen mit dem ich drucken möchte? Weil das ganze wird in einem Firmennetzwerk verwendet und soll eben dann nicht mit dem Standard-Drucker gedruckt werden, sondern einem für Etiketten.
     
  11. Wolff68
    Wolff68 hat Ahnung
    Nein.
    Application.ActivePrinter würde sich ja wieder auf die Excel-Application auswirken. Der Druck wird aber von Notepad.exe ausgeführt.
    Du müsstest schon den Windows-Standarddrucker umstellen, was aber auch schlecht wäre, da Du keine Kontrolle hast wann Du den wieder zurück stellen kannst. Das meinte ich oben der Druck ist "ohne Kontrolle oder Rückmeldung".

    Netterweise hat Notepad.exe aber hierfür das Argument /pt bei dem Du auch den Drucker angeben kannst:
    In der Eingabeaufforderung würde das so aussehen:

    Notepad /pt "C:\temp\datei.txt" "Drucker Name"

    Sobald Leerzeichen in Datei- oder Druckername enthalten sind ist es wichtig diese in " " zu schreiben. Das sieht in vba dann etwas merkwürdig aus. Achte darauf die richtige Anzahl " zu schreiben.
    Selbst der vba Editor hat hier Probleme. Schreib die Leerzeichen vor uns nach den & am besten auch mit. Notfalls kann man sich das Ergebnis auch mal mit msgbox vorher ansehen.

    Hier der Code zum ausdrucken auf einem bestimmten Drucker:
    Code:
    strDrucker = "Microsoft Print to PDF"
     ret = Shell("Notepad /pt " & """" & strPath & strDateiname & """ """ & strDrucker & """", vbHide)
     
  12. Speedy22 Neuer User
    Ja das mit der fehlenden Rückmeldung habe ich erstmal nicht berücksichtigt. Ich lasse hier in einer Schleife mir Etiketten ausdrucken und daher ist es erstmal irrelevant ob er dann wieder auf den Standard-Drucker zurückstellt oder nicht. Je nachdem müsste ich auch noch die Fehlerquelle berücksichtigen was passiert wenn die Etiketten leer sind, aber diese Enscheidung überlasse ich den Personen die das Programm implementieren.
     
Thema:

Text-Datei nach dem erstellen drucken

Die Seite wird geladen...
  1. Text-Datei nach dem erstellen drucken - Similar Threads - Text Datei erstellen

  2. Suchen von Text in einer Office-Datei auf mobilen Geräten

    in Microsoft Excel Tutorials
    Suchen von Text in einer Office-Datei auf mobilen Geräten: Suchen von Text in einer Office-Datei auf mobilen Geräten Excel für iPad Word für iPad PowerPoint für iPad Excel für iPhone Word für iPhone PowerPoint...
  3. Inhalt einer Text Datei vom Sharepoint einer Variablen zuweisen

    in Microsoft Excel Hilfe
    Inhalt einer Text Datei vom Sharepoint einer Variablen zuweisen: Hallo VBA-Fan Gemeinde, ich breche mir gerade mal wieder die Finger bei folgendem Problem. Ich habe ein Excel-Arbeitsmappe (inkl. Makros) die funktional regelmäßig erweitert werden soll. Nun...
  4. Import einer CSV-Datei mit Anführungszeichen im Text

    in Microsoft Access Hilfe
    Import einer CSV-Datei mit Anführungszeichen im Text: Hallo, ich habe hier eine CSV-Datei, die in etwas so aussieht: InvoiceDate;InvoiceNumber;"CatNumber";"Bezeichnung"; 2018-03-27;145;"74587-999";"Schrauben Typ A";...
  5. Outlook 2016 // Datei einfügen // Als Text einfügen wird nicht als Option angezeigt

    in Microsoft Outlook Hilfe
    Outlook 2016 // Datei einfügen // Als Text einfügen wird nicht als Option angezeigt: [ATTACH]Hallo zusammen, ich habe folgendes Problem: ich würde gerne in Outlook 2016 eine HTML Datei einfügen. Dazu gehe ich auf "Einfügen , Datei einfügen, und wenn ich dann eine Datei...
  6. "Einfügen -> Text -> Objekt -> Text aus Datei" zerstört Inhalt der Datei

    in Microsoft Word Hilfe
    "Einfügen -> Text -> Objekt -> Text aus Datei" zerstört Inhalt der Datei: Hallo und guten Tag, ich möchte ein Word-Dokument *.DOCX generieren, indem ich in ein neues Dokument auf Basis einer speziellen Formatvorlage *.DOTX erzeuge und anschließend sequentiell mehrere...
  7. Mails aus Outlook kopieren und die Kopie in eine pdf, word oder txt datei umwandeln

    in Microsoft Outlook Hilfe
    Mails aus Outlook kopieren und die Kopie in eine pdf, word oder txt datei umwandeln: Hallo Ich habe Windows 7 und Office 2010. Ich sollte einen Outlook Unterordner mit rund 1500 mails kopieren (Originalordner soll weiterhin im Outlook bestehen bleiben) und in pdf, word oder excel...
  8. Querverweise bei Auszügen aus einer längeren Word-Datei als Text erhalten

    in Microsoft Word Hilfe
    Querverweise bei Auszügen aus einer längeren Word-Datei als Text erhalten: Hi, ich sitz grad an meiner MA-Arbeit, die ich in Word 2010 schreibe. Mein Betreuer möchte gern, dass ich ihm die ersten (halb-)fertigen Kapitel schicke. Wenn ich aber jetzt die relevanten...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden