Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA doc in txt
#1
Hallo Clever Excel Forum,

Ich möchte einfach mein Docx als txt speichern, aber die entstehende txt ist vollkommen kryptisch kann aber meinen Fehler nicht finden. Damit ich diese txt später in Excel importieren kann. Falls es eine bessere Variante gibt immer her damit, ich brauche aber tatsächlich nur den reinen Text, keine Grafiken/Tabellen o.ä.

Abgespeckte Version:
Code:
Sub SaveAsTxt ()
Dim ObjWord as Object
Dim ObjDoc as Object
Dim sFileName as String

'Dateiname (da später in schleife mit Filename = *)
sFilename = Dir$("F:\Pfad\*.docx")

'Word starten
Set ObjWord = CreateObject ("Word.Application")
ObjWord.Visible = True

'Dokument öffnen
Set ObjDoc = ObjWord.Documents.Open("Pfad\" & sFilename)

'Speichern hier wird der Fehler stecken
ObjDoc.SaveAs2 Filename:= _
        "F:\Pfad\testName.txt" _
        , FileFormat:=wdFormatText, LockComments:=False, Password:="", _
        AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
        EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData _
        :=False, SaveAsAOCELetter:=False, Encoding:=1252, InsertLineBreaks:=True, _
         AllowSubstitutions:=False, LineEnding:=wdCRLF, CompatibilityMode:=0

'alles schließen
ObjWord.Documents.Close
Set ObjDoc = Nothing
Set ObjWord = Nothing
End Sub


Eigentlich müsste doch das FileFormat:= wdFormatText ausreichen um es als Text zu speichern oder nicht?
Antworten Top
#2
Hi,

du musst wohl die Dateinamenserweiterung "txt" explizit angeben. Schau mal das 2. Beispiel bei MS: Document.SaveAs2-Methode.
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
[-] Folgende(r) 1 Nutzer sagt Danke an LuckyJoe für diesen Beitrag:
  • HelloExcel
Antworten Top
#3
Code:
Sub M_snb()
   c00="G:\OF\"
   c01 =Dir(c00 & "*.docx")

   do while c01<>""
     with getobject(c00 & c01)
       .saveas2 c00 & "beispiel.txt" ,4
       .close 0
    end with

    c01=dir
  loop
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • HelloExcel
Antworten Top
#4
Erstmal danke an euch beide hat beides geklappt.
Ich habe aber den code von snb übernommen weil es wesentlich Ressourcenschonender ist als mein Code.

Edit: was ich noch anmerken wollte es liegt nur am "Fileformat:=" der Macrorecorder schlägt mir "wdFormatText" vor, ersetzt man das "wdFormatText" durch den entsprechenden wdsaveformat wert, in diesem Beispiel "2" funktioniert alles prima.

Edit2: Noch eine kurze Frage an snb oder jeden anderen der es mir erklären kann, woher weiß man, dass das GetObject(c00 & c01) ein Dokument-Objekt zurückgibt und nicht z.b. ein File-Object?
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste