Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
Модератор
Эксперт .NET
4203 / 3287 / 497
Регистрация: 27.01.2014
Сообщений: 6,033
1

Нужен очень простой и очень содержательный мануал по взаимодействию приложений, написанных на VB 6.0

02.10.2014, 16:44. Показов 1436. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день всем,
очень нужен очень простой в понимании и очень содержательный мануал по взаимодействию приложений, которые пишутся на VB6.0 с файлами Excel и Word....
Весьма необходимо.

Кто имеет данную литературу, не могли бы поделиться пожалуйста.
Очень буду признателен за помощь.

С уважением,
Юрий.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.10.2014, 16:44
Ответы с готовыми решениями:

Нужен очень простой и легковесный CMS
Посоветуйте. Из функционала нужно: форма регистрации с личным кабинетом и отправка почты формы на...

Нужен очень очень хитрый запрос Select
Здравствуйте гуру программирования я наткнулся на гигантскую для меня проблему!!! Запрос нужно...

Очень сильно нужен совет как поступить в такой ситуации не простой?)
Возникла такая проблема, поехал как-то я в магазин строительный купить плитку, но у меня не было...

Ну очень простой макрос.
Здравствуйте дорогие программисты. У меня к Вам маленькая просьба. Вы не могли бы написать для меня...

16
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,644
Записей в блоге: 13
02.10.2014, 19:18 2
Цитата Сообщение от Yury Komar Посмотреть сообщение
по взаимодействию приложений, которые пишутся на VB6.0 с файлами Excel и Word....
- ищи материалы по COM. Вот здесь, например, лежат две моих статьи на эту тему.
3
Модератор
Эксперт .NET
4203 / 3287 / 497
Регистрация: 27.01.2014
Сообщений: 6,033
02.10.2014, 22:14  [ТС] 3
По СОМ? Тоесть?
И... спасибо большое... рад был снова с вами повстреяаться
0
Модератор
9724 / 3685 / 871
Регистрация: 22.02.2013
Сообщений: 5,530
Записей в блоге: 78
02.10.2014, 22:21 4
Читай описание методов. Для создания используй либо CreateObject (GetObject или доступ через ROT) для позднего связывания, либо подключай в референсы нужную библиотеку для раннего.
http://citforum.ru/programming/windows/excel_obj/
http://citforum.ru/programming/vb/vba_word/
4
Модератор
Эксперт .NET
4203 / 3287 / 497
Регистрация: 27.01.2014
Сообщений: 6,033
04.10.2014, 21:11  [ТС] 5
The trick, не знаете в чем модет быть проблема?
1. Стоит офис 2013
2. Не могу подключить Microsoft Excel Object Library так как она просто напросто отсутствует в компонентах.
3. Ни один пример не могу запустить изза отсутсвия библиотеки. Почему ее нет? И как сделать чтобы была?

И на засыпку. Если я с 15-ой библиотекой скомпилирую проект и запущу на компе с офисом постарее где например библиотека 11-я или 14-я. Проект работатт будет?

Добавлено через 1 минуту
Catstail, а у вас такой проблемы не было? См. пост выше...
0
Модератор
9724 / 3685 / 871
Регистрация: 22.02.2013
Сообщений: 5,530
Записей в блоге: 78
04.10.2014, 21:12 6
Yury Komar, офис какой, 64-разрядный?
0
Модератор
Эксперт .NET
4203 / 3287 / 497
Регистрация: 27.01.2014
Сообщений: 6,033
04.10.2014, 21:21  [ТС] 7
The trick, да он самый... в этом значит дело?
Понял. Переставлю на 32. Спасибо. Как то и не подумал об этом. )

А начет вопроса на засыпку? Будет ли работать приложение там, где офис постарее. И/или 64х битный?
0
Модератор
9724 / 3685 / 871
Регистрация: 22.02.2013
Сообщений: 5,530
Записей в блоге: 78
04.10.2014, 21:22 8
Лучший ответ Сообщение было отмечено Yury Komar как решение

Решение

Yury Komar, Используй позднее связывание - тогда будет работать и на старых (если есть такие методы, которые ты вызываешь). 64-разрядный не будет работать.
1
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,644
Записей в блоге: 13
04.10.2014, 21:25 9
Цитата Сообщение от Yury Komar Посмотреть сообщение
а у вас такой проблемы не было?
- не сталкивался, т.к. работаю до сих пор с 2003-м (и в 32-х битной среде).

Добавлено через 2 минуты
Недавно столкнулся с "обратной" проблемой. Приложение из старого офиса не запускается в новом, поставленном поверх старого (невразумительное сообщение "нет нужной библиотеки или компонента"). Помогло удаление в Local Settings файлов *.exd
1
Модератор
Эксперт .NET
4203 / 3287 / 497
Регистрация: 27.01.2014
Сообщений: 6,033
04.10.2014, 21:26  [ТС] 10
The trick, а как поздее связывание сделать?
0
Модератор
9724 / 3685 / 871
Регистрация: 22.02.2013
Сообщений: 5,530
Записей в блоге: 78
04.10.2014, 21:29 11
Лучший ответ Сообщение было отмечено Yury Komar как решение

Решение

Yury Komar, Все объектные переменные замени на Object, и из референсов убери ссылку на библиотеку. Создавай/получай через CreateObject, GetObject. На этапе проектирования можно оставить, чтобы видеть методыи свойства.
1
Модератор
Эксперт .NET
4203 / 3287 / 497
Регистрация: 27.01.2014
Сообщений: 6,033
04.10.2014, 21:45  [ТС] 12
The trick, тоесть вот это:
Visual Basic
1
Dim XL as new Excel.Application
Объявить как Object, а ее как Excel.Application?

И потом делать просто:
Visual Basic
1
Set XL = CreateObject("Excel.Application")
Правильно я понял?
И при каждом обращении к ячейке экселя делать GetObject?
0
Модератор
9724 / 3685 / 871
Регистрация: 22.02.2013
Сообщений: 5,530
Записей в блоге: 78
04.10.2014, 21:48 13
Лучший ответ Сообщение было отмечено Yury Komar как решение

Решение

Так писать нельзя:
Visual Basic
1
Dim XL as new Object
, т.к. Object - это интерфейс. Пишешь просто:
Visual Basic
1
Dim XL as Object
В коде, да,
Visual Basic
1
Set XL = CreateObject("Excel.Application")
1
Модератор
Эксперт .NET
4203 / 3287 / 497
Регистрация: 27.01.2014
Сообщений: 6,033
04.10.2014, 21:52  [ТС] 14
The trick, как я понял все будет по прежнему, толтько библиотеку не подключать и не создавать объект екселя а обычный объект. Все остальные обращения к созданному объекту остануться прежними? Например: XL.sheet1.range("a1") = "привет"
0
Модератор
9724 / 3685 / 871
Регистрация: 22.02.2013
Сообщений: 5,530
Записей в блоге: 78
04.10.2014, 22:01 15
В общих чертах так.
1
Модератор
Эксперт .NET
4203 / 3287 / 497
Регистрация: 27.01.2014
Сообщений: 6,033
04.10.2014, 22:08  [ТС] 16
The trick, благодарствую, Анатолий.
Очень выручаешь.!
0
Заблокирован
06.10.2014, 09:22 17
Ещё следует помнить о том, что все константы типа xlNext(=1) и т.д. при позднем связывании надо объявлять самим или сразу заменять на численные значения.
2
06.10.2014, 09:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.10.2014, 09:22
Помогаю со студенческими работами здесь

Очень простой редактор
Привет всем. Хочу написать простой XML редактор и вот натолкнулась на проблему, помогите...

Очень простой вопрос.
Друзья, есть ли такая системная переменная в АСП, которая возвращает текущий адрес веб-страницы со...

Очень простой вопрос
Помогите плз с задачей, Я ее зделал но значения выводятся не через пробел а вместе (не 1 6 а...

Очень простой вопрос
Здравствуйте. Подскажите пожалуйста, почему это не работает- use sample; GO ALTER DATABASE...

Очень простой шифровальщик
Здравствуйте,написал код который шифрует введенное слово,по порядковому номеру в анл....

Очень простой запрос
Вроде самые азы но чето недопонимаю.Нужно создать запрос на знакомых у кого 2 и более детей, поля...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru