비밀번호를 잊으셨나요?

비밀번호를 잊으셨나요? 비밀번호를 재설정하려면 이메일 주소를 입력해주세요.

계정이 있나요? 로그인

You must login to ask a question.

비밀번호를 잊으셨나요?

아직 계정이 없으신가요? 회원가입 하기

해당 질문을 신고하는 이유를 간단히 입력해주세요.

해당 답변을 신고하는 이유를 간단히 입력해주세요.

해당 유저를 신고하는 이유를 간단히 입력해주세요.

로그인회원가입

고캐드 – 캐드(CAD) 정보의 중심

고캐드 – 캐드(CAD) 정보의 중심 Logo 고캐드 – 캐드(CAD) 정보의 중심 Logo

고캐드 – 캐드(CAD) 정보의 중심 Navigation

  • Q&A
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 커뮤니티
    • 오늘의이슈
    • 자유게시판
    • 익명게시판
    • 건의게시판
  • 자료실
    • 자료요청
    • 일반파일
    • 도면샘플
    • 유틸리티
    • 기타
  • 작품 갤러리
    • 그래픽
    • 캐드도면
    • 3D모델
    • 기타
  • 뉴스&이벤트
    • 공지사항
    • 뉴스
    • 전시/행사
    • 이벤트
    • 기타
검색
질문하기

Mobile menu

닫기
질문하기
  • 홈
  • 카테고리
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 투표
  • 커뮤니티 그룹
  • Q&A
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 커뮤니티
    • 오늘의이슈
    • 자유게시판
    • 익명게시판
    • 건의게시판
  • 자료실
    • 자료요청
    • 일반파일
    • 도면샘플
    • 유틸리티
    • 기타
  • 작품 갤러리
    • 그래픽
    • 캐드도면
    • 3D모델
    • 기타
  • 뉴스&이벤트
    • 공지사항
    • 뉴스
    • 전시/행사
    • 이벤트
    • 기타
홈/ 질문/Q 97241
다음
Lv.0
등록일: 2013-02-012013-02-01T14:39:59+09:00 2013-02-01T14:39:59+09:00카테고리: AutoCAD & CADian

엑셀에서 값을 가져와 해당 엑셀 값으로 복사하는 LISP(막힙니다 ㅠㅠ)

(defun C:Auto1()
(prompt “n RB 객체를 선택하여 주십시오.”)
(setq ent (ssget))
(vl-load-com)
;; Excel 개체를 불러온다.
(setq msex (vlax-get-or-create-object “EXCEL.Application”))

;; Excel Application을 보이게 한다.


(vla-put-visible msex :vlax-true)
;; WorkBooks을 를 읽고
(setq Books (vlax-get-property msex ‘ActiveWorkBook))
;; Sheets를 읽고
(setq Sheets (vlax-get-property Books ‘Sheets))
;; 각 Sheet 개수을 확인한 후
(setq cnt (vlax-get-property Sheets ‘Count))

(setq k 1)
(while (<= k cnt)
;; 각 Sheet를 읽어 온다.
(setq sheet (vlax-get-property sheets ‘Item k))
(setq col_range (vlax-get-property sheet ‘UsedRange))
(setq columns (vlax-get-property col_range ‘columns))
(setq col_cnt (vlax-get-property columns ‘count))
(setq row 1)
(setq col 1)
(setq y 0)
;; Sheet의 이름을 확인 후 “RB” 이면
(if (= (vlax-get-property sheet ‘Name) “RB”)
(progn
(repeat col_cnt
(setq range (vlax-get-property col_range ‘item row col))
(setq value (vlax-variant-value range))
(setq pt (/ value 10))
(command “copy” ent “” “0,0” (list pt y))
;; Range 객체 반환
(vlax-release-object range)
(setq col (+ 1 col))
)
)
)
(vlax-release-object sheet)
(setq k (1+ k))
)


;; 마지막으로 읽어들인 개체는 반환시킵니다.
(vlax-release-object sheets)
(vlax-release-object books)
(vlax-release-object msex)
(vlax-release-object columns)



(princ)



위 LISP은 엑셀에서 지정된 하나의 열의 숫자값을 읽어와


선택한 개체를 그 숫자값을 x좌표로 하여 복사하는 리습을 구성한것입니다.


엑셀 연동까지는 되는거 같은데


; 오류: 잘못된 인수 유형: numberp: #<VLA-OBJECT Range 0000000030554e78>



이라고 뜨며 진행이 안되네요 ㅜㅜ


아마도


(repeat col_cnt
(setq range (vlax-get-property col_range ‘item row col))
(setq value (vlax-variant-value range))
(setq pt (/ value 10))
(command “copy” ent “” “0,0” (list pt y))
;; Range 객체 반환
(vlax-release-object range)
(setq col (+ 1 col))
)
이 부분에서 에러가 나는거 같은데 도와 주십시오 ㅜㅜ

  • 0
  • 24 조회
공유
  • Facebook

    관련 있는 질문들

    • 아이콘을 바꾸고 싶습니다.
    • 질문 검색 안되나요?
    • 배치화면에서의 작업은 엌덯게 하나요
    • 오토캐드 명령어창 ui 관련 질문

    Sidebar

    질문하기
    공지사항

    • AI CAD의 미래! 캐디안 2025 1+1 프로모션 안내 2025-05-14

    Adv 234x60

    aalan

    Adv 234x60

    aalan

    Adv 120x600

    aalan

    Explore

    • 홈
    • 카테고리
      • AutoCAD & CADian
      • Inventor & Solidworks
      • Revit & ArchiCAD
      • 자유질문
      • 기타
    • 투표
    • 커뮤니티 그룹
    aalan

    Footer

    Support

    • 회사 및 서비스 소개
    • 자주 묻는 질문
    • 문의하기

    Guide

    • 제휴/협업 안내
    • 광고 서비스 안내

    Policy

    • 서비스 이용약관
    • 개인정보 처리방침
    • 광고성 정보 수신 동의

    Contents

    • 고밍스토리
    • 리습 시리즈

    정소프트 | 사업자등록번호 : 677-40-00198 | 대표 : 정은숙 | 이메일 : gocad.manager@gmail.com
    주소 : 서울특별시 강서구 양천로 400-12, 6층 614,615,617호(등촌동, 더리브골드타워)
    Copyright. 2012-2024 GOCAD All rights reserved