I've found an interesting python macro on this website:
http://www.linuxquestions.org/questions ... sv-867742/
the code is:
Code: Select all
#-*- coding: utf-8 -*-
import os, sys, zipfile, xml.dom.minidom
##########################################################
# Script to export LibreOffice Auto Correct Entries
# into a flat file (e.g. to reuse some of them with autokey)
##########################################################
ACEfile='.libreoffice/3/user/autocorr/acor_de-DE.dat' # This is a ZIP where LibreOffice stores its auto correct entries
ifname='DocumentList.xml' # Name of the file inside the ZIP archive that contains auto correct entries
ofname='AutoCorrectEntries.csv' # any desired output file name for the export
tagname= 'block-list:block' # (as in DocumentList.xml)
schema=['block-list:abbreviated-name','block-list:name'] # (as in DocumentList.xml)
default_encoding='UTF-8' # (as in DocumentList.xml)
ofdelimiter=";" # any desired delimiter for export
##########################################################
of = open(ofname,"w")
oACE = zipfile.ZipFile(os.path.join(os.path.expanduser("~"), ACEfile))
zif = oACE.open(ifname, "r") # access as read-only ZipExtFile object
doctree = xml.dom.minidom.parse(zif) # Parse the input file as DOM (document object model, xml-tree) into memory
if doctree.encoding:
encoding = doctree.encoding
else:
encoding = default_encoding
for elem in doctree.getElementsByTagName(tagname):
acEntry=[]
for fieldname in schema:
acEntry.append(elem.getAttribute(fieldname))
of.write(ofdelimiter.join(acEntry).encode(encoding)+"\n")
of.close() # Close output file
doctree.unlink # and deallocate DOM object
I copied the code in an empty .txt file and renamed as: autocorrect-to-csv.py
then I placed the .py file inside my LibO 3.6.3 user profile under this path:
\User\LibreOffice 3\user\Scripts\python
then I click Tools/Macro/Run Macro/Personal Macros/autocorrect-to-csv.py
but nothing happens... the "run" button stay greyed out.
is the code wrong (it was created by a Linux user, while I'm on Windows... maybe it has to be adapted in some way..) or did I do some mistake during the importing of that .py script?