|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.03.2013, 11:54 | #1 |
Новичок
Джуниор
Регистрация: 20.03.2013
Сообщений: 5
|
Excel как "калькулятор" сложных вычислений для других приложений Office
Здравствуйте!
Подскажите пожалуйста КАК (или хотя бы подтолкните в нужном направлении), я даже не пойму по каким запросам искать нужную инфу =) Мне нужно из InfoPath (или, например, из Ворда, Акцесса) вызывать Excel, так чтобы он: 1. Запустился в фоновом режиме (не открываясь на экране и не смущая пользователя) 2. Открыл определенную книгу 3. Получил (или использовал уже полученные в момент вызова) от вызвавшей программы данные. 4. Подставил их в определенные ячейки определённой книги. 5. Просчитал (проще говоря обновил книгу с новыми данными). 6. Вернул вызвавшей программе результат (данные одной, либо нескольких заранее определенных ячеек). 7. Тихо-мирно-незаметно закрылся. 8. При этом не задавал пользователю никаких вопросов. Нет ли какого-нибудь стандартного и простого пути для организации таких трюков? Например вызывать его "типа как" функцию с передачей параметров. Если есть вариант не мудрить с VB или С, а использовать что то типа надстроек будет вообще здоровски =)) PS В: -А нахрена тебе это? Считай в программе. О: -У меня сложные многоуровневые прайслисты использующие трехмерные массивы данных, расчет по которым уже реализован в Excel по типу - вводишь в A1 - ширину, B1 - длину, С1 - тип, D1 - подтип... и т.д. и на выходе в А2 получаешь цену, которая считается не простым перемножением, а выборками из табличных прайсов с округлениями учетом остатков и еще чертечем... Последний раз редактировалось denismix; 20.03.2013 в 11:56. Причина: Забыл подписаться на тему. |
20.03.2013, 12:35 | #2 | ||
Форумчанин
Регистрация: 26.04.2010
Сообщений: 450
|
Цитата:
Цитата:
Тишина – самый громкий звук
|
||
20.03.2013, 12:59 | #3 |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
В данном случае, он не всегда самый быстрый. Все зависит от организации исходного файла и количества требуемых цен.
В ряде случаев целесообразнее использовать БД для таких расчетов.
Правильно поставленная задача - три четверти решения.
|
20.03.2013, 14:17 | #4 | |
Новичок
Джуниор
Регистрация: 20.03.2013
Сообщений: 5
|
Цитата:
Насколько реально написать что то типа функции вызова Excel (с передачей параметров и данных) на VB? Подскажите пожалуйста, где искать инфу, а если можно бросьте простенький пример. Мне не важна и не нужна скорость обработки - данные вводятся вручную, посточно и должны сразу же считаться Excelем, а результат заноситься в базу. Последний раз редактировалось denismix; 20.03.2013 в 14:22. |
|
20.03.2013, 15:12 | #5 | |||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Цитата:
соответственно, ответы могут тоже только общего плана Цитата:
(ну а что ещё можно ответить на этот вопрос... все реально, если есть желание и время) Цитата:
Вы написали столько много всего - какую конкретно инфу надо? В учебниках вы вряд ли найдёте похожие примеры. (или искать придется долго) Разбейте задачу на подзадачи, и задавайте более конкретные вопросы, например, «как запустить Excel в фоновом режиме» Тогда мы вам ответим, что так: Код:
Код:
|
|||
21.03.2013, 00:39 | #6 | |
Новичок
Джуниор
Регистрация: 20.03.2013
Сообщений: 5
|
Огромное спасибо за пример и разъяснения!!!
=) Очень трудно сформулировать конкретный вопрос, если не знаешь что спросить...
Поэтому и спрашивал без примеров и очень не конкретно. Теперь все прояснилось, благодаря вашей наводки Яндекс помог найти хороший пример с пояснениями http://msdn.microsoft.com/ru-ru/libr...ffice.15).aspx Проблема в том, что у InfoPath внедрение VB кода выглядит несколько сложнее чем у Excel. Непонятно как лучше\правильнее передавать в Excel данные. Как возвращать. Если вы сталкивались с этим подскажите пожалуйста. Цитата:
Последний раз редактировалось denismix; 21.03.2013 в 00:48. |
|
21.03.2013, 01:26 | #7 | |||||
Форумчанин
Регистрация: 26.04.2010
Сообщений: 450
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Тишина – самый громкий звук
|
|||||
21.03.2013, 02:07 | #8 |
Новичок
Джуниор
Регистрация: 20.03.2013
Сообщений: 5
|
Ещё раз огромное спасибо! Я даже нашёл примеры и описание на сайте Майкрософт и потестил все это на Excel.
Выражается это в том, что у InfoPath нет встроенного редактора VB. Для внедрения туда кода необходимо инсталлировать кучу дополнительных программ и примочек, изучать всю эту ипаторию, включая специфику классов и объектов... Представляете как мне будет обидно, если задача решается гораздо проще другим путем, например через Надстройки , а еще хуже и вовсе не решается написанием кода на VB либо С из за каких либо нюансов? InfoPath продукт относительно новый и как и положено у мелкомягких еще долго будет без нормальных описаний и с кучей особенностей на грани багов. поэтому прежде чем начинать изучать эту тему я хочу услышать экспертное мнение. Последний раз редактировалось denismix; 21.03.2013 в 02:11. |
21.03.2013, 12:26 | #9 | |
Форумчанин
Регистрация: 26.04.2010
Сообщений: 450
|
Я тут загуглил немного. Вики, говорит, что
Цитата:
Тишина – самый громкий звук
|
|
21.03.2013, 12:46 | #10 |
Новичок
Джуниор
Регистрация: 20.03.2013
Сообщений: 5
|
Верно.
А значит для программирования поведения формы Нужно устанавливать все вышеперечисленное + .NET и начинать раскапывать как на этом писать. И не факт что получится как надо. Поэтому пробую найти более простое решение. Мне кажется, что оно где то на поверхности, просто мы не в ту сторону копаем... Вроде как на базе Excel можно создать некий объект, заточенный под определенную задачу и использующий только нужные ему возможности Excel - Надстройка COM. Далее из программы вызывается этот объект с определенными параметрами (в InfoPath это можно сделать через Событие либо Правило) не связываясь сMicrosoft Script Editor (MSE) и Visual Studio Tools. Вот это теперь и хочу для себя прояснить. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как задать "мерность" масива и для каждого "измерения" максимальный индекс | vova_ | Общие вопросы Delphi | 5 | 31.07.2012 22:14 |
Как обойти "преобразование типа из "string" в "float" невозможно" | lexluter1988 | Помощь студентам | 1 | 07.08.2010 12:23 |
настроить при открытии Excel 2003 в окошке "Тип файлов" вывод пункта "Все файлы (*.*)" по умолчанию? | Unior | Microsoft Office Excel | 2 | 01.03.2009 02:42 |
Microsoft Office Outlook : Как убрать это: "<неи" ? | НеиНеи | Софт | 0 | 09.06.2008 17:22 |
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) | Dorvir | Microsoft Office Excel | 2 | 28.03.2008 10:03 |