「Vla-close」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
(ページの作成:「{{AutoLISP}} ; 構文 : (vla-close ''vla-object'' [''bool'']) ; 機能 : ファイルを閉じる ; 引数 :* vla-object … ドキュメントのVLAオブジェク...」)
 
編集の要約なし
 
(同じ利用者による、間の2版が非表示)
1行目: 1行目:
{{AutoLISP}}
{{AutoLISP}}
; 構文
; 構文
: (vla-close ''vla-object'' [''bool''])
: (vla-close ''vla-object'' [''SaveChanges''][, FileName])




9行目: 9行目:


; 引数
; 引数
:* vla-object … ドキュメントのVLAオブジェクト
:* vla-object … VLAオブジェクト(Document、Documents)
:* SaveChanges … 図面を保存するかどうか
:* FileName … 図面に割り当てる名前。初めて図面を保存する際は名前を指定しないと、図面は VBA プロジェクト情報(ThisDrawing.Path¥ThisDrawing.Name)を使用して保存される。(Documents コレクションから呼び出された場合は適用できません)




18行目: 20行目:
; サンプル
; サンプル
<pre class="brush:autolisp;">
<pre class="brush:autolisp;">
; 開いて、ファイルのダンプ出して、閉じる。
; 開いて、ファイルのダンプ出して、閉じる。
(setq mydocs (vla-get-documents (vlax-get-acad-object)))
(setq mydocs (vla-get-documents (vlax-get-acad-object)))
(setq mydoc (vla-open mydocs "C:\\drawing\\drawing1,dwg"))
(setq mydoc (vla-open mydocs "C:\\drawing\\drawing1.dwg"))
(vlax-dump-object mydoc)
(vlax-dump-object mydoc)
(vla-close mydoc)
(vla-close mydoc)
32行目: 34行目:
       (list mydocs :vlax-false)))
       (list mydocs :vlax-false)))
   (command "vbastmt" "activedocument.close false"))
   (command "vbastmt" "activedocument.close false"))
;;-----
(vl-load-com)
(defun c:Example_Close()
    ;; すべての図面を閉じるサンプル
    (setq acadObj (vlax-get-acad-object))
    (setq curDoc (vla-get-ActiveDocument acadObj))
    (setq docs (vla-get-Documents acadObj))
    ;; すべての図面を変更を破棄して閉じる
    (vlax-for doc docs
        (if (/= (vla-get-Name doc) (vla-get-Name curDoc))
    (progn
        (alert (strcat "Closing " (vla-get-Name doc) " file."))
                (vla-Close doc :vlax-false)
    )
        )
    )
)
</pre>
</pre>



2015年5月17日 (日) 12:51時点における最新版

構文
(vla-close vla-object [SaveChanges][, FileName])


機能
ファイルを閉じる


引数
  • vla-object … VLAオブジェクト(Document、Documents)
  • SaveChanges … 図面を保存するかどうか
  • FileName … 図面に割り当てる名前。初めて図面を保存する際は名前を指定しないと、図面は VBA プロジェクト情報(ThisDrawing.Path¥ThisDrawing.Name)を使用して保存される。(Documents コレクションから呼び出された場合は適用できません)


戻り値
nil


サンプル
 ; 開いて、ファイルのダンプ出して、閉じる。
(setq mydocs (vla-get-documents (vlax-get-acad-object)))
(setq mydoc (vla-open mydocs "C:\\drawing\\drawing1.dwg"))
(vlax-dump-object mydoc)
(vla-close mydoc)

(defun c:myqq ()
  ; 開いている図面ファイルを全て閉じるけどCADは終了しないコマンド(VBA使う版)
  (vl-load-com)
  (vlax-for mydocs (vla-get-documents (vlax-get-acad-object))
    (vl-catch-all-apply
      'vla-close
      (list mydocs :vlax-false)))
  (command "vbastmt" "activedocument.close false"))

;;-----
(vl-load-com)
(defun c:Example_Close()
    ;; すべての図面を閉じるサンプル
    (setq acadObj (vlax-get-acad-object))
    (setq curDoc (vla-get-ActiveDocument acadObj))
    (setq docs (vla-get-Documents acadObj))

    ;; すべての図面を変更を破棄して閉じる
    (vlax-for doc docs
        (if (/= (vla-get-Name doc) (vla-get-Name curDoc))
	    (progn
	        (alert (strcat "Closing " (vla-get-Name doc) " file."))
                (vla-Close doc :vlax-false)
	    )
        )
    )
)

関連事項