Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2010, 23:25   #11
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Ну сказать что VSTO это отупление - IMHO, неправильно.
Просто не у всех стоит Visual Studio... Да и с версиями DOT.NET при отчуждении
продукта бывают проблемы. Собственно, IMHO, это относится почти ко всем микрософтовским технологиям. Они очень мощны и удобны пока разрабатываешь проект для себя или для конкретного корпоративного заказчика. А вот как только
выяснятся, что среда может быть очень разной (в рамках линейки версий MS продуктов) нужно приложить значительные силы что бы твой продукт работал как задумано...
Ещё один пример на эту же тему. C 2007 офиса VBE использует MS HELP 2.x
Старый CHM HELP не подхватывается автоматически при присоединении COM объекта к проекту через References...
Я пока не нашёл удобного инструмента, который бы позволял получить контекстную справку по элементу текста в VBE 2010, подключив CHM Help.
Понятно, что нас толкают к разработке не в среде VBE (кстати редактор то скриптов MS Script Editor, который вызывался по Alt-Shift-F11, тихо исчез ...), а
в среде VS 2010, которая теперь уже и HELP 3 поддерживает. Но хотелось бы
сохранения обратной совместимости ...
-------------------------Конец OFFTOPIC---------------------------
Что касается использования VBA, то вопрос только один:
На какое событие посадить обработчик изменения значения ячейки ?...
Если, скажем, на клик мыши то легко ...
Впрочем, сейчас придумал.
Можно в ячейку таблицы для значения логарифма писать что то типа
{!LN(A23)}, перехватывать сохранение и печать документа и расширять это поле вычислением логарифма от соответствующей ячейки на VBA
Но полной динамики, как пишет Гошик
Цитата:
чтобы автоматически считало значения при постановке данных в таблицу
всё равно не будет.
Если же не требовать полной динамики и автоматики, то макрос для пересчёта своих полей можно поместить в надстройку и привязать к какой нибудь кнопке ...
В простейшем случае (как я уже писал выше) можно поместить вызов макроса для пересчёта таблицы в поле MACROBUTTON в заголовке таблицы и сразу делать
необходимый расчет.

Последний раз редактировалось Aent; 12.10.2010 в 01:47.
Aent вне форума Ответить с цитированием
Старый 13.10.2010, 01:09   #12
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Вот вам пример вычисляемых пользовательских полей.
Он, кстати, легко расширяется на любые функции.
Вложения
Тип файла: doc MyFld.doc (64.5 Кб, 85 просмотров)
Aent вне форума Ответить с цитированием
Старый 13.10.2010, 01:19   #13
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Офигеть! Впечатление — как впервые увидеть компьютер.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 13.10.2010, 04:25   #14
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Пример вычисления функций, отсутствующих в полях, с помощью рядов
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 13.10.2010, 14:38   #15
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Во многих случаях для практических расчетов бывает достаточно (и эффективнее) воспользоваться разложением Чебышева.
Cм., к примеру: http://window.edu.ru/window_catalog/...4/mtdukvm6.pdf стр 17

ln(x) {=1/32 + 11 * (arg1-1) /8 - (3*(arg1-1)^2)/4},
где arg1 это закладка на аргументе функции.

Точность довольно низка (1/5). Но тем ни менее ..
Aent вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
а кто знает какую функцию qazz Общие вопросы C/C++ 8 17.05.2010 08:25
какую функцию excel использовать? Railana Microsoft Office Excel 2 01.02.2010 11:28
Какую надо задать маску для MaskEdit, чтобы можно было вводить только цифры (притом с запятой)? Polotenchik Компоненты Delphi 24 17.07.2009 21:29
Подскажите пожалуйста какую функцию необходимо использовать... Андрю)(@ Паскаль, Turbo Pascal, PascalABC.NET 1 10.12.2008 00:03
Подскажите пожалуйста какую функцию необходимо использовать... Андрю)(@ Помощь студентам 1 09.12.2008 23:53