Remkomplekty.ru

IT Новости из мира ПК
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Openoffice макросы excel

Учимся писать макросы для OpenOffice

Учимся писать макросы для OpenOffice

Необходимые приемы для профессиональной работы с текстом. Показан пример с использованием макросов и регулярных выражений.

Задача: произвести обработку текста для статей:

  • удалить все пробелы и знаки табуляции из начала и конца абзацов,
  • заменить все дефисы на тире в тексте, в том числе и в самом начале абзацев.

Пример приводится для версии OpenOffice 2.4.0

Стандартное решение:

поиск и замена, нажимаем Ctrl+F

В примере мы пишем регулярное выражение удаляющее пробелы и знаки табуляции в начале абзаца.

Что сказать? Универсально. Но четыре раза на каждую статью писать регулярное выражение мне кажется слишком долго.

Другое решение:

Надо написать макрос. Это очень легко. В OpenOffice хорошая русская документация и есть встроенная поддержка регулярных выражений.

Найдите в меню Сервис → Mакросы → Управление макросами → OpenOffice.org Бэйсик.

Создайте макрос, например, под именем Typograph.

‘здесь инициализируем объекты
Dim Doc As Object
Dim Replace As Object

‘указываем объект, с которым будем работать
Doc = StarDesktop.CurrentComponent
‘создаем объект типа ReplaceDescriptor
Replace = Doc.createReplaceDescriptor
‘объект работает с регулярными выражениями
Replace.SearchRegularExpression = True

‘удаляем знаки табуляции и пробела в начале абзаца
Replace.SearchString = «^( |t)*»
Replace.ReplaceString = «»
Doc.replaceAll(Replace)

‘удаляем знаки табуляции и пробела в конце абзаца
Replace.SearchString = «( |t)*$»
Replace.ReplaceString = «»
Doc.replaceAll(Replace)

‘заменяем дефис на тире в середине текста
Replace.SearchString = » — »
Replace.ReplaceString = » — »
Doc.replaceAll(Replace)

‘заменяем дефис на тире в начале абзаца
Replace.SearchString = «^- »
Replace.ReplaceString = «— »
Doc.replaceAll(Replace)
End Sub

Сохраните и закройте окно Бэйсика. Оно больше не нужно. Теперь надо сделать так, чтобы макрос под названием «Typograph» вызывался по нажатию, например Ctrl+Shift+D.

Заходим в меню Сервис → Настойка:

Установите сочетание клавиш для макроса.

Возможно, вы увидите окно об ошибке:

Не бойтесь. Просто вы установили себе версию OpenOffice без JRE. Нажмите несколько раз «OK» и продолжайте. Всё прекрасно работает и без JRE.

Осталось проверить работу скрипта. Скопируйте следующий текст в редактор и нажмите Ctrl+Shift+D.

А теперь упражнение! Усовершенствуйте макрос. Пусть он заменяет последовательность из одного или более символов пробела и табуляции на один пробел во всем тексте. Выражение для поиска последовательности пробельных символов выглядит так ( |t)+.

Как сделать код vba совместимым с libre office

Недавно я перешел на pclinuxos из окон и, похоже, понравился. Единственная проблема, с которой я столкнулся, заключается в том, что libreoffice, пакет электронной таблицы по умолчанию несовместим с макросами excel. Ниже приведен код vba:

Есть ли способ конвертировать этот код, чтобы сделать его совместимым с libreoffice или мне нужно изучить совершенно новый язык, такой как python? Изучение python не будет проблемой, но не является решением моей проблемы, так как у меня есть много связанных с работой файлов в excel, у которых много кода vba, и я не могу использовать open office/libreoffice на работе.

Я просто хочу добавить, что функция SinceLastWash дает правильное значение в некоторых ячейках, где я их использую, а в других — ошибка, #NAME?

vba excel openoffice.org libreoffice

5 ответов

За некоторыми исключениями Microsoft Office и LibreOffice не могут запускать один и тот же макрокод. Microsoft Office использует код VBA (Visual Basic для приложений), а LibreOffice использует базовый код на основе интерфейса LibreOffice API (Application Program Interface). Хотя язык программирования один и тот же, объекты и методы разные.

Самые последние версии LibreOffice могут запускать некоторые сценарии Excel Visual Basic, если вы включите эту функцию в LibreOffice — PreferencesTools — Options — Load/Save — VBA Properties.

В действительности вам, скорее всего, нужно будет с API LibreOffice и переписать функциональность.

1 Andrew [2015-10-29 17:19:00]

Вы должны перевести части, которые манипулируют документом, чтобы использовать API-интерфейс UNO. К сожалению, это может быть сложно в зависимости от того, что делает ваш макрос. Основные утверждения работают напрямую. Обычно изменение документа не выполняется.

Команда Cells возвращает определенную ячейку на основе строки и столбца. Итак, вам нужна текущая строка. Вот несколько безумств, чтобы получить активную ячейку:

Когда у вас есть активная ячейка, вы получаете адрес ячейки, и из этого вы имеете строку. Вам вообще не нужно использовать диапазон, поскольку вам нужна только одна ячейка, поэтому вы получаете активный лист, а затем получаете конкретную ячейку с листа.

Что-то вроде этого: ThisComponent.getCurrentController(). GetActiveSheet(). GetCellByPosition (nCol, nRow).getString() = «a»

Мне не нравится выяснять, что это делает

1 djikay [2014-07-13 18:25:00]

Единственным автоматическим инструментом, о котором я знаю, является Бизнес-таблицы (учтите, что у меня нет личного или профессионального опыта или какой-либо связи с сайтом).

Это похоже на OpenOffice, но я думаю, что он работает и с LibreOffice.

В общем, вам лучше сделать это самостоятельно, так как инструмент далеко не идеален.

В LibreOffice 4.4 первая подпрограмма не будет работать вообще (я подозреваю, что все переменные начинаются с «xl». Остальные два работают отлично, если вы меняете ThisCell на ActiveCell.

Пишем макросы для OpenOffice.org

Макросы используются для автоматизации различных действий в OpenOffice.org. Макрос поможет автоматизировать действия, которые потребовали бы длительных ручных манипуляций с возможными ошибками. В настоящее время автоматизированные действия наиболее легко выполняются написанием макросов на OOo Basic (OpenOffice.org поддерживает и ряд других языков, например, Python). Синтаксис OOo Basic подобен многим разновидностям Basic (Visual Basic, VBA, VBScript и т.д.), и здесь не описывается. Данная статья является введением в мир макросов OpenOffice.org и рассматривает самые общие вопросы, связанные с программированием макросов в OpenOffice.org. Цель статьи — предельно кратко обозначить основные направления в программировании макросов OpenOffice.org для программистов, уже немного знакомых с другими разновидностями Basic.

Hello, World!

Параметры безопасности макросов задаются через меню «Сервис» — «Параметры» — «OpenOffice.org» — «Безопасность», кнопка «Безопасность макросов. «.

Откройте новый документ OOo. Используйте меню «Сервис» — «Макросы» — «Управление макросами» — «OpenOffice.org Бэйсик. » (Alt+F11), чтобы запустить диалог «Макрос OpenOffice.org Basic». В левой части диалога найдите документ, который вы только что открыли (например, он называется «Безымянный1»). Разверните дерево этого документа и установите курсор на дочернем элементе «Standard». Нажмите справа кнопку «Создать» для создания нового модуля и задайте ему имя. Откроется среда разработки OOo Basic. Наберите код макроса:

Читать еще:  Microsoft office interop excel описание

Для запуска макроса нажмите клавишу F5 в среде разработки OOo Basic. Естественно, запустить этот макрос можно и в диалоге «Сервис» — «Макросы» — «Управление макросами» — «OpenOffice.org Бэйсик. » (Alt+F11), кнопкой «Выполнить».

OOo Basic основан на процедурах и функциях, который задаются ключевыми словами Sub и Function. Каждый модуль содержит набор процедур (функций). Библиотека содержит набор модулей. Документ может содержать несколько библиотек. Библиотеки могут существовать также на уровне приложения в целом.

Среда разработки OOo Basic имеет средства отладки, такие, как установка точек прерывания и наблюдаемых переменных. Вы можете также выполнять макросы по шагам.

Исследование объектов

При программировании часто бывает необходимо выяснить, какие свойства и методы поддерживает тот или иной объект, или вообще выяснить, что это за объект, например, просто для того, чтобы найти по нему справку.

Доступ к текущему документу и рабочему столу обеспечивают глобальные переменные ThisComponent и StarDesktop, которые всегда доступны.

Вы можете узнать, поддерживает ли объект конкретный сервис:

Метод объектов getImplementationName() возвращает полное имя данного объекта. Используйте полное имя объекта для поиска в Интернете или в Руководстве разработчика:

Метод объектов getSupportedServiceNames() возвращает перечень всех сервисов, поддерживаемых объектом:

Простой способ выяснить, что может делать данный объект — это вызов следующих трех методов:

Макрос WritedbgInfo(object), поставляемый с OOo, выводит информацию трёх вышеуказанных методов в окно документа OOo Writer:

Некоторые характерные приёмы OOo Basic

Метод CreateUnoService() — это короткий путь вместо вызова global service manager и затем вызова createInstance() для этого менеджера.

Приведённый выше вызов заменяет следующие два примера:

В языке OOo Basic глобальная переменная ThisComponent ссылается на текущий документ или на документ, из которого был вызван данный макрос. Переменная ThisComponent получает свое значение один раз, когда макрос стартует, и не изменяется, даже если этот макрос делает текущим другой документ. Если активным является компонент другого типа (не документ), то ThisComponent ссылается на последний активный документ. В других языках способом получить этот объект является использование getCurrentComponent() для объекта рабочего стола (desktop object). Глобальная переменная StarDesktop ссылается на объект рабочего стола (desktop object), который является основным приложением OOo.

Если вы написали функцию (но не процедуру) на языке OOo Basic, вы можете вызвать ее из электронной таблицы Calc, как обычную функцию рабочего листа, в формуле ячейки.

Библиотеки и модули

Библиотеки макросов содержатся в следующих контейнерах:

  • Макросы OpenOffice.org (это макросы, поставляемые с OOo)
  • Мои макросы
  • Каждый открытый в данный момент документ также виден как доступный контейнер библиотеки.

Эти контейнеры вы можете наблюдать в диалоге «Сервис» — «Макросы» — «Управление макросами» — «OpenOffice.org Бэйсик. » (Alt+F11).

Библиотека содержит модули. Нельзя выполнить макрос, содержащийся в библиотеке, если библиотека еще не загружена. Каждый контейнер как правило имеет библиотеку с именем Standard. Модули содержат процедуры и функции, т.е. собственно макросы.

Модули хранятся в xml-файлах с расширением xba, описания библиотек — в xml-файлах с расширением xlb, описания контейнеров — в xml-файлах с расширением xlc.

Контейнер «Макросы OpenOffice.org» находится в папке, наподобие такой: C:Program FilesOpenOffice.org 2.3sharebasic. Контейнер «Мои макросы» находится в папке, наподобие такой: C:Documents and Settings Application DataOpenOffice.org2userbasic.

Новые библиотеки и модули можно создать в любой момент интерактивно, через диалог «Сервис» — «Макросы» — «Управление макросами» — «OpenOffice.org Бэйсик. » (Alt+F11). В среде разработки OOo Basic текущая библиотека выбирается с помощью специального выпадающего списка на панели инструментов «Макрос» (по умолчанию этот выпадающий список вы увидите в левой верхней части экрана). Модули текущей библиотеки отображаются на вкладках, расположенных в нижней части экрана (каждый модуль на своей вкладке).

Библиотеками можно управлять и программно. Следующая функция создаёт новую библиотеку «dummy», устанавливает на неё пароль, отображает список всех библиотек, затем удаляет библиотеку «dummy» и вновь отображает список всех библиотек:

Когда библиотека загружена, содержащиеся в ней макросы становятся видимыми из OOo Basic. Если библиотека не загружена, вы не можете вызывать процедуры, функции и диалоги, которые в ней содержатся. Библиотека Standard всегда загружена и доступна автоматически.

Запуск макросов

Макросы можно выполнять непосредственно из диалога «Сервис» — «Макросы» — «Управление макросами» — «OpenOffice.org Бэйсик. » (Alt+F11), кнопкой «Выполнить».

Макросы можно назначить на команды меню и/или кнопки панели инструментов. Меню «Сервис» — «Настройка», вкладки «Меню» и «Панели инструментов». При нажатии на кнопку «Добавить. » открывается окно «Добавить команды». Слева в списке «Категория» вы найдёте иерархию контейнеров с макросами.

Запуск макросов программно

Можно выполнить макрос из командной строки, подобно следующему:

Здесь «standard» — имя библиотеки из контейнера «Мои макросы», «module1» — имя модуля, «mymacro» — имя функции (процедуры) самого макроса. При этом запустится процесс Open Office, который выполнит указанный макрос и затем завершит свою работу.

Из командной строки можно также запустить макрос конкретного документа сразу при открытии этого документа:

Если уже открыт, например, документ test1.odt, сработает и такая командная строка:

Можно выполнить макрос из кода другого макроса (используются аналогичные URL), подобно следующему:

Диалоги

Механизм макросов OOo Basic позволяет конструировать и выводить диалоговые формы (окна диалогов) для взаимодействия с пользователем.

Создать новый диалог можно в окне «Сервис» — «Макросы» — «Управление макросами» — «OpenOffice.org Бэйсик. » (Alt+F11), далее кнопка «Управление. «, вкладка «Диалоги». Диалоговые формы диалогов хранятся так же, как модули макросов. В среде разработки OOo Basic диалоги текущей библиотеки отображаются на вкладках, расположенных в нижней части экрана, наряду с модулями. При переходе на вкладку, соответствующую диалогу, вы попадаете в визуальный редактор форм.

Запуск диалога можно осуществить примерно таким образом:

Как видно, полезно иметь переменную, ссылающуюся на данный диалог, определенную вне процедуры запуска диалога, так, чтобы другие процедуры могли обращаться к диалогу (к этой переменной). Для данного примера процедура CloseDialog назначается как обработчик события «Отпускание клавиши мыши» для кнопки диалога (это можно сделать в свойствах этой кнопки в визуальном редакторе форм). После закрытия диалога процедура CloseDialog отображает содержимое текстового поля «TextField1» диалога.

Для перебора элементов управления в диалоге используйте код наподобие следующего:

Элементы управления могут быть размещены и прямо в документе, с помощью панели инструментов «Элементы управления». Им так же могут быть назначены макросы-обработчики событий (через свойства).

Обработка событий

Макрос может выполняться автоматически, когда происходит указанное событие программы, т.е. можно назначить нужный макрос нужному событию.

Меню «Сервис» — «Настройка. «, вкладка События. В выпадающем списке «Сохранить в» можно выбрать, будет ли назначение глобально допустимым или действующим только в текущем документе (выбрать «OpenOffice.org» или имя текущего документа). Для каждого события в отображаемом здесь списке можно назначить соответствующий макрос или отменить такое назначение кнопками «Макрос. » и «Удалить».

Программно можно назначить макросы-обработчики для большего числа событий. Например, можно обрабатывать событие изменения данных указанной ячейки Calc. Первая процедура в примере регистрирует обработчик события (вторую процедуру):

Макросы, диалоги и библиотеки (Basic)

Одним из свойств Open Office.org, которое некоторые пользователи упускают из вида, является встроенный язык программирования OpenOffice.org Basic. Для чего нужно встраивать язык программирования в ваш текcтовый процессор? Именно для того, чтобы автоматизировать часто выполняемые задачи. Чай за тебя не приготовит, но позволит автоматизировать часто выполняемую работу с минимумом усилий.

Вы можете, например, захотеть сгенерировать данные из командной строки и представить их как таблицу в документе Writer или вы можете получить данные из других источников и сформатировать их для еженедельного отчета или письма клиенту. Каждая из этих задач требует значительных затрат времени, если их выполнять вручную, но OpenOffice.org Basic сможет помочь минимизировать время, которое вы проведете, выполняя рутинные вещи, и позволяет высвободить больше времени для более интересных занятий.

Создание макроса OpenOffice.org

Итак, как начать модификацию OpenOffice.org Writer с целью сделать его немножечко лучше? Для начала вы должны создать подпрограмму Basic или функцию, которые обычно именуются макросами.

Перейдите в меню Writer и кликните на пункте Сервис. Вы увидете подменю, называемое Макросы. Если вы поместите указатель мыши на него, увидете опции макросов, доступные для вас. Нас в данный момент интересует пункт Управление макросами. Из следующего подменю выберите OpenOffice.org Basic. .

Вам представится окно диалога, которое позволит выбрать новый макрос или выбрать уже существующий для редактирования. По умолчанию приложение создаст макрос с именем Main. Вы обнаружите, что находитесь в окне редактирования макроса и вы увидите нечто похожее на следующее:

Теперь вы сможете создать свой первый макрос. По традиции начнем с «Hello, world»

Выполнение макроса

Естественно, вы захотите увидеть результат вашей тяжкой работы. Вернитесь в окно OpenOffice.org Writer. Перейдите в меню и опять выберите меню Сервис -> Макросы. Теперь вы можете использовать либо пункт Управление макросами, либо просто использовать кнопочку Выполнить макрос на панели инструментов.

Существует второй, более простой и полезный способ выполнения макроса после того, как вы его отладили. Вы можете назначить макрос пунктам меню, клавиатурным сокращениям и событиям.
Для того, чтобы назначить макрос и просмотреть полный список возможных действий, вернитесь обратно в окно Управление макросами. Когда вы нажмете кнопку Назначить, увидите все возможные опции.

Более сложный макрос

Теперь посмотрим на макрос OpenOffice.org Basic, который имеет практическое применение. Следующий пример макроса преобразует документ, который использует Английский язык Великобритании в Американский Английский диалект.

Если вы прежде использовали Visual Basic или VBScript в Windows, вы должны узнать основной формат и функциональность. Если нет, возможно, понадобится небольшое объяснение.

Записаны две подпрограммы: toUsaSpelling и doReplace. Подпрограмма toUsaSpelling создает два массива searchArray и replaceArray, содержащие английские слова и их американские эквиваленты. Она (подпрограмма) далее пошагово перебирает вышеупомянутый массив и вызывает подпрограмму doReplace, которая через две входные переменные и заменяет одно слово другим во всем документе OpenOffice.org.

OpenOffice.org Basic использует все типы привычных циклов и управляющих структур, которые вы найдете в любом языке программирования, наравне с некоторыми, пришедшими непосредственно из Visual Basic. Например, doReplace использует функцию ubound,котроая возвращает наибольший номер индекса массива. Эта функция полезна в циклах, так как в этом случае вам не надо отслеживать текущий размер массива.

Заметьте, что doReplace ссылается на ThisComponent. ThisComponent представляет текущий документ OpenOffice.org.

Следующее: Вставка информации из внешнего файла.

Заполнение данных в таблицы может стать самой затратной по времени частью при создании отчета, но таблицы делают документ более читабельным, так что стоит побеспокоиться об автоматизации процесса. Следующий макрос открывает файл и загружает данные из него в таблицу. Таким образом, таблица заполняется значениями полей имени пользователя и домашней директории из файла /etc/passwd:

Sub doPasswdTable
Dim filenumber As Integer
Dim lineNumber As Integer
Dim lineCount As Integer
Dim iLine As String
Dim file as String
Dim doc as object
Dim table as object
Dim cursor as object
Dim cellname as object
Dim cell as object
file = «/etc/passwd»
‘Get line count
lineCount = 0
filenumber = Freefile
Open file For Input As filenumber

While not EOF(filenumber)
Line Input #filenumber, iLine
If iLine <> «» then
lineCount = lineCount + 1
end if
wend
Close #filenumber

doc = thisComponent
cursor=doc.text.createTextCursor()
table=doc.createInstance(«com.sun.star.text.TextTable»)
table.initialize(lineCount+1,2)
doc.Text.insertTextContent(cursor,table,False)

cell = table.getCellByName(«A1»)
cell.string=»Username»
cell = table.getCellByName(«B1»)
cell.string=»Home Directory»

filenumber = Freefile
lineNumber = 2
Open file For Input As filenumber
While not EOF(filenumber)
Line Input #filenumber, iLine
If iLine <> «» then
Dim iArray
iArray = split(iLine,»:»)
cell = table.getCellByName(«A» & lineNumber)
cell.string=iArray(0)
cell = table.getCellByName(«B» & lineNumber)
cell.string=iArray(5)
lineNumber = lineNumber + 1
end if
wend
Close #filenumber
End Sub

Большая часть кода достаточно стандартна — вы можете видеть пример операторов циклов while..wend и if..end if. Вы также можете обратить внимание на оператор doc=thisComponent; который позволяет нам ссылаться на doc вместо более длинного обозначения thisComponent.

Неочевидная деталь: синтаксис Basic не регистрозависимый. Поэтому оператор cell = table.getCellByName(«A» & lineNumber) будет выполняться так же, как CELL = table.getcellbyname(«A» & LINENUMBER). Мы применяем верхние и нижние регистры только для того, чтобы было легче читать.

Строка filenumber = Freefile присваивает значение уникального идентификатора ID переменной номера файла для того, чтобы вам не было необходимым запоминать любые другие уже назначенные ID.

Команда split особенно полезна. Она получает в качестве входных данных строку и возвращает массив подстрок данной строки, разбитой по разделителю, который вы указали. В вышеприведенном примере мы использовали двоеточие (:) для определения разделителя в файле паролей.

И последнее: одна строка может показаться странной на первый взгляд: Open file For Input As filenumber.
Она указывает на тот факт, что мы используем это как вход для подпрограммы, а не то, что мы собираемся в неё что-то передавать

В заключение:

Мы привели кратчайшее из возможных введений в использование Basic в OpenOffice.org Writer. Мы не рассматривали использование форм, вызовы из других документов, или то, как получать данные из баз данных.

Если вы хотите узнать больше о программировании в OpenOffice.org Basic, то OpenOffice.org поставляется со справкой, в которой есть список всех функций и процедур, которые возможны [1] .

OpenOffice.org Basic — полезный инструмент для автоматизации каждодневных задач — ещё один путь для более разумного подхода к работе.

Обсудить на форуме.

    Читайте оригинальную статью здесь: http://www.linux.com/

  • Файл с текстом перевода и примерами макросов
    • [1] правильнее — «определены» прим.пер.

    Openoffice макросы excel

    Sega
    Автор

    Сообщений: 492
    Откуда: Ярославль

    Решил написать в эту тему

    Короче, один умный пользователь решил автоматизировать свою рутинную работу и написал в Excel’e макрос на VBA. В двух словах: на одном листе книги есть список клиентов с датами рождения и электронными адресами. При выполнении макроса обрабатывается колонка даты рождения и отсылается по электронке письмо с поздравлением. Но в связи с повальными проверками софта перешли на Open Office (сейчас версия 3.0.0 от Sun). Встал вопрос, возможно ли и как малой кровью портировать написанные макросы в OpenOffice? Решал ли кто подобные задачи?

    WbrErr

    AleksM

    Малой кровью, для себя конечно, поручить ему написать макросы в ОО

    Sega
    Автор

    Сообщений: 492
    Откуда: Ярославль

    Igor Korolyov

    Т.е. вариант тупо купить Excel для «нуждающихся» даже не рассматривается

    alextretij

    Сообщений: 283
    Откуда: Украина, г. Терн

    alextretij

    Сообщений: 283
    Откуда: Украина, г. Терн

    Sega
    Автор

    Сообщений: 492
    Откуда: Ярославль

    Не рассматривается . Зачем? Стоит дорого, да и OO за исключением макросов делает всё тоже самое. У меня уже все пользователи к нему привыкли, хотя первую неделю ругались. И софт под него частично уже переписан.

    Кстати, полностью поддерживаю alextretij

    Из архиваторов — 7ZIP, антивирус — AVG, редактор фоток — Paint.NET, вместо Nero — CDburnerXP и т.п.
    Только винда официально везде куплена, да VFP9. Просто у нас постоянные рейды отдел «К» проводит, а в кризис покупка софта — роскошь.

    sphinx

    Сообщений: 26658
    Откуда: Каменск-Уральски

    Я бы не стал доверять одному антивирусу, к тому же бесплатному. Из бесплатных неплохие отзывы о ClamWin и AVira (последний был признан лучшим бесплатным антивирусом 2008). Подробнее можно посмотреть, например, здесь:

    P.S. Сорри за оффтоп.

    alextretij

    Сообщений: 283
    Откуда: Украина, г. Терн

    Igor Korolyov

    Это просто вопрос соотношения стоимости офиса и стоимости переписывания НУЖНОГО функционала Ровно то-же самое что и с самим фоксом — что дешевле — купить лицензию на фокс и винду (причём как правило будет требоваться винда и для клиентов — всё-же фокс не заточен под веб-решения, и он сейчас абсолютно не кроссплатформенный), или взять бесплатную (например явовскую) IDE и переписать на ней весь необходимый софт Учитывая конечно несколько разную стоимость человека-часа работы явовского специалиста и фоксового, ну и разный объём потребного времени.
    Если бы всё было так просто, то уже давным давно все пользовались исключительно бесплатным софтом.
    P.S. Но стремиться, конечно, к этому можно и нужно!

    sphinx

    Сообщений: 26658
    Откуда: Каменск-Уральски

    Перспектива, на Ваш взгляд — на Java?

    Sega
    Автор

    Сообщений: 492
    Откуда: Ярославль

    После шаманский движений с настройками безопасности макросов (поставил Средний уровень). Так же в свойствах VBA поставил галочку «Загружать выполняемый код». И . о чудо, всё стало выполняться. Кое-чего сразу подкрутил .

    Теперь MS Office фтопку. Респект и уважуха OpenOffice .

    Igor Korolyov

    Это был просто пример
    В общем и целом язык нынче не является особой проблемой (фокс скорее исключение, т.к. он сам по себе весьма объёмный — все же прочие довольно примитивны, и по сути мало отличаются друг от друга — вопрос синтаксиса ) — вот все «окружающие технологии» — это да, там отличия огромны. Так что «специалист владеющий Java, C++, C#, Pascal» — это вполне может быть студент, написавший на каждом из перечисленного Hello World.

    alextretij

    Сообщений: 283
    Откуда: Украина, г. Терн

    Igor Korolyov

    Неро пользую Микро — пока не прикрыли лавочку Но и опыт «альтернативщиков» интересен!
    ADCSee — после 3-й версии (той что ADCSee32 была) не пользую, ибо стал УЖАСНЫЙ монстр IrfanView стоит, а в принципе и мультимедиа-плагины к фару решают большинство вопросов просмотра обычных картинок (а в поддержке всяких мудрёных форматов я никогда и не нуждался).
    WinZip — тоже давно пошёл лесом, с рара правда ещё не до конца слез, но основной стоит 7z (да, его ГУИ объективно похуже чем у рара будет, но мне оно не сильно надо, т.к. пользую в основном консоль через фар).
    TC — ушёл после того как начал пользовать TortoiseSVN — т.к. из тотала мне нужно было только сравнение файлов — теперь это есть в другой проге Основным файл-менеджером был и остаётся ФАР с «личной» сборкой плагинов — вообще все «мегасборки» TC что я видел, довольно опасны — там и хактулы какие-то и низкоуровневые утилиты. Т.е. если и пользовать, то самому плагины подбирать лучше.
    Alcohol — не знаю насчёт аналогов — ткнул бы пальцем. Я пользую бесплатную редакцию 52%, ибо нужна редко, и возможностей бесплатной версии хватает.
    FR — не нуждаюсь

    Ссылка на основную публикацию
    Adblock
    detector