Модераторы: mihanik

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вызвать макрос и передать параметры из VB 
:(
    Опции темы
dobbro
Дата 22.8.2011, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 12.1.2008

Репутация: нет
Всего: нет



Добрый день. Есть необходимость вызывать уже готовый, отлаженный макрос из кода VB. Смысл такой - юзер вводит в TextBox-ы значения какие то, я их читаю, присваиваю переменным, а потом эти переменные нужно передать в макрос. Макрос должен сработать. Назад в программу ничего не передается. Ну или буду передавать "ОК" там какой-нибудь. Как мне это сделать. Учебники читать я бросил, т.к. там хрень пишут иногда такую, что можно 2 суток сидеть в недоумении. Заранее спасибо!
PM MAIL   Вверх
CaptainNemo
Дата 23.8.2011, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 5.6.2008
Где: White Russia, Min sk

Репутация: 2
Всего: 9



dobbro
Цитата

макрос из кода VB

Не совсем понятен вопрос. Хотите из программы, написанной на VB6 (VB.NET) запускать MS Office и передавать параметры в макрос? Или речь идет исключительно о VBA? 

Это сообщение отредактировал(а) CaptainNemo - 23.8.2011, 00:59
PM MAIL WWW ICQ Skype GTalk   Вверх
dobbro
Дата 23.8.2011, 08:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 12.1.2008

Репутация: нет
Всего: нет



Цитата

Хотите из программы, написанной на VB6 (VB.NET) запускать MS Office и передавать параметры в макрос?

да. именно так. просто макрос был написан уже давно. сейчас захотел скомпилировать exe-к чтобы не мучиться с этими макросами... Проще всего как то интегрировать форму мою с макросом. Чтобы всю прогу не переписывать.
PM MAIL   Вверх
Staruha
Дата 23.8.2011, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 13
Всего: 27



Если форму пишешь на VB6 то за кодом туда иди.Если на делфи в xl могу скинуть


--------------------
Возмездие настигнет
PM MAIL   Вверх
dobbro
Дата 23.8.2011, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 12.1.2008

Репутация: нет
Всего: нет



Цитата

Если на делфи в xl могу скинуть

давай на делфи. мне все равно, главное чтобы работало
PM MAIL   Вверх
Staruha
Дата 23.8.2011, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 13
Всего: 27



Могу только вечером.Все дома.Можешь на Делфи сходить там эта тема обсуждалась.А данные ты кидаешь не в макрос а в ячейки.Оттуда потом макрос или в переменные


--------------------
Возмездие настигнет
PM MAIL   Вверх
dobbro
Дата 23.8.2011, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 12.1.2008

Репутация: нет
Всего: нет



Цитата

А данные ты кидаешь не в макрос а в ячейки

так, а как же моя прога инициирует запуск макроса тогда? Если из проги данные писать в ячейки активной книги, то просто конечно получается. Но как эту книгу открыть и запустить макрос на выполнение после того, как прога заполнит соответствующие ячейки?
PM MAIL   Вверх
Akina
Дата 23.8.2011, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



dobbro, подключи соотв. референсную библиотеку, создай объект соотв. приложения, и работай с ним из VB так,  как будто ты всё ещё внутри Офиса и пишешь на VBA. Заноси значения в ячейки, вызывай подпрограммы с параметрами и пр.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
dobbro
Дата 23.8.2011, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 12.1.2008

Репутация: нет
Всего: нет



Цитата

подключи соотв. референсную библиотеку, создай объект соотв. приложения

я бы так и сделал, если бы знал что и как подключать...
PM MAIL   Вверх
Akina
Дата 23.8.2011, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



См. аттач.

Присоединённый файл ( Кол-во скачиваний: 12 )
Присоединённый файл  1.PNG 30,19 Kb


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Staruha
Дата 23.8.2011, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 13
Всего: 27



   
Код

procedure Tform1.Zarplata(Sender: TObject);
   var
ex:variant;
begin
     ex:=createoleobject('excel.application');
ex.workbooks.open('C:\Проект\Zarplata.xlt');
       ex.worksheets[1].cells[1,1].value:=Edit1.text;
ex.visible:=true;
end;

Вот из едита кидаешь в ячейку 1.Смотришь с какими ячейками работает макрос и можешь кинуть данные туда

Это сообщение отредактировал(а) Staruha - 23.8.2011, 21:17


--------------------
Возмездие настигнет
PM MAIL   Вверх
dobbro
Дата 24.8.2011, 08:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 12.1.2008

Репутация: нет
Всего: нет



Цитата(Akina @ 23.8.2011,  14:58)
См. аттач.

Akina, ссылку подключил. теперь бы понять как объект создать... я в VB 1 раз пишу, так что помощь нужна...
PM MAIL   Вверх
Akina
Дата 24.8.2011, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Код

dim xl as excel.application



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
dobbro
Дата 24.8.2011, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 12.1.2008

Репутация: нет
Всего: нет



Цитата

dim xl as excel.application

а дальше что? как с ним потом работать? 1 пример, чтобы я понял плиз
PM MAIL   Вверх
Akina
Дата 24.8.2011, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Цитата(dobbro @  24.8.2011,  09:39 Найти цитируемый пост)
а дальше что? как с ним потом работать? 1 пример, чтобы я понял плиз 

А дальше в поиск по форуму... там и примеры есть.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0829 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.