web-dev-qa-db-fra.com

Comment enregistrer en tant que .txt dans vba

Je souhaite que ma macro enregistre une nouvelle feuille que j’ai créée en tant que fichier .txt. c'est le code que j'ai jusqu'à présent. 

Sub Move()  
'  
' Move Macro  
'  
' Keyboard Shortcut: Ctrl+m  
'  
Sheets("Sheet1").Select  
Range("A1").Select  
Range(Selection, Selection.End(xlToRight)).Select  
Range(Selection, Selection.End(xlDown)).Select  
Selection.Copy  
Workbooks.Add  
ActiveSheet.Paste  

ActiveWorkbook.SaveAs Filename:="e:" & _
"HDR" + Format(Now(), "YYYYMMDDhhmmss") & ".txt"

End Sub

Cela inclut ma macro. J'ai des problèmes avec la dernière partie où il enregistre en tant que fichier .txt.
Je reçois actuellement un tas de merde sur mon fichier .txt, voici un exemple,
"PK!!} ÑU {Š [Content_Types] .xml ¢ (ÌTÝNÂ0¾7ñ – Þš € ‰ 1 † Á…  ¥ PÚ3¶ÐµMOÁñöž • ¨".
Toute aide est la bienvenue. 

6
Tony Bergeson

Changer manuellement l'extension du nom de fichier ne change pas réellement le type de fichier. La méthode SaveAs prend un argument de type de fichier. Le code que vous voulez est 

ActiveWorkbook.SaveAs Filename:="e:" & "HDR" + Format(Now(), "YYYYMMDDhhmmss") _
& ".txt", FileFormat:= xlTextWindows

Effectuer une recherche dans l'aide d'Excel pour XlFileFormat vous donnera (presque) la liste complète des formats de fichiers possibles, y compris 6 formats de texte et 4 formats CSV.

5
Degustaf

L'ajout de txt au nom ne code pas automatiquement le document Word au format texte brut.

Tentative à la place 

ActiveWorkbook.SaveAs Filename:="e:" & _
"HDR" + Format(Now(), "YYYYMMDDhhmmss") & ".txt", FileFormat:=wdFormatText, Encoding:=1252
2
AJY