https://bugs.documentfoundation.org/show_bug.cgi?id=76295
tommy27 changed:
What|Removed |Added
Summary|FEATURE REQUEST -AutoText |Easier way to
|and AutoCorrect are not |back-up/restore AutoText
|easy to back-up / restore |and AutoCorrect items
--- Comment #3 from tommy27 ---
in the past I've done an autocorrect to calc macro that did something like you
ask.
basically I extracted the documentlist.xml from the acor.dat file where I had
the autocorrect list and then pasted it's address into the E1 cell of an empty
Calc sheet
here's the code (sorry but comments are in italian so you need to translate
them). I don't know it it's still working... I used it years ago.
Sub AutocorrToCalc
dim s as string
dim f(1) as string
If msgbox("Vuoi continuare?",1)=2 then
msgbox("Procedura annullata")
exit sub
end if
dim oDoc
dim oSheet
dim oCell
oDoc = ThisComponent
oSheet = oDoc.Sheets("Foglio1")
oCell = oSheet.GetCellRangeByName("E1")
' inserire l'indirizzo del file .xml nella cella E1 del Foglio 1
fileName = oCell.String
Nome = convertToURL(fileName)
Nome2=Nome+".tmp"
oUcb = createUnoService("com.sun.star.ucb.SimpleFileAccess")
'xray oucb
txt = createUnoService("com.sun.star.io.TextInputStream")
txt2 = createUnoService("com.sun.star.io.TextOutputStream")
txt.setEncoding("UTF-8")
if FileExists(Nome) Then
Pippo=oUcb.openFileRead(Nome)
txt.setInputStream(Pippo)
Pappo=oUcb.openFileWrite(Nome2)
txt2.setOutputStream(Pappo)
Dim a() as variant
while txt.readBytes(a(), 1) = 1
if a(0)=62 then
txt2.writeBytes(a(),1)
a(0)=13
txt2.writeBytes(a(),1)
a(0)=10
end if
txt2.writeBytes(a(),1)
wend
txt.closeInput
txt2.closeOutput
Pippo=oUcb.openFileRead(Nome2)
txt.setInputStream(Pippo)
s = ""
qq =
row = 0
while not txt.iseof(1)
f(0)="<"
f(1)=">"
s= txt.ReadLine()
'print s
pip()=Split(s, ">")
l = UBound(pip)
for n=0 to l
s=pip(n)+">"
if InStr(s, "abbreviated-name") then
s1 = InStr(s, qq) + 1
s2 = InStr(s1, s, qq) + 1
s3 = InStr(s2, s, qq) + 1
s4 = InStr(s3, s, qq) + 1
w1 = mid(s, s1, s2-s1-1)
w2 = mid(s, s3, s4-s3-1)
oSheet.GetCellByPosition(0, row).String = w1
oSheet.GetCellByPosition(1, row).String = w2
row = row+1
s = ""
end if
next
wend
end if
txt.closeInput
Print "esportazione completata"
End Sub
--
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs