![]() |
Prebacivanje MS VBA u OpenOffice
Bok, molio bi pomoc u prebacivanju dodatka za Excel isprogramiranog za MS Excel da ga mogu koristiti u OpenOffice-u. Dodatak nije nešto kompliciran, obične matematičke f-je, ali ja jednostavno nisam "na ti" sa (Visual) Basicom.
Evo primjer jedne funkcije: Code:
Function funkcija1(a As Variant) As Variant Pi = 4*ATN(1) i kaže: Read Error. This property is read-only. Zamijenim ja to sa: Pi= PI() i tada prođe sve OK s tim redom, ali sad stane na sljedećem: If a < 0 And a * 100 <> Int(a * 100) Then i kaže: BASIC runtime error. Argument is not optional. U samom izvođenju ovog "macroa" ne javlja nikakvu grešku, ali je ponavlja svakim ulaskom u BASIC editor. Pretpostavljam da ga zanima što će napisati ako a ne postoji, ali ne znam kako to rješiti. Hvala! |
Nitko ne zna? :(
|
Zna il ne zna, neda se narodu zafrkavat. Treba vidit razlike u interpretaciji funkcija, moguće da ovdje mora biti IF...THEN...ELSE tj. da ELSE nije opcionalni. Ovo je samo pretpostavka, može biti i nešto drugo. Treba ti netko sa OpenOffice za testiranje, ja ga ne koristim.
|
Ima If, ElseIf i na kraju Else. Jedino nije pokriven slučaj da a nije upisan, tj. error se javlja kad upišem komandu =funkcija1(), pa bi vjerujatno samo to trebalo pokriti.
Ako je to veći problem rješiti nema veze, i tako je sve isprogramirano da ne postoji mogućnost pojave toga da a nije upisan, samo sam želio da bude sve bez errora. |
Ovo je "riješilo" problem:
Function funkcija1(Optional a As Variant) As Variant Doduše, sad kad nije ništa upisano ( funkcija1() ) baca kao rezultat neku nebulozu, ali barem nema greške :) |
Pa doradi kontrolu kad "kad nije ništa upisano" (pretpostavljam tretira se kao NULL) postavi da vraća vrijednost 0.
|
A probao sam sve sa NULL i to i ispada da kad nije ništa upisano uzima da je a=448 :D tako da je i to rješeno :)
|
Sva vremena su GMT +2. Sada je 05:54. |
Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 1999-2024 PC Ekspert - Sva prava pridržana ISSN 1334-2940
Ad Management by RedTyger