|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
VBA Autocad 2016 как заполнить подшивку данными из Excel?
Регистрация: 12.08.2016
Сообщений: 59
|
||
Просмотров: 16134
|
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,170
|
Цитата:
Готового метода вроде IzExcelVPodshiffku, к несчастью, нет (хотя для Автодеск было бы нетрудно его написать, ведь связь таблиц Акада с Эксель написали). Придется применять отдельные методы для чтения из Экселя и отдельные - для открытия подшивки и записи данных в нее. Вы темы по приведенным в #2 ссылкам хотя бы открывали? Там все это обсуждалось Последний раз редактировалось kp+, 21.11.2016 в 01:45. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
|
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,107
|
Есть два варианта
1. Через COM - VBA или .NET 2. Прямая работа с dst-файлами я использую оба метода пример Код:
Код:
Последний раз редактировалось trir, 21.11.2016 в 08:20. |
|||
![]() |
|
||||
Регистрация: 12.08.2016
Сообщений: 59
|
Какие это методы?
У меня задача совсем простая. Есть файл эксел, в нем номер проекта и еще несколько параметров. Нужно эти данные по одному нажатию внести в свойства подшивки (новой или уже открытой, как проще). Команда подается из экселя, что бы потом кнопочку в быстром запуске сделать. По какой ветке в Object Model (ActiveX) двигаться? |
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611
|
Тут еще такая же тема... http://forum.dwg.ru/showthread.php?t=41088
И тут еще интересный код http://forums.autodesk.com/t5/visual...n/td-p/1776019 Последний раз редактировалось Boxa, 21.11.2016 в 17:33. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
|
|||
![]() |
|
||||
Регистрация: 12.08.2016
Сообщений: 59
|
Цитата:
![]() ----- добавлено через ~6 мин. ----- Цитата:
![]() ----- добавлено через ~43 мин. ----- Что нужно для этой работы? доп установки или Редактора VBA достаточно? ----- добавлено через ~1 ч. ----- Нашел вот такой код: Код:
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
и на какой строчке возникает ошибка? Контроль объявления переменных включен в VBA? Пошагово проходите и смотрите переменные - чем они инициализируются и инициализируются ли вообще
----- добавлено через ~3 мин. ----- и на самом файле подшивки не висит в свойствах - "файл скачен с другого компьютера..." и вообще как с правами доступа на него |
|||
![]() |
|
||||
Регистрация: 12.08.2016
Сообщений: 59
|
AcSmComponents19 1.0 Type Library - добавлена
Print screen в приложении. права не ограничены, подшивка создана мною, контроль переменных выключен... Что то тут не так! |
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,107
|
Цитата:
Внимательно! читайте документацию |
|||
![]() |
|
||||
Регистрация: 12.08.2016
Сообщений: 59
|
Цитата:
![]() ----- добавлено через ~4 мин. ----- выдал ошибку дубликата объявления переменной |
|||
![]() |
|
||||
Регистрация: 12.08.2016
Сообщений: 59
|
|
|||
![]() |
|
||||
Регистрация: 12.08.2016
Сообщений: 59
|
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Посмотрел на скриншот чуть внимательнее:
1. Кто вас учил определение переменной в комментариях размещать? 2. Смотрим в окно локальных переменных: oSheetSetMgr - тип Variant/Неподдерживаемый тип объекта. Почему так произошло - догадываетесь? 3. Включите, наконец, контроль объявления переменных в коде. |
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,107
|
Цитата:
Цитата:
но можно использовать методы, например: Цитата:
Последний раз редактировалось trir, 29.11.2016 в 09:34. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
печально, что в новой 7-ой версии VBA остались прежние глюки. Выкинули бы поддержку VBA напрочь, расширив функционал того же лиспа. ТС можно посоветовать перейти на Interrop под VB.NET - синтаксис VBA, возможности языка NET, возможность переписывания программы блоками кода под NET API по мере освоения.
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
я в целом - там хоть защитная обертка в Interrop есть, тогда как в чистом NET API при определенной "удаче" можно вообще сам акад уронить, как два пальца. С текущей задачей все понятно - как ТС не открывал ссылки пункта 2 со спецификацией работы с подшивкой (хотя позже kp+ напомнил про нее), так, похоже и не собирается. Хотя чего бояться экспериментировать в программировании - главное, резервные копии файлов делать и сохранять код перед запуском.
|
|||
![]() |
|
||||
Регистрация: 12.08.2016
Сообщений: 59
|
Цитата:
----- добавлено через ~4 мин. ----- Цитата:
![]() |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
а зачем менять вручную? Влезли программно в БД подшивки, поменяли что надо и сохранили. Это не эмуляция ввода в комстроку, как в том же лиспе делается в ряде задач. Почитайте спецификацию, там есть как раз и создание новой подшивки.
----- добавлено через ~12 мин. ----- Да и не все так просто ) |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Связка AutoCAD с Excel через командную строку. | raffnec | AutoCAD | 9 | 19.09.2016 10:54 |
Заполнение размеров в Autocad из Excel | zenija2007 | AutoCAD | 9 | 18.09.2015 12:53 |
Как добавить префикс к однострочному тексту в AutoCAD 2016 | andrey_artphoto | AutoCAD | 5 | 27.05.2015 17:11 |
Привязка таблицы Excel к чертежу AutoCad | Teo-one | Программирование | 5 | 22.03.2014 00:11 |
Таблица из Excel в AutoCAD | Elbrus | AutoCAD | 56 | 11.06.2012 11:41 |