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, не даси найближчим часом.

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


















































Ракеш
07. Листопад 2009
Привіт,
Я намагався робити те, що у вже згадували, але все одно не працює.
якщо SHEET1.CELLS (7, 4) = "" Або SHEET1.CELLS (9, 4) = "" Або SHEET1.CELLS (10, 4) = ""
У цьому рядку я отримую властивість або метод не знайдені.
Крішнан
09. Листопад 2009
Синтаксис, очевидно, неправильно, як я бачу.
Якщо, тоді, інакше це ключові слова, які будуть використовуватися. Чи не Or.
Джеймс
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
Рем