Страницы: Пред. 1 2 3 4 След.
RSS
Есть ли будущее у VBA
 
Доброе время суток.
Цитата
dolbodub написал:
допускаю, что к офису могут дополнительно прикрутить какой-нибудь C#
Давно уже прикручен Microsoft VSTO, да и у сторонних разработчиков есть реализации, например, Excel-DNA ;)  Что же сначала не поискать, чем писать собственное мнение.
 
Цитата
pharmaprofi написал: но dll ку можно подключить
вот Максим Зеленский даже такой винт предложил в #2 VBA в dll VB.NET...
но dll-ку вроде регистрировать надо... см. линк из ветки #7: Написание библиотеки для Excel - библиотеки, написанной на C# для Excel (VBA)
Изменено: JeyCi - 02.03.2017 21:44:17
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Цитата
Андрей VG написал:
Что же сначала не поискать, чем писать собственное мнение.
Не придирайтесь. Я писал про интегрированный в приложение аналог VBA, доступный для любого непрограммиста, а не про что-то большее.
 
Можно на C# написать dll, завернуть в xll и не нужно ничего регистрировать.
«Бритва Оккама» или «Принцип Калашникова»?
 
Или на vb.net, без разницы.
«Бритва Оккама» или «Принцип Калашникова»?
 
Вот итог данной реализации
http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=79790
«Бритва Оккама» или «Принцип Калашникова»?
 
А вот пример использования.
«Бритва Оккама» или «Принцип Калашникова»?
 
Цитата
bedvit написал:
Можно на C# написать dll, завернуть в xll и не нужно ничего регистрировать.
bedvit, вы бы не забывали только упомянуть, что это сделано при помощи ExcelDNA. ;)
 
Андрей VG, все верно, знаю ExcelDNA, возможно есть и другие продукты.
«Бритва Оккама» или «Принцип Калашникова»?
 
Цитата
bedvit написал: Можно на C# написать dll, завернуть в xll и не нужно ничего регистрировать.
да, поэтому и советовала там пройтись по линку... сама это узнала там (по линку) от вас... или здесь#67... всё равно весь линк полезно полистать... спасибо
Изменено: JeyCi - 03.03.2017 16:25:47
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
JeyCi, понял, спасибо :)
Андрей VG, в моем случае ExcelDNA оказался удобным продуктом, использовал его в своем проекте (в моей библиотеке сторонние разработки отмечены в Help и описании продукта по всем правилам свободной лицензии (уважаю чужой труд). Собственно и своим делюсь безвозмездно.
Собственно сам продукт, кому интересно.
«Бритва Оккама» или «Принцип Калашникова»?
 
Цитата
bedvit написал:
в моем случае ExcelDNA оказался удобным продуктом, использовал его в своем проекте
Полностью согласен, сам пользуюсь - по прежнему месту работы десятка полтора надстроек, сделанных при помощи ExcelDNA, осталось. Здесь тоже уже не раз упоминал (первый) :)
 
Андрей VG, скажу да же больше, припоминая этапы разработки, возможно в кайо-то из этих тем или ваших коментариях я и почерпнул нужную инфо. В то время поглощал информацию килобайтами )
«Бритва Оккама» или «Принцип Калашникова»?
 
Цитата
Андрей VG написал:
десятка полтора надстроек
Впечатляет! У меня всего две :)  .xlam и .xll. Мне показалось удобнее, когда всё в одном месте.
«Бритва Оккама» или «Принцип Калашникова»?
 
Причём xll можно упаковать в xlam или xlsb и вызывать по мере необходимости кнопкой или повесить на Workbook_Open. Пользователь да жнать о ней не будет.
«Бритва Оккама» или «Принцип Калашникова»?
 
Такая идея реализована в примере выше.
«Бритва Оккама» или «Принцип Калашникова»?
 
Да, а вот майкрософт офисе XP деволопер был просто пункт в меню Compile, и надстройка xla превращалась в dll :(
Изменено: PowerBoy - 03.03.2017 21:58:34
Excel + SQL = Activetables
 
Цитата
bedvit написал:
Впечатляет! У меня всего две
bedvit, да у меня ничего серьёзного, больше по бахвалился, собственно. По объёму элементов на ленте не дотягивает до надстройки Николая Павлова всей толпой :) . Просто по прежнему месту работы заказы были: гравиразведка, магниторазведка, элекроразведка, каротаж, геохимия, минералоги и т. д.. Зачем геохимику надстройки геофизиков?
В основном код для преобразования форматов из одной специализированной программы в другую, плюс обработка или предварительная или на базе тех методов, которых не было в их специализированных программах. Так как эти программы не предусматривали написание расширений, то надстройки в Excel использовались как способ собрать нужное в одном месте (по существу - всё это можно было сделать мелкими утилитами командной строки, но кто сейчас хочет работать с командной строкой?).
 
Андрей VG, по правде говоря я и сам пользуясь редко командной строкой. Моя специфика - экономика, финансы, розничная аналитика, работа с БД (в т.ч.Oracle). По большей части продукт специализирован для одной компании (с прицелом на универсальность). Страшно признаться - у меня нет Ribbon-интерфейса :) интерфейс напилин собственный ещё в Ех2003, для каждого отдела своя закладочка (в основном это вызываемые пользовательские формы)+общие для всех+группа новых команд контекстного меню+UDF+встроенная xll. Вообщем ничего сложного.
Изменено: bedvit - 04.03.2017 19:12:25
«Бритва Оккама» или «Принцип Калашникова»?
 
Доброго дня, всем.
Просьба особо не пинать - я опять со своим R - просто как альтернатива.
Сейчас полностью ушел в data mining в ритейле - для решения задач функционала экселя просто не хватает.
Сделал следующую связку - эксель для сбора данных от пользователей (настройки, параметры расчетов), по кнопке вызывает R portable version, где применяются расчеты с техниками машинного обучения, результат выводится в виде веб-страницы (пакет Shiny). Таким образом можно работать с big data сохраняя удобный для пользователя интерфейс.
Решаемые задачи - прогноз продаж по категориям с дневной календаризацией с учетом динамической сезонности, парсинг данных с сайтов, обработка REST запросов.  
 
R, конечно, крут, особенно когда дело касается статистической обработки.
С dplyr можно и базовые трансформации накрутить не хуже, чем Power Query.
Ну и количество доступных библиотек уже зашкаливает.
Но всё же для этих целей нужен R. Portable или не portable, а это еще одна программа, которая должна быть где-то установлена.
То есть, фактически, вы используете R как внешний обработчик данных, хранящихся в Excel.
F1 творит чудеса
 
Доброе время суток.
Выкладываю проект надстройки с использованием ExcelDNA. Панель с таблицей листов текущей книги делалась с учётом особенностей интерфейса Excel 2013, 2016, в 2010 будет вести себя криво. Есть пользовательские функции рабочего листа: СОДЕРЖИТ проверяет есть ли в заданном тексте подстрока, удовлетворяющая заданному шаблону регулярного выражения, ПЕРВХОЖДЕНИЕ возвращает первую подстроку, удовлетворяющую такому шаблону. Функции поддерживают в мастере функций описание и вызов справки.
Может кому-то поможет перейти с VBA на C# :)  Сразу предупреждаю, все как есть (есть не допиленные моменты).
 
Цитата
pharmaprofi написал:
Не что не мешает писать на C# под офис.
Цитата
JeyCi написал:
очень много тонкостей этого языка неудобных бытовому юзеру
В этом ОЧЕНЬ БОЛЬШОЙ ПЛЮС VBA - доступность программирования, не имея специальной многолетней подготовки по изучению языка + совместимость - если на компе есть Microsoft Office, достаточно открыть файл с кодом на VBA, и программа будет работать, независимо от версии Винды, чего не скажешь о других программах, которые написаны большими коллективами высококлассных программистов в последнее время но эти программы не очень хорошо работают с более ранними версиями Windows. Конечно, это вопрос коммерческого использования программ, но VBA дает очень много возможностей рядовому юзеру, поэтому скорее всего это будет жить очень долго. Соглашусь с:
Цитата
dolbodub написал:
В Майкрософте слишком любят деньги, чтобы просто так проигрывать и операционку, и офисный пакет
 
Цитата
_Igor_61 написал:
достаточно открыть файл с кодом на VBA, и программа будет работать, независимо от версии Винды,
Увы, смелое утверждение, например, и далеко не единственное :(
 
Да, в этой теме вопрос пока не решен, и причина не выяснена, а их там может быть очень много, и скорее всего просто у заказчика действительно во время работы открыта куча приложений (хотя, конечно, может это и не так, т.к. из темы не видно полной картины ситуации).
Я имел ввиду коды VBA, написанные в ранних версиях. Часто ли случается такое, что они не работают в новых ? Например, код написан в Offoce 2003, Windows XP. Всегда ли он будет работать корректно в других версиях Офиса и Винды? Если нет, то в чем могут быть проблемы совместимости, и насколько реально (и насколько сложно) их обойти средствами VBA?
 
Цитата
_Igor_61 написал:
Часто ли случается такое, что они не работают в новых ?
Смотря что использовалось, что приостановлено для использования в 2013, 2016 и работать не будет из созданного в 2003.
Изменено: Андрей VG - 26.03.2017 10:09:47
 
Андрей VG, спасибо! В общем, все как и везде в жизни - все очень индивидуально  :). И напрашивается вывод: нужно иметь все версии и проверять все на каждой, т.к. запомнить и отследить все изменения сложно, и нужно действовать просто проверкой - работает или нет, и если нет - исправлять. В любом случае - безвыходных ситуаций не бывает, то бишь - дорогу осилит идущий! Большое спасибо за ссылку, очень полезная информация, буду изучать.
 
Цитата
Андрей VG написал:
Выкладываю проект  надстройки  с использованием ExcelDNA.
Андрей глянул, полезная вещь. Для начинающих и желающих писать на C# для Excel самое то :)
Сохранил и себе. Есть некоторые интересные моменты. Принимайте благодарность!
«Бритва Оккама» или «Принцип Калашникова»?
 
Поставил себе Visual Studio 2017 (причем ставится отдельно от 2015) на win10, тестирую  .Net Core и .Net Native.
«Бритва Оккама» или «Принцип Калашникова»?
 
вот и будущее
Изменено: JeyCi - 04.05.2019 09:07:48
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Страницы: Пред. 1 2 3 4 След.
Наверх