VBA підтримку в OpenOffice.Org Calc

Відправлений 21. Жовтень 2009 в інженерної , Howto , OpenOffice.org , Поради

Протягом багатьох років, поки вчора, я знав про OpenOffice.Org Calc. Сьогодні я схвильований.

Я намагався OpenOffice багато років тому. Він міг би зробити кілька речей, і тоді, але я відразу ж відхилені як неадекватні для моїх потреб. Я завжди був фанатом того, що VBA може зробити для Excel.

На минулому тижні я закінчив найскладніший шматок застосування VBA, яку я коли-небудь написав. Я новачок VBA і він взяв мене на тиждень, щоб закінчити свій код, який може бути надрукований на 28 сторінках формату А4. Моя таблиця до сих працює бездоганно на XP / Office 2003, як передбачається, але я написав велику частину мого коду в Vista / Office 2007.

Коли я підвищено до Squeeze Debian, Openoffice.org 3.1.1 разом з нею. Я перевірив нову версію і був вражений, що можна писати макроси на мові Python, JavaScript, BeanShell на додаток до основного.

Я намагався відкрити мій найскладніший шматок коду VBA в Openoffice.org, і я був засипаний сотнями повторювані повідомлення про помилку, що я повинен був убити таблицю з командного рядка. Я був переконаний, що VBA і OOoCalc не сумісні, поки я не відкрив цей сайт випадково, коли намагався навчитися писати Javascript макросів в OOo.

ОК. Усе мені потрібно було додати «Варіант VBA підтримки 1". Це звучить не надто складно, тому я намагався відкрити свою таблицю знову і знову був убити все з командного рядка.

Деякі речі були не праві, і я був не в змозі запустити VBA, незважаючи на обіцяні сумісності.

Тому я вирішив йти повільно. Незалежно від того, скільки разів, я не міг запустити макрос, коли я відкрив власний файл Excel. Тому я вирішив відкрити файл Excel за допомогою макросів відключена. Це дозволить мені відкрити таблицю, але нічого не працює. Я виявив, що OOoCalc автоматично додав «Варіант VBA підтримки 1", щоб мої модулі.

Я зберіг файл з розширенням. ОРВ і приступив до налагодження макросів, дозволяючи знову. На цей раз помилки не входять в flood.They прийшов по одному, і це було легше для налагодження.

Перший набір помилок, пов'язаних зі змінними, які не мають явного Dim заяви. VBA в Excel здавалася більш поблажливими у зверненні varaibles без належного Dim заяви. Але OOo Calc не подобається. Так я потрапив додати кілька Dim заяви для деяких змінних.

Наступний набір помилок було з Excel імена UDF. OOo Calc подобається бачити функції викликається з великої літери. Так що якщо ви хотіли використати малі літери в Excel, вони будуть відображатися як помилки. Це можна легко виправити за допомогою пошуку та заміни.

За допомогою всього лише ці дві речі, наділа нове. ОРВ файл працювали прекрасно. Потім я зберіг його як. XLS і знову відкритий. XLS, і все ще працює. Хоча OOo Calc документації до сих пір говорить, що не все VBA функції підтримуються, VBA добре працює на OOoCalc для практичних інженерних розрахунків. Тому зараз саме час для мене, щоб зробити вимикач.

Тепер, якщо у вас є труднощі в отриманні вашого коду VBA працювати в OOo Calc, не даси найближчим часом.

Схожі повідомлення:

  1. Excel HOWTOs
  2. Посилання для 2010-06-30

3 Відповіді на "підтримку VBA в OpenOffice.Org Calc"

  1. Ракеш

    07. Листопад 2009

    Привіт,
    Я намагався робити те, що у вже згадували, але все одно не працює.
    якщо SHEET1.CELLS (7, 4) = "" Або SHEET1.CELLS (9, 4) = "" Або SHEET1.CELLS (10, 4) = ""

    У цьому рядку я отримую властивість або метод не знайдені.

  2. Крішнан

    09. Листопад 2009

    Синтаксис, очевидно, неправильно, як я бачу.

    Якщо, тоді, інакше це ключові слова, які будуть використовуватися. Чи не Or.

  3. Джеймс

    07. Лютий 2010

    регістр не "REMS"
    як би ви це право в OOo? я не можу роботу з OOo - PLS зрозумійте мене почали?
    Рем Sub слова ()
    Рем "
    Слова Рем "Макро
    Макро Рем, записаних 07/02/2010 Власник
    Рем "
    Клавіатура Рем "клавіш: Ctrl + W
    Рем "
    Rem Dim NumWords As Integer
    Rem Dim довжини слова As Integer
    Rem Dim графу As Integer
    Rem Dim count2 As Integer
    Rem Dim LCase As Integer
    Рем
    Rem Dim слово As String
    Rem Dim MixedWord As String
    Rem Dim Лист As String
    Рем
    Робочі Рема "(" Слова "). Активувати
    Рем
    Рем набір wordRange = Worksheets ("Слова") Range ("A1: A500").
    Рем NumWords = Application.WorksheetFunction.CountA (wordRange)
    Рем
    Рем Для Count = 1 Для NumWords
    Рем довжина слова = Len (Cells (Count, 1))
    Рем
    Рем
    Рем "Application.EnableSound = False
    Рем
    Рем "Application.EnableSound = True
    Рем Word = Cells (Count, 1)
    Клітини Рема "(Count, 1). Активувати
    ActiveCell.Characters Рема "(1, 3). PhoneticCharacters = слово
    Рем MixedWord = ""
    Рем Для count2 = 1 для довжини слова
    Рем Лист = Mid (Cells (Count, 1), count2, 1)
    Рем "Application.Speech.Speak (Лист)
    Рем LCase = Round (Rnd)
    Рем
    Рем
    Rem Якщо LCase = 1 і Asc (Лист)> = 97 Потім лист = Chr (Asc (Лист) - 32)
    Рем
    Рем MixedWord = MixedWord + лист
    Рем Наступна count2
    Рем Cells (1, 5) = MixedWord
    Рем
    Rem Dim повідомлення, назва, за замовчуванням, MyValue
    Rem Message = "Ready мавпи?"
    Рем Title = "відзнакою написання гри".
    Рем за замовчуванням = "YES"
    Рем MyValue = InputBox (Message, назва, за замовчуванням)
    Рем
    Рем
    Рем Для count2 = 1 для довжини слова
    Рем Лист = Mid (Cells (Count, 1), count2, 1)
    Рем Application.Speech.Speak (Лист)
    Рем Наступна count2
    Рем Application.Speech.Speak (Word)
    Рем
    Rem Якщо MyValue "YES" Потім
    Рем Application.Speech.Speak ("Це неправильно pooey - ви ввели")
    Рем довжина слова = Len (MyValue)
    Рем Для count2 = 1 для довжини слова
    Рем Лист = Mid (MyValue, count2, 1)
    Рем Application.Speech.Speak (Лист)
    Рем Наступна count2
    Рем Application.Speech.Speak (MyValue)
    Рем End If
    Рем
    Рем
    Рем Наступна графа
    Рем
    Рем
    Рем End Sub
    Рем

Залишити коментар