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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Автоматическое задание ширины столбцов таблицы,

Автоматическое задание ширины столбцов таблицы,

Ответ
Поиск в этой теме
Непрочитано 28.09.2011, 12:34 #1
Автоматическое задание ширины столбцов таблицы,
shartal
 
Регистрация: 12.08.2009
Сообщений: 464

Возможна ли создать программку, которая, при указании таблицы, может задать определенную ширину определенным фиксированным ячейкам таблицы
например А1 - 10мм, B3 -60 мм.

Последний раз редактировалось shartal, 28.09.2011 в 13:50.
Просмотров: 3675
 
Непрочитано 28.09.2011, 13:18
#2
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


В названии темы "...задние ширины столбцов...", в самой теме "...определенную ширину определенным фиксированным ячейкам...", и что надо? Если все-таки столбцам, так они и вручную легко задаются, если ячейкам, то как это у ячеек может быть индивидуальная ширина?
__________________
cadtools
TararykovDG вне форума  
 
Автор темы   Непрочитано 28.09.2011, 13:53
#3
shartal


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


Вручную - это не серьезно. Несколько таблиц имеет много столбцов, задавать ширину каждому- масса времени. Задание ширины ячейки приведет к изменению ширины столбца- это и нужно.
shartal вне форума  
 
Непрочитано 28.09.2011, 14:45
1 | #4
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


shartal, попробуй так
Код:
[Выделить все]
 
; Пример вызова:
; (set-width-columns-table (list '(1 30) '(4 50))) - 1 и 4 номера стоблцов, 30 и 40 соответствующая ширина
(defun set-width-columns-table(lst_width_columns / )
  (vl-load-com)
  ((lambda(nbr actdoc)
     (vla-StartUndoMark actdoc)
     (if (and nbr
              (not (vl-catch-all-error-p nbr))
              )
       (foreach tabl (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex nbr))))
         (vla-put-RegenerateTableSuppressed tabl :vlax-true)
         (foreach item lst_width_columns
           (if (and (>= (car item) 0)
                    (< (car item) (vla-get-Columns tabl))
                    )
             (vla-SetColumnWidth tabl (car item) (cadr item))
             )
           )
         (vla-put-RegenerateTableSuppressed tabl :vlax-false)
         )
       )
     (vla-EndUndoMark actdoc)
     )
    (vl-catch-all-apply 'ssget
                        (list (list (cons 0 "ACAD_TABLE")))
                        )
    (vla-get-ActiveDocument (vlax-get-acad-object))
    )
  (princ)
  ); end set-width-columns-table
__________________
cadtools
TararykovDG вне форума  
 
Автор темы   Непрочитано 28.09.2011, 15:24
#5
shartal


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


Все очень неплохо, но отсчет начинается почему только со второго столбца- первый вообще пропускается.
и можно ли сделать, чтобы применялось со второй строки - первая -название таблицы (стиль "название"), все ячейки объединены.
shartal вне форума  
 
Непрочитано 28.09.2011, 15:40
#6
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


Цитата:
Сообщение от shartal Посмотреть сообщение
Все очень неплохо, но отсчет начинается почему только со второго столбца- первый вообще пропускается.
Ну просто первый столбец таблицы имеет номер 0, так что просто надо задавать так (set-width-columns-table (list '(0 30))), хотя это можно и самом коде учесть
Цитата:
Сообщение от shartal Посмотреть сообщение
и можно ли сделать, чтобы применялось со второй строки - первая -название таблицы (стиль "название"), все ячейки объединены.
А причем здесь строки, в коде только со столбцами идет работа (vla-SetColumnWidth tabl (car item) (cadr item)). Попробывал у себя, вроде и так объединенные ячейки пропускаются
__________________
cadtools
TararykovDG вне форума  
 
Автор темы   Непрочитано 28.09.2011, 15:48
#7
shartal


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


Все понятно, работает. Спасибо!
shartal вне форума  
 
Автор темы   Непрочитано 23.05.2014, 13:40
#8
shartal


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


Старую тему подниму. Возможно ли добавить условие зависимости от количества столбцов указанной таблицы. Если например 3 столбца, то одно выражение, если 4 то -другое?
shartal вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Автоматическое задание ширины столбцов таблицы,

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Полезные таблицы для инженеров (самопальные и не только). Armin Поиск литературы, чертежей, моделей и прочих материалов 152 22.12.2024 04:14
Программа для создания таблиц AutoCAD из Excel МишаИнженер Готовые программы 4 05.08.2011 18:32
Автоматическое создание таблицы координат. Возможно ли? Geocid AutoCAD 6 10.02.2010 15:17
как с помощью vba начертить линию vasyavip Программирование 77 09.10.2008 23:17