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

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

Lisp. Изменение отступа в ячейке таблицы

Ответ
Поиск в этой теме
Непрочитано 26.08.2012, 18:03 #1
Lisp. Изменение отступа в ячейке таблицы
orexxx
 
Регистрация: 26.05.2008
Сообщений: 45

Здравствуйте!
Подскажите пожалуйста как изменить отступ в конкретной ячейке(ячейках) таблицы?
в теме http://forum.dwg.ru/showthread.php?t=82445 отступ меняется во всей таблице.
Догадываюсь, что с помощью (vla-setsubselection), но дальше чем выделение ячеек продвинуться не могу
Просмотров: 2159
 
Непрочитано 28.08.2012, 12:02
#2
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811


Цитата:
Сообщение от orexxx Посмотреть сообщение
Догадываюсь, что с помощью (vla-setsubselection), но дальше чем выделение ячеек продвинуться не могу
Попробуй изменить по твоим условиям,
без особых проверок, из старой программы:

Код:
[Выделить все]
(defun c:marg (/ acsp adoc app col colmax colmin dicts  en maxcell mincell oldstyle osm pmax pmin row rowmax rowmin
	       tblobj tblstyle tblstyle_coll txtheight1 txtheight2 txtheight3)
  
  (vl-load-com)
  
;; based on code written by Lee Ambrosius
;; date: 3/24/04
;; edited 11/21/10
(defun getcell(tblobj pt / col lwrleft pick row uprright vector vheight  vwidth)
  (vl-load-com)
 (setq vheight (getvar "viewsize"))
 (setq vwidth (* (/ (nth 0 (getvar "screensize")) (nth 1 (getvar "screensize"))) vheight))

 (setq lwrleft (list (- (nth 0 (getvar "viewctr")) (/ vwidth 2)) (- (nth 1 (getvar "viewctr")) (/ vheight 2)) 0))
 (setq uprright (list (+ (nth 0 (getvar "viewctr")) (/ vwidth 2)) (+ (nth 1 (getvar "viewctr")) (/ vheight 2)) 0))

 (setq vector (vlax-make-safearray vlax-vbdouble '(0 . 2)))
 (vlax-safearray-fill vector '(1 1 1))
 (setq vector (vlax-make-variant vector))

 (setq pick (vlax-3d-point pt))

 (if pick 
   (if (= (vla-hittest tblobj pick vector 'row 'col) :vlax-true)
           (list row col)))
  (list row col)
  )
  

(setq app (vlax-get-acad-object)
	adoc (vla-get-activedocument app)
	acsp (vla-get-modelspace adoc))
  (setq en (entsel "\n\t  >>  Выбрать таблицу >>"))
  
 (setq	tblobj (vlax-ename->vla-object (car en)))
   (setq dicts (vla-get-dictionaries adoc))
  (setq tblstyle_coll (vla-item dicts "acad_tablestyle"))
  (setq tblstyle (vla-item tblstyle_coll (vla-get-stylename tblobj)))
  (setq txtheight1 (vla-gettextheight tblobj 1))
  (setq txtheight2 (vla-gettextheight tblobj 2))
  (setq txtheight3 (vla-gettextheight tblobj 4))
  
	(vla-settextheight tblstyle 1 txtheight1)
	(vla-settextheight tblstyle 2 txtheight2)
	(vla-settextheight tblstyle 4 txtheight3)
	(vla-put-horzcellmargin tblstyle (* txtheight3 0.75))
	(vla-put-vertcellmargin tblstyle (* txtheight3 0.2))


  (setq osm (getvar 'osmode))
  (setvar 'osmode 0)
  (setq pmin (getpoint "\n\t  >>  Указать левую ( или левую верхнюю ) ячейку диапазона таблицы >>" )
	pmax (getcorner pmin "\n\t  >>  Указать правую ( или правую нижнюю ) ячейку диапазона таблицы >>" ))
  (setq mincell(getcell tblobj pmin))
  (setq maxcell(getcell tblobj pmax))
  (setq rowmin (car mincell)colmin (cadr mincell)
	rowmax (car maxcell)colmax (cadr maxcell)
	)
  
   (vla-setsubselection tblobj rowmin rowmax colmin colmax)

  (vla-getsubselection tblobj 'rowmin 'rowmax 'colmin 'colmax)

  (setq row rowmin)
  (while (<= row rowmax)
	(setq col colmin)  
  (while (<= col colmax)
   (vla-setcellalignment tblobj row col acmiddleright)
    (setq col (1+ col)))
  (setq row (1+ row))
    )

  (vla-clearsubselection tblobj)

    (setvar 'osmode osm)
  (princ)
  )
(prompt "\n\t\t>>>\tКоманда для выполнения: MARG \t<<<")
(prin1)
~'o'~
Олег (jr.) вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Lisp. Изменение отступа в ячейке таблицы



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Вставка в таблицу поля, соотвествующего площади примитива Profan Готовые программы 272 06.06.2021 23:12
Изменение отступа текста в ячейке таблицы gool Программирование 7 05.07.2019 13:54
Lisp. Изменение свойств у ячеек таблицы. Не могу докопаться до vla объекта. Kirzaa LISP 2 21.09.2009 10:32
Как привязать изменение видимости слоя к значению в ячейке таблицы? 4ertilka Программирование 3 16.07.2009 14:53
как с помощью vba начертить линию vasyavip Программирование 77 09.10.2008 23:17