Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: txt als pdf speichern

txt als pdf speichern
18.10.2018 07:57:43
Antonio
Hallo Gemeinde,
mit diesem Code wird der gesamt VBA code als txt Datei gespeichert.
Option Explicit
Sub ExportModules()         ' Ordner erstellen
'prüfen ob ein Ordner vorhanden ist und falls nicht
'fragen ob Ordner erstellt werden soll
Dim Ord As String
Dim Antwort As Integer
Ord = "C:\Users\VBA CODE"
'  If Dir(Ord, vbDirectory)  "" Then
'      MsgBox "Ordner ist schon vorhanden"
'  Else
'  Antwort = MsgBox("Der Ordner " & Ord & " ist nicht vorhanden." _
'          & vbNewLine _
'          & "soll der Ordner angelegt werden?!", vbYesNo)
'      If Antwort = vbYes Then
''Falls kein LW angegeben ist, erstellt die MkDir-Anweisung
''den neuen Ordner auf dem aktuellen LW.
''LW wurde aber durch "C:\Eigene Dateien\Teste" festgelegt
'      MkDir Ord
'      MsgBox "Ordner " & Ord & " angelegt"
'      Else
'      MsgBox "Es wurden keine Änderungen vorgenommen"
'      Exit Sub
'      End If
'  End If
Dim VBComp As Object, objFile As Object 'Code als txt Datei exportieren
Dim i As Long, TaskId As Double
Set objFile = CreateObject("Scripting.FileSystemObject").OpenTextFile(Ord & "/" & UserForm1. _
TextBox1.Text & "-VBA.txt", 2, True)
For Each VBComp In ActiveWorkbook.VBProject.VBComponents
objFile.WriteLine vbCrLf & VBComp.Name & vbCrLf
With VBComp.CodeModule
i = 1
Do Until i > .CountOfLines
objFile.WriteLine .Lines(i, 1)
i = i + 1
Loop
End With
objFile.WriteLine
Next VBComp
objFile.Close
MsgBox "Code gespeichert"
'    TaskId = Shell("notepad.exe " & ThisWorkbook.paTh & "\VBA.txt", vbNormalFocus)
End Sub
Ich tue es aus Sicherheitsgründe, (in der Vergangenheit konnte ich ein Projekt nicht mehr öffnen und immerhin waren ein Paar Monate Arbeit).
Ich würde gerne die txt Datei auch als pdf speichern können, wie kann ich den Makro so ändern oder ergänzen das eine txt und eine pdf Datei erzeugt werden?
Vielen Dank in Voraus
Antonio
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: txt als pdf speichern
18.10.2018 16:39:19
fcs
Hallo Antonio,
hier ein Makro mit dem die Text-Datei via Excel als PDF gespeichert wird.
LG
Franz
Option Explicit
Sub ExportModules()         ' Ordner erstellen
'    TaskId = Shell("notepad.exe " & ThisWorkbook.paTh & "\VBA.txt", vbNormalFocus)
Call prcSaveTXT_as_PDF_viaExcel(strFileTXT:=ThisWorkbook.paTh & "\VBA.txt, _
strFilePDF:=ThisWorkbook.paTh & "\VBA.pdf)
End Sub

'Erstellt unter Excel 2010
Sub prcSaveTXT_as_PDF_viaExcel(strFileTXT$, strFilePDF$, Optional bolPDF_anzeigen As Boolean)
'strFileTXT = Name der Text-Datei inkl. Pfad
'strFilePDF = Name der PDF-Datei inkl. Pfad
Dim wksPDF As Worksheet, wkbPDF As Workbook
Dim strFileXLS$
'Textdatei Öffnen
Application.Workbooks.OpenText Filename:=strFileTXT, Origin:=xlWindows, StartRow:=1, _
DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _
Tab:=False, Semicolon:=False, Comma:=False, Space:=False, Other:=False, _
FieldInfo:=Array(1, 2), TrailingMinusNumbers:=False
Set wkbPDF = ActiveWorkbook
Set wksPDF = wkbPDF.Worksheets(1)
'Gitterlinien nicht anzeigen
ActiveWindow.DisplayGridlines = False
'Datei temporär als Excel-Datei speichern
strFileXLS = Left(strFileTXT, Len(strFileTXT) - 3) & "xls"
ActiveWorkbook.SaveAs Filename:=strFileXLS, FileFormat:=xlExcel8, Password:="",  _
WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False, addtomru:=False
'Schriftart setzen
With wkbPDF.Styles("Standard").Font
.Name = "Courier New" 'Font mit fester Länge - Nichtproportionalschrift
.Size = 11
End With
With wksPDF.Range("A:A")
.ColumnWidth = 117
.WrapText = True
End With
'Seitenlayout formatieren
With wksPDF.PageSetup
.PrintGridlines = False
.Orientation = xlLandscape 'Querformat
.LeftMargin = Application.CentimetersToPoints(1)
.RightMargin = Application.CentimetersToPoints(1)
.TopMargin = Application.CentimetersToPoints(1.8)
.BottomMargin = Application.CentimetersToPoints(1.5)
.CenterHeader = strFileTXT
.CenterFooter = "&P von &N"
End With
'als PDF speichern
wksPDF.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strFilePDF, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=bolPDF_anzeigen
wkbPDF.Close savechanges:=True
'temporäre Exceldatei wieder löschen
If Dir(strFileXLS)  "" Then Kill strFileXLS
End Sub

Anzeige
AW: txt als pdf speichern
19.10.2018 08:01:06
Antonio
Hallo Franz,
danke zunächst für deine Rückmeldung.
Danke auch für dein Makro.
Aber an dieser Stelle meckert der Code, siehe Bild.
Userbild
Kannst du hier ein wenig helfen?
LG
Antonio
Wenn du eine Bsp.-Mappe brauchst sag Bescheid.
Anzeige
Es Funzt
19.10.2018 09:36:20
Antonio
Hallo Franz,
es Waren nur die " die gefehlt haben.
Super Code.
Vielen vielen DANK
LG
Antonio
AW: OwT
19.10.2018 09:37:23
Antonio
(:-)
AW: OwT
19.10.2018 12:46:58
fcs
Manchmal sind es die Kleinigkeiten, die das Leben schwer machen.
Aber du hattes vergessen das Häcken zu deaktivieren, dass es noch Fragen gibt.
LG
Franz
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

txt als pdf speichern


Schritt-für-Schritt-Anleitung

  1. VBA-Code vorbereiten: Öffne Excel und drücke Alt + F11, um den VBA-Editor zu starten. Füge einen neuen Modul hinzu und kopiere den folgenden Code:

    Option Explicit
    Sub ExportModules()
        Call prcSaveTXT_as_PDF_viaExcel(strFileTXT:=ThisWorkbook.Path & "\VBA.txt", _
                                          strFilePDF:=ThisWorkbook.Path & "\VBA.pdf")
    End Sub
  2. PDF Speichern: Implementiere die Funktion prcSaveTXT_as_PDF_viaExcel, um die Textdatei als PDF zu speichern:

    Sub prcSaveTXT_as_PDF_viaExcel(strFileTXT As String, strFilePDF As String, Optional bolPDF_anzeigen As Boolean = False)
        Dim wksPDF As Worksheet, wkbPDF As Workbook
        Dim strFileXLS As String
        ' Textdatei Öffnen
        Application.Workbooks.OpenText Filename:=strFileTXT
        Set wkbPDF = ActiveWorkbook
        Set wksPDF = wkbPDF.Worksheets(1)
    
        ' Gitterlinien nicht anzeigen
        ActiveWindow.DisplayGridlines = False
    
        ' Temporär als Excel-Datei speichern
        strFileXLS = Left(strFileTXT, Len(strFileTXT) - 3) & "xls"
        ActiveWorkbook.SaveAs Filename:=strFileXLS, FileFormat:=xlExcel8
    
        ' Seitenlayout formatieren
        With wksPDF.PageSetup
            .Orientation = xlLandscape
            .CenterHeader = strFileTXT
        End With
    
        ' Als PDF speichern
        wksPDF.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strFilePDF
        wkbPDF.Close savechanges:=True
    
        ' Temporäre Exceldatei löschen
        If Dir(strFileXLS) <> "" Then Kill strFileXLS
    End Sub
  3. Makro ausführen: Schließe den VBA-Editor und führe das Makro ExportModules aus, um die txt-Datei als .pdf zu speichern.


Häufige Fehler und Lösungen

  • Fehler beim Öffnen der Textdatei: Überprüfe den Pfad zur txt-Datei. Stelle sicher, dass die Datei tatsächlich vorhanden ist und der Pfad korrekt ist.

  • PDF wird nicht erstellt: Stelle sicher, dass du die richtigen Berechtigungen zum Speichern von Dateien in dem angegebenen Verzeichnis hast.

  • Fehlende Anführungszeichen: Wenn der Code meckert, überprüfe, ob alle Anführungszeichen korrekt gesetzt sind, besonders bei Dateipfaden.


Alternative Methoden

  • Textdatei manuell umwandeln: Du kannst die Textdatei auch in einem Texteditor öffnen und über die Druckfunktion in eine PDF umwandeln, wenn du keinen VBA-Code verwenden möchtest.

  • Drittanbieter-Tools: Es gibt verschiedene Tools wie PDF Creator, mit denen du txt in pdf umwandeln kannst. Diese bieten oft mehr Flexibilität und Optionen für die Dateiausgabe.


Praktische Beispiele

  • Beispiel für das Speichern einer txt-Datei: Wenn du eine Datei mit dem Namen Daten.txt hast, dann kannst du den Code so anpassen:

    Call ExportModules("C:\DeinPfad\Daten.txt", "C:\DeinPfad\Daten.pdf")
  • PDF aus mehreren Dateien erstellen: Du kannst die Methode erweitern, um mehrere txt-Dateien in einer PDF zu kombinieren, indem du sie nacheinander in ein Excel-Dokument importierst und dann das PDF exportierst.


Tipps für Profis

  • Automatisierung: Erstelle ein weiteres Makro, das mehrere txt-Dateien auf einmal in pdf umwandelt. Dies kann dir viel Zeit sparen, wenn du oft mit mehreren Dateien arbeitest.

  • Verwendung von Variablen: Nutze Variablen für Dateipfade, um den Code flexibler und einfacher wartbar zu gestalten.


FAQ: Häufige Fragen

1. Wie kann ich die txt-Datei unter einem anderen Namen speichern?
Du kannst den Parameter strFilePDF im prcSaveTXT_as_PDF_viaExcel-Aufruf entsprechend anpassen.

2. Welche Excel-Version benötige ich?
Der bereitgestellte VBA-Code funktioniert ab Excel 2010. Für ältere Versionen könnten einige Funktionen unterschiedlich sein.

3. Kann ich auch eine pdf in eine txt-Datei umwandeln?
Ja, dafür benötigst du einen anderen VBA-Code oder eine Software, die PDF in Textdateien konvertieren kann.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige