Когда я использую LibreOffice Calc и сохраняю свой файл как .csv, LibreOffice предлагает использовать кодировку по умолчанию для Западной Европы. Я, однако, хочу кодировку Unicode-8.

Как установить Unicode-8 по умолчанию в LibreOffice под Windows 10?

1 ответ1

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, он должен просто уважать это.

НТН

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .