LibreOffice Calc を使用してファイルを .csv として保存すると、LibreOffice はデフォルトのエンコードとして西ヨーロッパを提案します。ただし、私は Unicode-8 エンコードを希望しています。
Windows 10 の LibreOffice で Unicode-8 をデフォルトとして設定するにはどうすればよいですか?
答え1
私のLibreOffice v5.0.xのコピーを見ると、デフォルト設定はないようです。しかし、調べてみると、UTF8で保存するために使用できるマクロの例が見つかりました。
https://forum.openoffice.org/en/forum/viewtopic.php?f=45&t=19695
そして、ファイルピッカーダイアログを使用するように指示する別のマクロ
https://forum.openoffice.org/en/forum/viewtopic.php?f=25&t=36441
完全なコードは次のとおりです...
Function fOpenFile() as String
Dim oFileDialog as Object
Dim iAccept as Integer
Dim sPath as String
Dim InitPath as String
Dim oUcb as object
Dim filterNames(3) as String
filterNames(0) = "*.csv"
'filterNames(1) = "*.png"
'filterNames(2) = "*.jpg"
GlobalScope.BasicLibraries.LoadLibrary("Tools")
'Note: The following services must be called in the following order,
' otherwise the FileDialog Service is not removed.
oFileDialog = CreateUnoService("com.sun.star.ui.dialogs.FilePicker")
oUcb = createUnoService("com.sun.star.ucb.SimpleFileAccess")
AddFiltersToDialog(FilterNames(), oFileDialog)
'Set your initial path here!
InitPath = ConvertToUrl("C:\")
If oUcb.Exists(InitPath) Then
oFileDialog.SetDisplayDirectory(InitPath)
End If
iAccept = oFileDialog.Execute()
If iAccept = 1 Then
sPath = oFileDialog.Files(0)
fOpenFile = sPath
End If
oFileDialog.Dispose()
End Function
Sub SaveAsCsvUTF8
Dim Propval(1) as New com.sun.star.beans.PropertyValue
Propval(0).Name = "FilterName"
Propval(0).Value = "Text - txt - csv (StarCalc)"
Propval(1).Name = "FilterOptions"
' field sep(44 - comma), txt delim (34 - dblquo), charset (0 = system, 76 - utf8), first line (1 or 2)
Propval(1).Value = "44,34,76,1"
Doc = ThisComponent
Filename = fOpenFile()
FileURL = convertToURL(FileName)
Doc.StoreAsURL(FileURL, Propval())
End Sub
ショートカットに割り当てれば準備完了です。
PS: ファイルがすでに UTF8 である場合は、それを尊重するだけです。
HTH