|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Как сохранить в DOC файл, OLE2Frame объект Word вставленный в DWG?
Регистрация: 25.05.2012
Сообщений: 12
|
||
Просмотров: 8414
|
|
||||
Регистрация: 25.05.2012
Сообщений: 12
|
Весь день копал интернет, нашел вот такой примерчик открытия Excel документа интегрированного в AutoCAD.
Sub TestItOut() Dim testEnt As AcadEntity, pkPnt As Variant ThisDrawing.Utility.GetEntity testEnt, pkPnt If testEnt.ObjectName = "AcDbOle2Frame" Then _ openOle (testEnt.Handle) End Sub Sub openOle(entHandle As String) Dim qM As String qM = """" ThisDrawing.SendCommand _ "(command " & qM & "SELECT" & qM & ") " & _ "(handent " & qM & entHandle & qM & ") " & _ "(command " & qM & "OLEOPEN" & qM & ") " DoEvents End Sub Но у меня и этот фокус не выходит. Судя по коду по команде handent должен OLE объект должен выделиться чтобы затем его открыть командой OLEOPEN. Но этого не происходит. Помогите кто может! |
|||
![]() |
|
||||
Регистрация: 25.05.2012
Сообщений: 12
|
Олег (jr.), Спасибо большое! Сработало. Сейчас на Delphi у меня это выглядит так:
AcadApplication.ActiveDocument.SendCommand('(command "_SELECT" (handent "'+AcadObject.Handle+'") "" "_OLEOPEN")'+chr(13)); При выполнении OLE объект открывается в Word-е. Остаются следующие проблемы: 1)При выполнении команды AutoCad визуализируется (на экране открывается окно AutoCad). При выполнении программы AutoCad должен оставаться в фоновом режиме. 2)В конечном итоге мне необходимо сохранить OLE объект в doc файл, а пока я научился только его открывать. Поиски продолжаются, надеюсь я иду в правильном направлении. Если у кого есть идеи буду очень благодарен. |
|||
![]() |
|
||||
Регистрация: 25.05.2012
Сообщений: 12
|
Почти получилось.
Копирую в буфер обмена OLE объект Word командой: AcadApplication.ActiveDocument.SendCommand('(command "_copyclip" (handent "'+AcadObject.Handle+'") "")'+chr(13)); И затем вставляю содержимое буфера в Word документ. НО! Данная команда выполняется только 1 раз нормально. при втором выполнении вываливается ошибка автокада. Причём если её выполнить прям в командной строке AutoCad, то первое выполнении проходит без единой зацепки, сразу после выполнения в буфере оказывается фрагмент Word документа. А вот при втором выполнении (если в dwg файле несколько OLE объектов) выдаёт надпись <имя объекта:7EFD42D8> и ждёт ещё каких то действий "Enter" или "Esc"... По "Esc" вообще выдаёт надпись "Ошибка: функция отменена"... ![]() Тут есть знатоки AutoLisp? Последний раз редактировалось Enion, 31.05.2012 в 14:45. |
|||
![]() |
|
||||
Засунуть в память оле объекты из чертежа можно так (для AutoCAD 2010-2012):
Код:
UPD Для AutoCAD 2009 импортируемые функции следует определять так: Код:
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось hwd, 07.06.2012 в 13:16. |
||||
![]() |
|
||||
Цитата:
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось hwd, 28.03.2013 в 10:38. |
||||
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сохранить файл dwg в pdf ??? | eclipse | AutoCAD | 64 | 30.06.2011 10:47 |
Вставленный в dwg растр *.jpg не выделяется как объект. | vitalill | AutoCAD | 3 | 03.05.2011 13:56 |
Word 2007/2010 не открывает объект AutoCAD 2009 | Andersenqwer | Прочее. Программное обеспечение | 3 | 20.12.2010 21:46 |
Какой программой редактировать файл dwg формата | pavelP2009 | AutoCAD | 1 | 24.07.2009 19:41 |
Каким методом можно загрузить DWG файл? | Trifon | Программирование | 1 | 21.01.2009 22:58 |