VBA palaikymo, OpenOffice.org Calc

Posted 21. Spalis, 2009 į inžinerijos , Rap , OpenOffice.org , patarimai

Jau daugelį metų iki vakar, aš žinojau apie OpenOffice.org Calc. Šiandien aš esu susijaudinęs apie tai.

Bandžiau OpenOffice prieš daugelį metų. Tai gali padaryti keletą dalykų, tada, bet aš iš karto atmestas kaip netinkamas mano poreikius. Aš visada buvo VBA gali padaryti Excel ventiliatorius.

Praeitą savaitę aš užbaigė sudėtingiausią VBA taikymo gabalas aš kada nors parašytų. Aš esu, VBA naujokas ir jis paėmė mane per savaitę baigti savo kodą, kuris gali būti išspausdintas ant 28 A4 formato puslapių. Mano skaičiuoklės iki datos XP / Office 2003 "veikia nepriekaištingai, kaip manoma, tačiau dauguma mano kodas parašiau Vista / Office 2007.

Kai aš atnaujinau į Debian squeeze, Openoffice.org 3.1.1 atėjo su juo. Aš patikrinome naują versiją ir buvo sužavėta, kad vienas gali rašyti makrokomandas, Python, Javascript, BeanShell Be BASIC.

Bandžiau atidaryti savo sudėtingiausią gabalas VBA kodą OpenOffice.org ir aš užmiega su šimtais pasikartojančių klaidų pranešimų, kad aš turėjo nužudyti skaičiuoklę iš komandų eilutės. Buvau įsitikinęs, kad VBA ir OOoCalc yra, nėra suderinama, kol atradau šią svetainę atsitiktinai, kai bando išmokti rašyti Javascript makrokomandas OOO.

Gerai. Viskas, ką reikia pridėti "variantas VBA Palaikymo 1". Tai nebuvo labai sunku, todėl aš bandžiau atidaryti savo skaičiuoklę vėl ir vėl nužudyti viską iš komandinės eilutės.

Kai dalykas buvo neteisinga ir aš negalės paleisti VBA nepaisant pažadėtąją suderinamumo.

Taigi, aš nusprendžiau eiti lėtai. Nesvarbu, kiek kartų aš negalėjo vykdyti makrokomandas, kai aš atidarė gimtoji Excel failą. Taigi, aš nusprendžiau atidaryti Excel rinkmeną su makrokomandomis neįgaliems. Kad leisti man atidaryti skaičiuoklę, bet nieko dirbo. Radau, kad OOoCalc automatiškai pridūrė "Option VBA parama 1" mano modulių.

Aš išsaugoti failą kaip ... ODS ir vyko derinti makrokomandų įgalinimą vėl. Šį kartą klaidos neateina į flood.They atėjo vienu metu ir tai buvo lengviau derinti.

Pirmoji klaidų, susijusių kintamųjų, kurie neturėjo aiškaus Dim pareiškimą. Excel VBA, atrodė labiau atlaidus dirbant be tinkamų Dim ataskaitų varaibles. Bet ooo Kalkių nepatiko. Taigi, aš galų gale pridedant keletą Dim pareiškimus dėl kai kurių kintamųjų.

Kitas klaidų su Excel UDF pavadinimų. Ooo Kalkių mėgsta rodyti funkcijas, remiasi su didžiosiomis raidėmis. Taigi, jei norite naudoti programoje "Excel" mažosios raidės, jie būtų parodyti kaip klaidų. Tai gali būti lengvai nustatoma naudojant rasti ir pakeisti funkciją.

Vos šių dviejų dalykų, nustatė mano naujas OAM failą dirbo puikiai. Tada aš jį išgelbėjo. XLS ir vėl atidaryta, XLS ir viskas buvo dar darbo. Nors ooo Kalkių dokumentacija vis dar sako, kad ne visi VBA funkcijos yra palaikomos, VBA veikia ant OOoCalc, visais praktiniais inžinerinių skaičiavimų. Taigi dabar man laikas jungiklį.

Dabar, jei turite sunkumų, gauti savo VBA kodą dirbti ooo Calc, dont give up greičiau.

Susijusios naujienos:

  1. "Excel" Tutorialai
  2. ryšiai, skirti 2010-06-30

3 Responses to "VBA paramos OpenOffice.org Calc"

  1. Rakesh

    07. Lapkritis, 2009

    Sveiki,
    Aš bandė daryti tai, ką ir minėjo, bet vis tiek jis neveikia.
    , jei SHEET1.CELLS (7, 4) = "" Arba SHEET1.CELLS, (9, 4) = "" Arba SHEET1.CELLS, (10, 4) = ""

    Šioje eilutėje aš gaunu nuosavybė arba metodas nerastas.

  2. Krishnan

    09. Lapkritis, 2009

    Sintaksė yra akivaizdžiai neteisingas, kaip aš galiu pamatyti.

    Tada, jei kita būti naudojami raktiniai žodžiai. Ne. Or.

  3. James

    07. Vasaris, 2010

    ingnoring "REMS"
    Kaip jūs teisė OOO?? i cant darbas iš OOO - pls, get me prasidėjo??
    Rem Sub žodžius ()
    Rem "
    Rem "Žodžiai Makro
    Rem "Makro įrašė 07/02/2010 pagal savininką
    Rem "
    Rem "Spartieji klavišai: CTRL + W
    Rem "
    . Remas Pritemdyti NumWords Kadangi sveikasis skaičius
    Rem Dim WordLength kaip sveikasis skaičius
    Rem Dim Grafas Kaip Sveikasis skaičius
    . Remas Pritemdyti Count2 Kadangi sveikasis skaičius
    . Remas Pritemdyti Lcase Kadangi sveikasis skaičius
    Remas
    As String Rem Dim Žodis
    As String Rem Dim MixedWord
    As String Rem Dim laiškas
    Remas
    Remas "Užduotys" Žodžiai "). Įjungti
    Remas
    Nustatyti wordRange Remas = Užduotys ("Žodžiai") Range ("A1: A500).
    Remas NumWords = Application.WorksheetFunction.CountA (wordRange)
    Remas
    Remas count = 1 Norėdami NumWords
    Rem WordLength = Len (Ląstelės (Grafas, 1))
    Remas
    Remas
    Rem "Application.EnableSound = False
    Remas
    Rem "Application.EnableSound = true
    Rem Word = Ląstelės grafas 1)
    Remas "Ląstelės Grafas, 1). Įjungti
    Remas "ActiveCell.Characters (1, 3). PhoneticCharacters = Žodis
    . Remas MixedWord = ""
    Rem Siekiant Count2 = 1 WordLength.
    Remas Laiškas = Vidutinės (ląstelės (Grafas, 1), Count2 1)
    Rem "Application.Speech.Speak (laiškas)
    Remas Lcase = raundas (RND)
    Remas
    Remas
    Remas Jei Lcase = 1 Ir Asc (laiškas)> = 97 Tada Laiškas = Chr (Asc (laiškas) - 32)
    Remas
    Pagrindinis Remas MixedWord = MixedWord + laiškas
    Remas Kitas Count2
    Rem Ląstelės (1, 5) = MixedWord
    Remas
    Rem Dim pranešimas antraštinė dalis, pagal nutylėjimą, MyValue
    Remas message = "Paruošta beždžionė?"
    Remas title = "Garbės rašybos žaidimas."
    Remas pagal nutylėjimą = "TAIP"
    Remas MyValue = InputBox (pranešimas, pavadinimas, pagal nutylėjimą)
    Remas
    Remas
    Rem Siekiant Count2 = 1 WordLength.
    Remas Laiškas = Vidutinės (ląstelės (Grafas, 1), Count2 1)
    . Remas Application.Speech.Speak (laiškas)
    Remas Kitas Count2
    . Remas Application.Speech.Speak (Žodis)
    Remas
    Remas Jei MyValue "TAIP", Tada
    . Remas Application.Speech.Speak ("Tai neteisingas pooey įvedėte")
    Remas WordLength = Len (MyValue)
    Rem Siekiant Count2 = 1 WordLength.
    Remas Laiškas = Vidutinės (MyValue, Count2 1)
    . Remas Application.Speech.Speak (laiškas)
    Remas Kitas Count2
    .. Remas Application.Speech.Speak (MyValue)
    Rem End If
    Remas
    Remas
    Remas Kitas Grafas
    Remas
    Remas
    Rem End Sub
    Remas

Palikite komentarą