VBA támogatás OpenOffice.Org Calc
Posted 21-én. Október, 2009 Krishnan a mérnöki , HOGYAN , OpenOffice.org , tippek
Sok éven át, míg tegnap tudtam OpenOffice.Org Calc. Ma izgatott vagyok miatta.
Próbáltam OpenOffice sok évvel ezelőtt. Ez lehet csinálni néhány dolgot, majd vissza, de rögtön elutasította az alkalmatlan az igényeimnek. Mindig is nagy rajongója a VBA, mit tehet az Excel.
Múlt héten végeztem a legösszetettebb darabja VBA alkalmazás, amit valaha írtam. VBA vagyok újszülött, és elvitt egy héten befejezni a kódot, hogy lehet nyomtatni 28 A4-es oldal. Saját táblázatkezelő ig dátumot hibátlanul működik az XP / Office 2003 van, mintha volna, de írtam a legtöbb az én kódot Vista / Office 2007.
Amikor frissítettem a Debian Squeeze, Openoffice.org 3.1.1 jött vele. Megnéztem az új verziót, és nagy hatással volt rám, hogy lehetne írni a makrók Python, Javascript, BeanShell mellett az alapvető.
Megpróbáltam megnyitni az én legösszetettebb darabja VBA kódot Openoffice.org és én bombázzák száz ismétlődő hiba üzenet, amit meg kellett ölnie a táblázatot a parancssorból. Biztos voltam benne, hogy a VBA és OOoCalc nem kompatibilis, míg rájöttem, ez a honlap, amikor véletlenül próbál tanulni írni Javascript Makrók az OOo.
OK. Minden, amit szükséges volt hozzá "Option VBA-támogatás 1". Ez nem hangzik túl nehéz, ezért megpróbáltam én nyitó táblázatkezelő újra és újra meg kellett ölni mindent parancssorból.
Néhány dolog nem volt rendben, és nem voltam képes futtatni VBA ellenére a megígért kompatibilitás.
Szóval úgy döntöttem, hogy menjen lassú. Nem számít, hány alkalommal, nem tudtam futtatni a makrókat, amikor kinyitottam a natív excel fájlt. Így elhatároztam, hogy megnyitja az Excel fájl makrókat tiltva. Ez hadd nyissa ki a táblázatot, de semmi nem működött. Azt találták, hogy már automatikusan OOoCalc hozzátette: "Opció VBA-támogatás 1" az én modulokat.
Én mentette a fájlt. ODS és folytatta a hibakeresés engedélyezésével makrókat újra. Ez alkalommal, a hibák nem jönnek a flood.They jött egy olyan időpontban, és könnyebb volt nyomon követni.
Az első hibák kapcsolatos változók, amelyek nem explicit Dim nyilatkozatot. Excel VBA tűnt elnéző kezelése nem megfelelő varaibles Dim kimutatásokat. De az OOo Calc nem tetszett. Úgyhogy végül leválása néhány Dim kimutatásokat bizonyos változók.
A következő hibák sorozata volt, Excel UDF neveket. OOo Calc szereti látni funkciók hivatkoznak a nagybetűk. Tehát, ha azt használják kisbetűk az Excel, akkor fog megjelenni, mint hibákat. Ez lehet könnyen meghatározni felhasználásával keresés és csere funkció.
Mindössze ezt a két dolgot, az új rögzített. ODS fájlok tökéletesen működött. Én majd elmenteni azt. Xls és újra megnyitotta a. Xls és mindent még mindig működött. Bár OOo Calc dokumentáció még mindig azt mondja, hogy nem minden VBA funkciókat támogat, VBA jól fut OOoCalc minden gyakorlati mérnöki számítások. Tehát most van itt az ideje, hogy a kapcsolót.
Most, ha van nehézség abban, hogy a VBA kódot dolgozni OOo Calc, ne adja fel rövidesen.

Kapcsolódó hozzászólások:


















































Rakesh
07. November, 2009
Hi,
Megpróbáltam mit csinál u volna említeni, de még mindig nem működik.
ha SHEET1.CELLS (7, 4) = "" Vagy SHEET1.CELLS (9, 4) = "" Vagy SHEET1.CELLS (10, 4) = ""
Ebben a sorban kapok tulajdonság vagy metódus nem található.
Krishnan
09. November, 2009
A szintaxis nyilvánvalóan helytálló, mivel látom.
Ha tehát a kulcsszavak Else kell használni. Vagy nem.
james
07. Február, 2010
ingnoring a "REMS"
Hogyan helyes ez az OOo? én vidám munka meg OOo - pls értem kezdődött?
Rem Sub Words ()
Rem "
Rem "szavak Makró
Rem "Macro rögzített 2010/07/02 tulajdonos
Rem "
Rem "Billentyűparancs: Ctrl + W
Rem "
Rem NumWords As Integer Dim
Rem WordLength As Integer Dim
Rem Count As Integer Dim
Rem Count2 As Integer Dim
Rem LCase As Integer Dim
Rem
Rem Szó As String Dim
Rem MixedWord As String Dim
Rem Letter As String Dim
Rem
Rem "munkalapok (" Words "). Aktiválása
Rem
Rem = Set wordRange munkalapok ("Words"). Range ("A1: A500")
Rem = NumWords Application.WorksheetFunction.CountA (wordRange)
Rem
Dologi Count = 1 NumWords
Rem WordLength = Len (Cells (Gróf, 1))
Rem
Rem
Rem 'Application.EnableSound = False
Rem
Rem 'Application.EnableSound = True
Szó Rem = Cells (Gróf, 1)
Rem "Cells (Gróf, 1). Aktiválása
Rem "ActiveCell.Characters (1, 3). PhoneticCharacters = Szó
Rem MixedWord = ""
Dologi Count2 = 1 WordLength
Rem Letter = Mid (Cells (Gróf, 1), Count2, 1)
Rem "Application.Speech.Speak (Letter)
Rem LCase = Round (Rnd)
Rem
Rem
Rem Ha LCase = 1 És Asc (Letter)> = 97 Ezután Letter = Chr (Asc (Letter) - 32)
Rem
Rem = MixedWord MixedWord + Letter
Rem Következő Count2
Rem Cells (1, 5) = MixedWord
Rem
Rem Dim Üzenet, cím, Default, MyValue
Rem Message = "Kész majom?"
Rem Title = "Honors helyesírás játék."
Rem Default = "YES"
Rem MyValue = InputBox (Message, cím, alapértelmezett)
Rem
Rem
Dologi Count2 = 1 WordLength
Rem Letter = Mid (Cells (Gróf, 1), Count2, 1)
Rem Application.Speech.Speak (Letter)
Rem Következő Count2
Rem Application.Speech.Speak (Word)
Rem
Rem MyValue Ha "IGEN" Akkor
Rem Application.Speech.Speak ("Ez a baj pooey - a beírt")
Rem WordLength = Len (MyValue)
Dologi Count2 = 1 WordLength
Rem Letter = Mid (MyValue, Count2, 1)
Rem Application.Speech.Speak (Letter)
Rem Következő Count2
Rem Application.Speech.Speak (MyValue)
Rem End If
Rem
Rem
Rem Következő gróf
Rem
Rem
Rem End Sub
Rem