Ubuntu-RS forumi
[REŠENO] Makro za LibreOffice - Verzija za Štampu

+- Ubuntu-RS forumi (http://forum.ubuntu-rs.org)
+-- Forum: Ubuntu opšta podrška (/Forum-ubuntu-opsta-podrska)
+--- Forum: Lokalizacija Ubuntua (/Forum-lokalizacija-ubuntua)
+--- Tema: [REŠENO] Makro za LibreOffice (/Thread-reseno-makro-za-libreoffice)



[REŠENO] Makro za LibreOffice - plavis - 22.11.2011. 20.55

Pozdrav svima!

Apsolutno sam nov sto se tice linuxa uopste i treba mi pomoc. Instalirao sam zetu (za firmu) Ubuntu 10.4 i uz njega je instaliran LibreOffice 3.3.4

U Excellu sam napravio jedan dokument za izdavanje racuna u kojem je ubacen jedan makro. Taj makro sluzi za pretvaranje iznosa u numerickom formatu u iznos u tekstualnom formatu, ali naravno pod linuxom ne radi (iako je ukljucena opcija makroa).

Trazio sam na netu i pronalazio razne VBA kodove za ovaj makro koji radi posao (prevodi na engleski ali nema veze) ali nikako da proradi.

Da li je neko imao slican problem i ima li resenja?

Hvala svima unapred!


RE: Libre Office macro - zika - 22.11.2011. 21.24

Da li ste probali sa: http://www.business-spreadsheets.com/vba2oo.asp ...?


RE: Libre Office macro - plavis - 22.11.2011. 21.40

Nisam ni znao za ovo. Probacu pa cu javiti


RE: Libre Office macro - plavis - 25.11.2011. 22.05

Nasao sam ovo
http://www.oooforum.org/forum/viewtopic.phtml?t=5923

i radi super za englesko govorno područje.

Ali problem je prevesti na naški zbog "jedan", "jedna",...

Probaću da prevedem i da prepravim pa ako uspem okačiću ovde


RE: Libre Office macro - plavis - 25.11.2011. 22.15

Evo ga i izgleda da radi:
Kod:
' Funkcija SlovimaC(broj)
'
' ispisuje broj slovima u Unicode æirilici
' Dragan Grbiæ, novembar 2000.
'
' Decembar 2007:
' Ranko Tomiæ izmenio da radi sa OpenOfficeom i malo promenio ispis

Function OOslovimaC(broj)

' velika slova, azbucni raspored
v_a = Chr(1040): v_b = Chr(1041): v_v = Chr(1042): v_g = Chr(1043)
v_d = Chr(1044): v_dj = Chr(1026): v_e = Chr(1045): v_zz = Chr(1046)
v_z = Chr(1047): v_i = Chr(1048): v_j = Chr(1032): v_k = Chr(1050):
v_l = Chr(1051): v_lj = Chr(1033): v_m = Chr(1052): v_n = Chr(1053)
v_nj = Chr(1034): v_o = Chr(1054): v_p = Chr(1055): v_r = Chr(1056)
v_s = Chr(1057): v_t = Chr(1058): v_cc = Chr(1035): v_u = Chr(1059)
v_f = Chr(1060): v_h = Chr(1061): v_c = Chr(1062): v_ch = Chr(1063)
v_dz = Chr(1039): v_sh = Chr(1064)

' mala slova, azbucni raspored
m_a = Chr(1072): m_b = Chr(1073): m_v = Chr(1074): m_g = Chr(1075)
m_d = Chr(1076): m_dj = Chr(1106): m_e = Chr(1077): m_zz = Chr(1078)
m_z = Chr(1079): m_i = Chr(1080): m_j = Chr(1112): m_k = Chr(1082)
m_l = Chr(1083): m_lj = Chr(1113): m_m = Chr(1084): m_n = Chr(1085)
m_nj = Chr(1114): m_o = Chr(1086): m_p = Chr(1087): m_r = Chr(1088)
m_s = Chr(1089): m_t = Chr(1090): m_cc = Chr(1115): m_u = Chr(1091)
m_f = Chr(1092): m_h = Chr(1093): m_c = Chr(1094): m_ch = Chr(1095)
m_dz = Chr(1119): m_sh = Chr(1096)

ReDim imebr(9)
imebr(1) = m_j & m_e & m_d & m_a & m_n 'jedan
imebr(2) = m_d & m_v & m_a 'dva
imebr(3) = m_t & m_r + m_i 'tri
imebr(4) = m_ch & m_e & m_t & m_i & m_r & m_i 'cetiri
imebr(5) = m_p & m_e & m_t 'pet
imebr(6) = m_sh & m_e & m_s + m_t 'sest
imebr(7) = m_s & m_e & m_d & m_a & m_m 'sedam
imebr(8) = m_o & m_s & m_a & m_m 'osam
imebr(9) = m_d & m_e & m_v & m_e & m_t 'devet

rez = v_s & m_l & m_o & m_v & m_i & m_m & m_a & ": "



If broj = 0 Then
rez = rez & m_n & m_u & m_l & m_a 'nula
End If

If broj < 0 Then
rez = rez + "-"
broj = broj * (-1)
End If

celi = Int(broj)
dec = ((broj - celi) * 100) Mod 100
cbr = Str(celi)
duzina = 16 - Len(cbr)
cbroj = String(duzina, "0") & Right(cbr, Len(cbr) - 1)

i = 1

Do While i < 15
tric = Mid(cbroj, i, 3)
trojka = Val(tric)
If tric <> "000" Then
cs = Val(Mid(tric, 1, 1))
cd = Val(Mid(tric, 2, 1))
cj = Val(Mid(tric, 3, 1))
Select Case cs
Case 2
rez = rez & m_d & m_v & m_e 'dve
Case Is > 2
rez = rez & imebr(cs)
End Select

Select Case cs
Case 1
rez = rez & m_s & m_t & m_o & m_t & m_i & m_n & m_u ' stotinu
Case 2, 3, 4
rez = rez & m_s & m_t & m_o & m_t & m_i & m_n & m_e ' stotine
Case Is > 4
rez = rez & m_s & m_t & m_o & m_t & m_i & m_n & m_a ' stotina
End Select

If cj = 0 Then sl1 = "" Else sl1 = imebr(cj)

Select Case cd
Case 4
rez = rez & m_ch & m_e & m_t & m_r 'cetr
Case 6
rez = rez & m_sh & m_e & m_z ' sez
Case 5
rez = rez & m_p & m_e ' pe
Case 9
rez = rez & m_d & m_e & m_v & m_e ' deve
Case 2, 3, 7, 8
rez = rez & imebr(cd)
Case 1
sl1 = ""
Select Case cj
Case 0
rez = rez & m_d & m_e & m_s & m_e & m_t ' deset
Case 1
rez = rez & m_j & m_e & m_d & m_a 'jeda
Case 4
rez = rez & m_ch & m_e & m_t & m_r ' cetr
Case Else
rez = rez & imebr(cj)
End Select
If cj > 0 Then rez = rez & m_n & m_a & m_e & m_s & m_t ' naest
End Select

If cd > 1 Then rez = rez & m_d & m_e & m_s & m_e & m_t ' deset

If (i = 4 Or i = 10) And cd <> 1 Then
If cj = 1 Then
sl1 = m_j & m_e & m_d & m_n & m_a ' jedna
ElseIf cj = 2 Then
sl1 = m_d & m_v & m_e ' dve
End If
End If

rez = rez & sl1

Select Case i

Case 1
rez = rez & m_b & m_i & m_l & m_i & m_o & m_n ' bilion
If cj > 1 Or cd = 1 Then rez = rez & m_a

Case 4
rez = rez & m_m & m_i & m_l & m_i & m_j & m_a & m_r & m_d ' milijard
If ((trojka Mod 100) > 11 And (trojka Mod 100) < 19) Then
rez = rez & m_i
ElseIf cj = 1 Then
rez = rez & m_a
ElseIf cj > 4 Or cj = 0 Then
rez = rez & m_i
ElseIf cj > 1 Then
rez = rez & m_e
End If

Case 7
rez = rez & m_m & m_i & m_l & m_i & m_o & m_n ' milion
If ((trojka Mod 100) > 11 And (trojka Mod 100) < 19) Or cj <> 1 Then
rez = rez & m_a
End If

Case 10
rez = rez & m_h & m_i & m_lj & m_a & m_d ' hiljad
If ((trojka Mod 100) > 11 And (trojka Mod 100) < 19) Or cj = 1 Then
rez = rez & m_a
ElseIf trojka = 1 Then
rez = rez & m_u
ElseIf cj > 4 Or cj = 0 Then
rez = rez & m_a
ElseIf cj > 1 Then
rez = rez & m_e
End If

End Select
End If
i = i + 3
Loop

rez = rez & m_d & m_i & m_n & m_a & m_r
If celi Mod 10 <> 1 Or celi Mod 100 = 11 Then
rez = rez & m_a
End If

If dec < 10 Then
rez = rez & " 0" & Mid(Str(dec), 2)
Else: rez = rez & Str(dec)
End If

OOslovimaC = rez & "/100"

End Function
Ovakve ispise stavljajte u „code“ tag-ove. Ubuduće, svima, ovakvi post-ovi će biti ne-odobreni. Kao što se radi i sa (pre)velikim slikama. Hvala.


RE: Makro za LibreOffice - plavis - 26.11.2011. 15.15

Izvinjavam se, nisam znao. Ubuduće ću paziti


RE: Makro za LibreOffice - Goran - 04.12.2011. 18.36

Verovatno tražiš http://sr.openoffice.org/prosirenja/slovima/

[Slika: korak6.png]


RE: Makro za LibreOffice - plavis - 11.12.2011. 13.04

Da, to je to. Vec sam uspeo i sa kodom iznad (ne secam se gde sam gda nasao) ali nije imao ispis negativnih brojeva pa sam ga prepravio.

Hvala u svakom slucaju, odradio sam posao ali cu pogledati i ovo