|
;;Author: eachy 2010.06.25
(defun c:tt (/ fl excel fn fp wks shts sht na uc nfl cells i j lst
maxrows nfp)
(if (setq fl (getfiled "Please Select Excel files" "" "xlsx;xls" 8)) ;_excel Filename
(progn
(if
(not
(setq excel (vlax-get-or-create-object "Excel.Application")) ;_ Excel ActiveX
)
(progn
(princ "\nExcel not Install!")
(exit)
)
)
(setq fn (vl-filename-base fl) ;_ Excel FileName
fp (vl-filename-directory fl) ;_ Excel File Directory
)
(setq wks (vlax-get excel 'workbooks) ;_ Workbooks
shts (vlax-invoke wks 'open fl) ;_ Open Excel file , also can use Excel Findfile property
)
(setq sht (vlax-get excel 'sheets)) ;_Get Sheets
(vlax-for sh sht ;_ Foreach all sheet
(setq na (vlax-get sh 'name) ;_ Sheet Name
uc (vlax-get sh 'usedrange) ;_UsedRange
maxRows (vlax-get (vlax-get uc 'Rows) 'Count) ;_Number of Bottom Row in Used
cells (vlax-get sh 'Cells) ;_ActiveSheet Cells
i 7
)
(while (<= i maxrows) ;_Get Needed Rangs
(setq lst (cons (list
(vlax-get (variant-value
(vlax-get-property cells 'item i 2)
)
'text
)
(vlax-get (variant-value
(vlax-get-property cells 'item i 3)
)
'text
)
(vlax-get (variant-value
(vlax-get-property cells 'item i 4)
)
'text
)
)
lst
)
i (1+ i)
)
(setq lst nil)
)
(setq lst
(vl-remove
nil
(reverse
(mapcar
'(lambda (x)
(setq
x
(mapcar '(lambda (a) (vl-string-trim " " a))
x
)
)
(if (vl-every '(lambda (x) (= x "")) x)
nil
(if (= (last x) "")
(list (car x) (cadr x))
x
)
)
)
lst
)
)
)
) ;_Prosss Space
;;Follow to write hdm files
(setq nfl (strcat fp "\\" fn "_" na ".hdm"))
(setq nfp (open nfl "w"))
(write-line "zgh" nfp)
(write-line "BEGIN,坝中1.00:1" nfp)
(foreach x lst
(if (= 3 (length x))
(write-line
(strcat (car x) "," (cadr x) "(" (last x) ")")
nfp
)
(write-line (strcat (car x) "," (cadr x)) nfp)
)
)
(close nfp)
)
(vlax-invoke-method excel "quit") ;_closed excel
(if (vlax-object-released-p excel)
(vlax-release-object excel) ;_this can not close excel
)
)
)
(princ)
)
|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )
GMT+8, 2024-5-10 08:32 , Processed in 0.130950 second(s), 22 queries , Gzip On.
Powered by Discuz! X3.5
© 2001-2024 Discuz! Team.