| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как скопировать чертеж в буфер обмена через VBA? Автокад 2012.

Как скопировать чертеж в буфер обмена через VBA? Автокад 2012.

Ответ
Поиск в этой теме
Непрочитано 15.02.2021, 13:28 #1
Как скопировать чертеж в буфер обмена через VBA? Автокад 2012.
deaf red
 
Регистрация: 16.09.2020
Сообщений: 15

Как сделать с помощью VBA чтобы часть чертежа (границы части чертежа задаются рамкой) копировалась в буфер обмена, как если бы я выделил часть чертежа мышью и нажал бы CTRL+C. Скопированный кусок я буду вставлять в ворд специальной вставкой как метафайл.
Просмотров: 2762
 
Непрочитано 15.02.2021, 13:37
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


А не проще было бы распечатать в jpg / png и вставлять уже такой вариант?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 15.02.2021, 16:49
#3
deaf red


 
Регистрация: 16.09.2020
Сообщений: 15


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
А не проще было бы распечатать в jpg / png и вставлять уже такой вариант?

Такой вариант я уже сделал, он мне не подходит из-за того что чертеж становится размытым, что в png, что в jpg. Если вставлять метафайлом через буфер обмена, то качество не пострадает
deaf red вне форума  
 
Непрочитано 15.02.2021, 17:10
#4
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


_.wmfout не годится?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 15.02.2021, 18:05
#5
deaf red


 
Регистрация: 16.09.2020
Сообщений: 15


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
_.wmfout не годится?
Как я понимаю это команда, которую можно использовать и в лиспе. Но мне надо в vba.
deaf red вне форума  
 
Непрочитано 15.02.2021, 18:14
#6
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


SendCommand попробуй. Ну или грызи объектную модель на предмет экспорта в WMF.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 15.02.2021, 19:22
#7
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


VBA -> ActiveDocument.Export
Сергей812 вне форума  
 
Автор темы   Непрочитано 15.02.2021, 19:43
#8
deaf red


 
Регистрация: 16.09.2020
Сообщений: 15


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
VBA -> ActiveDocument.Export
А дальше? Как туда поместить весь чертеж или его часть и перенести это в ворд еще?
deaf red вне форума  
 
Непрочитано 15.02.2021, 20:00
#9
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


Цитата:
Сообщение от deaf red Посмотреть сообщение
А дальше? Как туда поместить весь чертеж или его часть и перенести это в ворд еще?
справку открыть и посмотреть на аргументы указанного мною выше метода) Ну а в ворде записать макрорекордером ручную вставку получившегося файла, а потом допилить до нормального кода.
Сергей812 вне форума  
 
Автор темы   Непрочитано 15.02.2021, 20:05
#10
deaf red


 
Регистрация: 16.09.2020
Сообщений: 15


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
справку открыть и посмотреть на аргументы указанного мною выше метода) Ну а в ворде записать макрорекордером ручную вставку получившегося файла, а потом допилить до нормального кода.
Да, спасибо, вроде получается.

----- добавлено через ~24 мин. -----
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
справку открыть и посмотреть на аргументы указанного мною выше метода) Ну а в ворде записать макрорекордером ручную вставку получившегося файла, а потом допилить до нормального кода.
Я понимаю, что достал уже, но этот wmf файл включает в себя только то, что входит в экран автокада при открытии чертежа, а остальное обрезает. Как вставить весь чертеж не зависимо от того, что входит в экран автокада?
deaf red вне форума  
 
Непрочитано 16.02.2021, 05:41
#11
Автон

СЦБ
 
Регистрация: 09.03.2006
Иркутск
Сообщений: 78


Цитата:
Сообщение от deaf red Посмотреть сообщение
Я понимаю, что достал уже, но этот wmf файл включает в себя только то, что входит в экран автокада при открытии чертежа, а остальное обрезает. Как вставить весь чертеж не зависимо от того, что входит в экран автокада?
Сделать после октрытия ZoomAll в VBA
Или если надо выбрать определенный участок, то во втором посте ответ https://forum.dwg.ru/showthread.php?t=10341
Автон вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как скопировать чертеж в буфер обмена через VBA? Автокад 2012.

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Долгое зависание файла при вставке через буфер обмена Александр Анатольевичъ AutoCAD 14 04.04.2020 15:06
Меняется слой и слетает масштаб OLE объектов при копировании через буфер обмена. konstryktor AutoCAD 0 20.01.2020 12:52
Нужна команда AutoCad для копирования объекта (по его Handle) в буфер обмена Enion Программирование 18 04.06.2012 13:31
Непонятное увеличение элемента при копировании через буфер обмена tanash AutoCAD 9 30.08.2010 06:54
Вставка фрагментов таблицы из Excel в таблицу Автокада 2006 через буфер обмена - возможно ли? kp+ AutoCAD 3 21.03.2008 10:32