Vla-close

提供:GizmoLabs - だいたい CAD LISP なサイト
2015年5月17日 (日) 12:51時点におけるGizmon (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(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)
	    )
        )
    )
)

関連事項