「Vla-close」の版間の差分
(ページの作成:「{{AutoLISP}} ; 構文 : (vla-close ''vla-object'' [''bool'']) ; 機能 : ファイルを閉じる ; 引数 :* vla-object … ドキュメントのVLAオブジェク...」) |
細編集の要約なし |
||
(同じ利用者による、間の2版が非表示) | |||
1行目: | 1行目: | ||
{{AutoLISP}} | {{AutoLISP}} | ||
; 構文 | ; 構文 | ||
: (vla-close ''vla-object'' ['' | : (vla-close ''vla-object'' [''SaveChanges''][, FileName]) | ||
9行目: | 9行目: | ||
; 引数 | ; 引数 | ||
:* vla-object … | :* 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 | (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) ) ) ) )
関連事項