powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Запуск из Word функции Excel
13 сообщений из 13, страница 1 из 1
Запуск из Word функции Excel
    #36613359
Не тот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток, уважаемые!!!
Вопрос такой. В екселе есть самодельная функция, возвращает некие данные из базы. Функция лежит в надстройке в папке XLSTART. Так вот, нельзя ли ее вызвать из Ворда?
Пробовал решать проблему:
1. Путем запуска Екселя и вызова функции из него
2. Копипастом в вордовский шаблон (сейчас работает именно так)
Нет ли какого-нибудь более правильного метода?
...
Рейтинг: 0 / 0
Запуск из Word функции Excel
    #36613910
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то так для начала:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Sub Example()
Dim oExcel As Object

Set oExcel = CreateObject("Excel.Application")
'oExcel.Visible = True
oExcel.Workbooks.Open "C:\Program Files\Microsoft Office\OFFICE11\XLSTART\Файл.xls"
oExcel.Run "Файл.xls!Макрос1"
...
oExcel.Quit:Set oExcel = Nothing
End Sub
...
Рейтинг: 0 / 0
Запуск из Word функции Excel
    #36614073
Не тот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторКак-то так для начала:
Спасибо, но это первый способ (запуск екселя).
Вопрос, можно ли без этого обойтись?
...
Рейтинг: 0 / 0
Запуск из Word функции Excel
    #36614255
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не тотавторКак-то так для начала:
Спасибо, но это первый способ (запуск екселя).
Вопрос, можно ли без этого обойтись?
Не тот , если база данных - не книга Excel, то ответ однозначный - "да", поскольку запрос к БД можно делать и из Word, если же БД - книга Excel, то надо смотреть: многое зависит от организации данных в этой книге.

Опишите задачу подробнее: какая база, что за "самодельная функция", как получаете данные "копипастом" и т.д.
...
Рейтинг: 0 / 0
Запуск из Word функции Excel
    #36614481
Не тот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторНе тот, если база данных - не книга Excel, то ответ однозначный - "да", поскольку запрос к БД можно делать и из Word, если же БД - книга Excel, то надо смотреть: многое зависит от организации данных в этой книге.

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

vlth, спасибо за терпение.

"самодельная функция" - функция, которая возвращает из MSSQL баланс по номеру контрагента на определенную дату.
На входе - № контрагента, дата, на выходе - всего одно число. Внутри нее АДО и все дела (на данном этапе это не суть важно, там может быть обращение к любому источнику данных).
Как реализовать ее в Ворде - да так же, как и в Екселе ("копипастом").
Вопросы:
1. Нельзя ли вызвать функцию не запуская Екселя (типа обратиться к надстройке как к библиотеке что ли)?
2. Нафига копипастить код, если он уже написан и работает?
Решение есть еще одно. Запихать код в длл и обращаться к ней. Но тоже не айс (компиляция и все такое, одним офисом не обойтись).
Одним словом, нужен ответ на первый вопрос и все.
...
Рейтинг: 0 / 0
Запуск из Word функции Excel
    #36614526
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не тот , скопируйте функцию в модуль документа Word и подключите в референсах ссылку на ADO, если код функции это подразумевает.
Как я понял, объекты Excel в функции не используются, поэтому располагать её, скорее всего, можно в любом приложении, поддерживающем VBA, без какой-либо серьёзной модификации.
...
Рейтинг: 0 / 0
Запуск из Word функции Excel
    #36615088
Не тот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторНе тот, скопируйте функцию в модуль документа Word и подключите в референсах ссылку на ADO, если код функции это подразумевает.
Как я понял, объекты Excel в функции не используются, поэтому располагать её, скорее всего, можно в любом приложении, поддерживающем VBA, без какой-либо серьёзной модификации.
Вот именно так сейчас и работает.
Вопрос в том, что копипаст кода - занятие не правильное. Библиотека функций, получающих данные из базы растет и обновляется. Хотелось бы держать этот код в ОДНОМ месте для всех приложений Office, потому что специфичного для какого-нибудь приложения там ничего нет, а при каких-то изменениях будут определенные проблемы (менять во всех шаблонах, надстройках и т. п.).
...
Рейтинг: 0 / 0
Запуск из Word функции Excel
    #36615130
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не тот ,
подключить в референсах не пробовали это файл надстройки?
...
Рейтинг: 0 / 0
Запуск из Word функции Excel
    #36615149
Не тот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пробовал tools->references->browse->Имя_надстройки
результат:
Can't add a reference to the specified file
...
Рейтинг: 0 / 0
Запуск из Word функции Excel
    #36615229
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
Const cstrModule = "...Путь к модулю\Module1.bas"
With ThisDocument.VBProject.VBComponents 'With ThisWorkbook... и т.д.
    .Remove Item("Module1") 'Удаляем модуль с устаревшей процедурой
    .Import cstrModule  'Импортируем  модуль с обновлённой процедурой
End With
...
Рейтинг: 0 / 0
Запуск из Word функции Excel
    #36615448
Не тот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vlth,

Код: plaintext
1.
2.
3.
4.
Const cstrModule = "...Путь к модулю\Module1.bas"
With ThisDocument.VBProject.VBComponents 'With ThisWorkbook... и т.д.
    .Remove Item("Module1") 'Удаляем модуль с устаревшей процедурой
    .Import cstrModule  'Импортируем  модуль с обновлённой процедурой
End With

Спасибо, как вариант можно использовать для обновления.
А нельзя ли в проекте ссылаться на модуль, а не менять его каждый раз?
...
Рейтинг: 0 / 0
Запуск из Word функции Excel
    #36616101
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет
...
Рейтинг: 0 / 0
Запуск из Word функции Excel
    #36616233
Не тот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vlthНет
Печально.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Запуск из Word функции Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]