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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2013, 15:09   #1
gsg
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 108
Хорошо Excel-Autocad позднее связывание

Здравствуйте.

Возникла необходимость работы с автокадом без ссылок на библиотеки.
Столкнулся со следующей проблеммой - как присвоить значение переменной приложения автокада, если он уже запущен? Нашел такой вариант:

Код:
If Tasks.Exists("Autocad") = False Then
    Set Acd = CreateObject("Autocad.Application")
    Set AcdDoc = Acd.ActiveDocument
' с этой частью нет проблем
Else
    Tasks("Autocad").Activate
    Debug.Print Tasks("Autocad").Name ' пишет:AutoCAD Civil 3D 2011 - [Чертеж1.dwg]
    Debug.Print Tasks("Autocad").Application.Name ' пишет: Microsoft Word - не понятно...
    'Set Acd =??? - собственно, основной вопрос
End If
-Возьмите лучших их лучщих!
-Лучшие из лучших зализывают раны...
-Тогда, возьмите лучших из худших!
gsg вне форума Ответить с цитированием
Старый 21.10.2013, 15:13   #2
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
Код:
    Tasks("Autocad").Activate
    Debug.Print Tasks("Autocad").Name ' пишет:AutoCAD Civil 3D 2011 - [Чертеж1.dwg]
    Debug.Print Tasks("Autocad").Application.Name ' пишет: Microsoft Word - не понятно...
    'Set Acd =??? - собственно, основной вопрос
замените на
Код:
    Set Acd = Tasks("Autocad")
    Acd.Activate
    Debug.Print Acd.Name ' пишет:AutoCAD Civil 3D 2011 - [Чертеж1.dwg]
    Debug.Print Acd.Application.Name ' пишет: Microsoft Word - не понятно...
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 21.10.2013, 15:30   #3
gsg
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 108
По умолчанию

принципиально ничего не изменилось:

Код:
Set Acd = Tasks("Autocad")
    Acd.Activate
    Debug.Print Acd.Application.Name ' - Microsoft Word
-Возьмите лучших их лучщих!
-Лучшие из лучших зализывают раны...
-Тогда, возьмите лучших из худших!
gsg вне форума Ответить с цитированием
Старый 21.10.2013, 15:45   #4
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Какие принципиальные изменения Вам нужны?

Цитата:
как присвоить значение переменной приложения автокада, если он уже запущен?
ответ был здесь:

Цитата:
Код:
Set Acd = Tasks("Autocad")
Что не устраивает?
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 21.10.2013, 15:49   #5
gsg
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 108
По умолчанию

Код:
Debug.Print Acd.Application.Name  = Microsoft Word
-Возьмите лучших их лучщих!
-Лучшие из лучших зализывают раны...
-Тогда, возьмите лучших из худших!
gsg вне форума Ответить с цитированием
Старый 21.10.2013, 15:57   #6
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Ну так включите раннее связывание и проштудируйте все свойства классов из библиотеки Автокада. Решение где-то там будет. Но, из разряда предположений, в приложении автокада внутри имеется приложение word для каких-либо неочевидных целей...
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 21.10.2013, 16:58   #7
gsg
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 108
По умолчанию

вопрос решен.

Код:
Set Acd = GetObject(, "autocad.application")
-Возьмите лучших их лучщих!
-Лучшие из лучших зализывают раны...
-Тогда, возьмите лучших из худших!
gsg вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
meta-дата и позднее связывание Voipp C# (си шарп) 1 04.07.2013 18:03
Excel+Autocad+VBA Nicolas_46 Microsoft Office Excel 11 23.12.2012 03:14
Excel & Autocad Kliken Microsoft Office Excel 5 17.12.2012 22:47
Позднее связывание и полиморфизм Delphi iCaesy Помощь студентам 14 09.10.2011 23:55
Позднее связывание _Art_ Общие вопросы C/C++ 1 19.12.2009 12:53