UTF-8 CSV で作成したファイルを VBA を使用してエクスポートしたいと考えています。掲示板を検索すると、ファイルを UTF-8 に変換する次のコードが見つかりました (このスレッドから)。
Sub SaveAsUTF8()
Dim fsT, tFileToOpen, tFileToSave As String
tFileToOpen = InputBox("Enter the name and location of the file to convert" & vbCrLf & "With full path and filename ie. C:\MyFolder\ConvertMe.Txt")
tFileToSave = InputBox("Enter the name and location of the file to save" & vbCrLf & "With full path and filename ie. C:\MyFolder\SavedAsUTF8.Txt")
tFileToOpenPath = tFileToOpen
tFileToSavePath = tFileToSave
Set fsT = CreateObject("ADODB.Stream"): 'Create Stream object
fsT.Type = 2: 'Specify stream type – we want To save text/string data.
fsT.Charset = "utf-8": 'Specify charset For the source text data.
fsT.Open: 'Open the stream
fsT.LoadFromFile tFileToOpenPath: 'And write the file to the object stream
fsT.SaveToFile tFileToSavePath, 2: 'Save the data to the named path
End Sub
ただし、このコードは非 UTF-8 ファイルを UTF-8 に変換するだけです。ファイルを非 UTF-8 で保存してから UTF-8 に変換すると、ファイルに含まれていたすべての特殊文字が失われてしまい、プロセスが無意味になります!
私がやろうとしているのは、開いているファイルを UTF-8 (CSV) で保存することです。VBAでこれを行う方法はありますか?
nb 「ozgrid」フォーラムでもこの質問をしました。解決策が見つかったら、両方のスレッドを閉じます。