デフォルトというか基本的なPrint命令では、Windowsの場合に
Shift-JISが使われます。
Windowsでのテキストファイル書き込みは、
文字コードをUTF-8で指定して、
以下のようにしています。
call writeEncodedText(sFilePath, list, “UTF-8”)
Sub writeEncodedText(myPath As String, myList As Object, myEncoding As String)
Dim myTextFile As Object, mySf As Object, myFileStream As Object
On Error Goto fileKO
mySf = createUnoService("com.sun.star.ucb.SimpleFileAccess")
myTextFile = createUnoService("com.sun.star.io.TextOutputStream" )
myFileStream = mySf.openFileWrite(myPath)
myTextFile.OutputStream = myFileStream
myTextFile.Encoding = myEncoding
for i = lbound(myList) to ubound(myList)
myTextFile.writeString(myList(i) & chr(10))
next i
myFileStream.closeOutput : myTextFile.closeOutput
On Error Goto 0
Exit Sub
fileKO:
Resume fileKO2
fileKO2:
On Error Resume Next
msgBox("File write error !")
myFileStream.closeOutput : myTextFile.closeOutput
On Error Goto 0
End Sub
LinuxでもWindowsでも同じように動かすには、ひと工夫必要なのが難点ですが、Excelの動作に寄せたんでしょうね。。