söndag 28 oktober 2007

Översätt Calc-formler från Engelska till Svenska

En förutsättning för att detta ska fungera är att du har den svenska versionen av OpenOffice.org installerad (eller det svenska språkpaketet).

Har du någon gång försökt söka reda på information om en formel i Calc, så har du säkert upptäckt att de flesta guider är på engelska. Har du även provat att följa någon av guiderna så har du nog upptäckt att funktionernas namn är olikt på svenska gentemot engelska. Tyvärr kan du inte på ett enkelt sätt skriva in formlerna på engelska och få dem översatta till svenska... Fast med detta lilla makro kan du snabbt och enkelt översätta en formel från engelska till svenska. Makrot fungerar bara från engelska till svenska (eller det språk som OOo har installerat) ej från svenska till engelska. Jag ska försöka göra makrot som ett tillägg för enklare installation (men det ligger på is tillsvidare).

Sub ezFormula_English2Native
'döper en bit text till msg_text
msg_text = "Skriv in formeln på engelska"
'döper ännu en bit text men nu till msg_title
msg_titel = "Engelsk formel"
'och en till msg_defalut
msg_default = "="
'skapar en inmatningsruta och lägger till textsnuttarna
'som jag tidigare döpte. Först kommer själva dialogtexten
'sedan dialogens titel och sist det som står inuti inmatnings
'inmatningsfältet
inmatning = inputbox(msg_text, msg_titel, msg_default)

REM ------------ gör något av den inmatade texten ----------------

'hämta aktiv cell och döp den till aktivCell
aktivCell = ThisComponent.CurrentSelection
'hämtar inmatningen och skriver den till cellen som en sträng (String)
aktivCell.String = inmatning
'konverterar från strängformat till formelformat
aktivCell.Formula = aktivCell.String
End Sub

Tänkte avslutningsvis nämna att detta makro bygger på en "svaghet" i makrospråket. Du kan nämligen inte mata in en formel med funktionerna på svenska utan makrot måste matas in på engelska. Detta har, som jag förstår det, att göra med att du ska kunna öppna en fil på ett annat språk utan att själv översätta formlerna. Formler förvaras alltså på engelska och översätts varje gång det öppnas i en lokal version av OpenOffice.org och omvänt, matas in på lokalt språk och översätts till engelska för förvaring.

Inga kommentarer: