Wie kann ich text-Dateien mit speziellen Zeichen im Dateinamen

Demonstration meines Problems

  • Öffnen Sie eine neue Excel-Arbeitsmappe und speichern Sie diese Symbole 設計師協會 zu Zelle [A1]
  • fügen Sie den folgenden VBA-code irgendwo in den editor (Alt+F11)
  • ausführen Zeile pro Zeile (F8)
Sub test() 

strCRLF = StrConv(vbCrLf, vbUnicode) 
strSpecialchars = StrConv(Cells(1, 1), vbUnicode) 
strFilename = "c:\test.txt" 

Open strFilename For Output As #1 
Print #1, strSpecialchars & strCRLF; 
Close #1 

End Sub

Erhalten Sie eine Textdatei, die enthält die chinesischen Zeichen aus [A1]. Dies Beweise, dass die VBA in der Lage ist, um auch unicode-Zeichen verarbeiten, wenn Sie wissen, der trick mit dem hinzufügen StrConv(vbCrLf, vbUnicode)

Versuchen Sie nun das gleiche für strFilename = "C:\" & strSpecialchars & ".txt". Erhalten Sie eine Fehlermeldung, die kann man nicht erstellen Sie eine Datei mit diesem Dateinamen. Natürlich können Sie nicht den selben trick benutzen, hinzufügen einer neuen Zeile, da es ein mit dem Namen.

Wie kann ich text-Dateien mit Sonderzeichen in Ihrem Dateinamen mit VBA?
Gibt es ein work-around, oder mache ich etwas falsch?

Hinweis

Sie müssen nicht unbedingt einen Verweis (obwohl ich nicht weiß, warum das so ein problem). Sie können die späte Bindung verwenden, ohne eine Referenz :- Dim FSO as Object {newline} Set FSO = CreateObject("Scripting.FileSystemObject") - aber Sie verlieren alle Intellisense und vordefinierte Konstanten. Sind Sie sicher, dass diese Methode helfen würde, obwohl ? Ich bekomme immer noch einen schlechten Fehler mit dem Namen.

InformationsquelleAutor nixda | 2013-01-10

Schreibe einen Kommentar