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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Получение имен стилей ячеек

Получение имен стилей ячеек

Ответ
Поиск в этой теме
Непрочитано 17.11.2015, 10:29 #1
Получение имен стилей ячеек
ciril
 
САПР
 
СПб
Регистрация: 29.09.2011
Сообщений: 283

Пытаюсь получить имена стилей ячеек в стиле таблицы:
Код:
[Выделить все]
 (vla-getcellstyles стиль_таблицы (setq стили_ячеек (vlax-make-variant (vlax-make-safearray vlax-vbstring (cons 0 (1- (vla-get-numcellstyles стиль_таблицы)))))))
А в стили_таблицы не возвращается ничего. Где ошибка?
__________________
На работе было скучно:shout:
Просмотров: 2861
 
Непрочитано 17.11.2015, 10:50
#2
ProPeller

Пастух
 
Регистрация: 16.07.2012
Питер
Сообщений: 318


Мне интересно, что вы пытаетесь сохранить в переменной стили_ячеек? В вашем примере вы создаёте вариант с пустым массивом. Зачем он? И что за интересная функция такая vla-getcellstyles? Знаю vla-getcellstyle без S вконце. Забавно, что VLIDE понимает её как функцию. В дампе к стилю таблицы эта функция тоже есть.
__________________
Автоматизация должна быть автоматической.

Последний раз редактировалось ProPeller, 17.11.2015 в 10:55.
ProPeller вне форума  
 
Автор темы   Непрочитано 17.11.2015, 11:10
#3
ciril

САПР
 
Регистрация: 29.09.2011
СПб
Сообщений: 283


Цитирую из хелпа:

object.GetCellStyles cellStylesArray

object

Type: TableStyle

The object this method applies to.

cellStylesArray

Access: Output-only

Type: Variant

Array of named cell styles.

Сам пытаюсь понять, как получить список имен стилей из стиля таблицы, это единственная подходящая функция по описанию.
__________________
На работе было скучно:shout:
ciril вне форума  
 
Непрочитано 17.11.2015, 11:42
#4
ProPeller

Пастух
 
Регистрация: 16.07.2012
Питер
Сообщений: 318


Читайте дальше HELP
Цитата:
Return Value (RetVal)
No return value.
Remarks
No additional remarks.
Examples
VBA:
Not available
Visual LISP:
Not available
Исходя из этого, создается впечатление, что функция не очень-то рабочая.
Вообще приведенная вами функция какая-то несуразная. Она извлекает имена стилей ячейки из массива с именами стилей ячейки. Фигня какая-то. А хелп вообще говорит, что возвращаемого значения нет.
__________________
Автоматизация должна быть автоматической.
ProPeller вне форума  
 
Автор темы   Непрочитано 17.11.2015, 11:55
#5
ciril

САПР
 
Регистрация: 29.09.2011
СПб
Сообщений: 283


значение возвращается в переменную, если уж полностью, то:
Код:
[Выделить все]
 (vlax-map-collection
    (vla-item (vla-get-dictionaries (vla-get-activedocument (vlax-get-acad-object))) "ACAD_TABLESTYLE")
    (function
      (lambda (стиль_таблицы / стили_ячеек)
        (setq стили_ячеек (vlax-make-variant (vlax-make-safearray vlax-vbstring (cons 1 (vla-get-numcellstyles стиль_таблицы)))))
        (vl-catch-all-error-message (vl-catch-all-apply 'vla-getcellstyles (list стиль_таблицы 'стили_ячеек))))))
В таком виде:
LOG "lisp-значение не может быть приведено к данному типу ВАРИАНТА: стили_ячеек"
В приведенном выше, когда параметром выступает сам вариант, а не имя переменной с ним, то выполнение происходит безрезультатно вообще.
__________________
На работе было скучно:shout:
ciril вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Получение имен стилей ячеек

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение имен блоков в цикле Irina_T Программирование 4 12.08.2011 08:29
Как изменить шрифт во всем файле, если имена текстовых стилей совпадают? dimon_hub AutoCAD 22 25.07.2011 20:24