Cкидки на VetCAD++
dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Не запускаются команды - макрос не найден

Не запускаются команды - макрос не найден

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 10.11.2015, 18:06
Не запускаются команды - макрос не найден
SKY_SHY
 
Регистрация: 18.08.2011
Сообщений: 288

SKY_SHY вне форума Вставить имя

Подскажите в чём может быть проблема. Принес файл адаптации с работы. Нажимаю на кнопочки - в командной строке пишется "Имя макроса - директория. Макрос не найден" Подключил cui файл к Autocad 2006 через "Адаптация" - "Открыть". Хотя с этим проблему я решил. Команда запускается, но не до конца. Должно появлятся окно UserForm. Появляется предупредительное сообщение о том что не найдена библиотека (library) или проект (project) Это ещё какие-то файлы?

Вот что выделяет некоторая строка выделена жёлтым цветом в окне VBA: Function color(r As Byte, g As Byte, b As Byte) As AcadAcCmColor

Последний раз редактировалось SKY_SHY, 10.11.2015 в 18:32.
Просмотров: 3722
 
Автор темы   Непрочитано 30.11.2017, 00:26
#21
SKY_SHY


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


3) - OK -

Ошибка
Миниатюры
Нажмите на изображение для увеличения
Название: зе4.JPG
Просмотров: 10
Размер:	19.8 Кб
ID:	196255  
SKY_SHY вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 30.11.2017, 00:40
1 | 1 #22
Сергей812


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


а зачем делаете ссылку на уже загруженный acadproject?

----- добавлено через ~5 мин. -----
акад 2006?
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 30.11.2017, 00:47
#23
SKY_SHY


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


Да версия 2006 не серсис-пак

----- добавлено через 47 сек. -----
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
а зачем делаете ссылку на уже загруженный acadproject?
Цитата:
Сообщение от doctorraz Посмотреть сообщение
меню референсов и не будет активно пока макрос выполняется. Останови макрос, потом заходи в референсы, отключай все, что миссинг и подключай такое же из списка.
тут то же, только с картинками

----- добавлено через ~3 мин. -----


----- добавлено через ~5 мин. -----
Инструменты этой панели адаптации не работают - Compile error in hidden modul - происходит запуск юзер-форм, но они не работают
SKY_SHY вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 30.11.2017, 00:55
1 | 1 #24
Сергей812


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


библиотека типов 2006 акада подгружена автоматически, библиотека поддержки форм тоже, нет корректной ссылки на 2007 excel.
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 30.11.2017, 01:03
#25
SKY_SHY


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
библиотека типов 2006 акада подгружена автоматически, библиотека поддержки форм тоже, нет корректной ссылки на 2007 excel.
Так значиццо нужно установить Excel 2007, если версия 2016 на ОС Win10?
SKY_SHY вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 30.11.2017, 01:10
1 | 1 #26
Сергей812


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


снимите галку с ссылки на эту версию и найдите в списке Microsoft Excel 16.0 для начала

----- добавлено через ~2 мин. -----
Offtop: 2006 Акад на W10 - это прикольно)
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 30.11.2017, 01:16
#27
SKY_SHY


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
снимите галку с ссылки на эту версию и найдите в списке Microsoft Excel 16.0 для начала

----- добавлено через ~2 мин. -----
Offtop: 2006 Акад на W10 - это прикольно)
Нет этой версии в списке
SKY_SHY вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 30.11.2017, 01:20
#28
Сергей812


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


а какая есть Microsoft Excel object library ?
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 30.11.2017, 01:29
#29
SKY_SHY


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


12-я только и та не найдена. MISSING Micrisoft Excel 12.0 Object Library Больше нет никакой - а дальше вних по списку - Microsoft ActiveX Objects 2.0-2.8 Library
Ккак ни странно есть Microsoft Office 16.0 Access DataBase Engine Objects

В этом пути его нет - файла EXCEL.EXE

----- добавлено через ~6 мин. -----
Директорию нашел, но формы не работают все равно
Миниатюры
Нажмите на изображение для увеличения
Название: path.JPG
Просмотров: 13
Размер:	43.4 Кб
ID:	196258  
SKY_SHY вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 30.11.2017, 01:45
1 | #30
Сергей812


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


В общем, я рекомендовал бы (если справитесь) - попробовать перейти на позднее связывание:
1. Создать резервную копию проекта.
2. Открыть проект в акаде, зайти в редакторе в каждый модуль и в первой строке вставить Option Explicit (если уже не стоит) - это проверка объявления всех переменных.
3. Отключить в reference Excel.
4. Запустить в редакторе через Debug/Compile VBA Project компиляцию.
5. Везде, где будет ругаться на отсутствие типа данных - ставить Object.
6. Заменить числовые константы Excel на их непосредственное значение.
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 30.11.2017, 01:52
#31
SKY_SHY


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
В общем, я рекомендовал бы (если справитесь) - попробовать перейти на позднее связывание:
1. Создать резервную копию проекта.
2. Открыть проект в акаде, зайти в редакторе в каждый модуль и в первой строке вставить Option Explicit (если уже не стоит) - это проверка объявления всех переменных.
3. Отключить в reference Excel.
4. Запустить в редакторе через Debug/Compile VBA Project компиляцию.
5. Везде, где будет ругаться на отсутствие типа данных - ставить Object.
6. Заменить числовые константы Excel на их непосредственное значение.
Спасибо Вам, я попробую, ибо когда была семерка все было норм. А сейчас снова поставил 2006-й Акад и эту адаптацию. Странно, но тот же проект работает на других машина с ОС MS XP - нормально, но там программисты устанавливали, которые писали этот проект.
SKY_SHY вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 30.11.2017, 02:00
1 | #32
Сергей812


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


что в свое время работало под ХП - не факт, что будет корректно работать под W10.
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 30.11.2017, 09:47
#33
SKY_SHY


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


Sub SaveKMMarkToExcel()
Dim FileName As String
FileName = "C:\Program Files\AutoCAD 2006\Our_macros\дв_разм+пикит\Ведомости\Ведомость_разметки.xls"

Dim xlApp As Excel.Application #ошибка Compile error - User-defined type not defined
SKY_SHY вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 30.11.2017, 09:56
1 | 1 #34
Сергей812


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


логично - если нет референса на типы данных экселя, то откуда он будет знать про Excel.Application ?
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 30.11.2017, 10:07
#35
SKY_SHY


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
логично - если нет референса на типы данных экселя, то откуда он будет знать про Excel.Application ?
А как дальше ошибку искать? закомментировать эти строки на время, где подобная ошибка?
SKY_SHY вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 30.11.2017, 10:15
#36
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 1,024
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от SKY_SHY Посмотреть сообщение
А как дальше ошибку искать? закомментировать эти строки на время, где подобная ошибка?
ответили жэж уже

Цитата:
Сообщение от Сергей812 Посмотреть сообщение
5. Везде, где будет ругаться на отсутствие типа данных - ставить Object.
Dim xlApp As Excel.Application Object
PS читай про позднее связывание.
__________________
Мастерская СПДС
doctorraz вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 30.11.2017, 10:16
| 1 #37
Кулик Алексей aka kpblc
Moderator

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


Создавать отдельные функции получения / создания объекта Excel. Нечто типа:
Код:
[Выделить все]
Option Explicit
Option Base 0

Public Function CreateExcelApplication() As Object
  Dim objExcel As Object
  On Error GoTo lErrGetObject
  Set objExcel = GetObject(, "Excel.Application")
  Set CreateExcelApplication = objExcel
  Exit Function
lErrGetObject:
  Set objExcel = CreateObject("Excel.Application")
  Set CreateExcelApplication = objExcel
End Function

Public Sub test()
  Dim oExl As Object
  Set oExl = CreateExcelApplication()
  oExl.Visible = True
End Sub
Offtop: На VBA почти не пишу, так что код далек от изясчества
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 30.11.2017, 10:30
#38
Сергей812


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Создавать отдельные функции получения / создания объекта Excel. Нечто типа:
а еще лучше создать отдельный класс, в конструкторе подключается к экселю, в деструкторе - отключается. Ну и необходимые методы работы с экселем туда же. Тогда код вообще красивый получается) Да и когда ставишь точку после идентификатора объекта класса - все методы и свойства класса сразу выдаются, очень удобно.
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 30.11.2017, 10:37
#39
Кулик Алексей aka kpblc
Moderator

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


По-моему, в VBA классы, мягко говоря, сильно кастрированы. При таких хотелках лучше уж переходить на .NET
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 30.11.2017, 11:16
#40
Сергей812


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
По-моему, в VBA классы, мягко говоря, сильно кастрированы. При таких хотелках лучше уж переходить на .NET
Offtop: так уже несколько лет, как перешел - слишком много плюшек, чтобы пройти мимо
Самый большой минус классов VBA на мой взгляд - это отсутствие возможности создания конструкторов с параметрами. Инкапсуляция реализована в достаточном для практических задач объеме, а вот с наследованием и полиморфизмом беда - но глупо ожидать от встроенного в приложение ЯП функционала отдельных языков программирования.
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Не запускаются команды - макрос не найден

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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мои макрокоманды zenon Программирование 873 09.01.2018 16:19
запуск программы из AutoCADа kminas Программирование 19 15.06.2012 13:42
Макрос для команды ilp для английского Автокада 2011 onick AutoCAD 4 15.02.2012 19:45
Нужен макрос для команды "стыковка с поворотом" *AllA* AutoCAD 2 15.07.2010 09:53
Прозрачные команды Vova AutoCAD 17 21.06.2006 05:33

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||