Vla-runmacro

提供:GizmoLabs - だいたい CAD LISP なサイト
2015年10月14日 (水) 23:06時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-runmacro ''vla-object'' ''name'') ; 機能 : 指定した VBA プロジェクト ファイルをアンロードする。 ; 引数 :* vla...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-runmacro vla-object name)


機能
指定した VBA プロジェクト ファイルをアンロードする。


引数
  • vla-object … Application の VLAオブジェクト
  • name … 実行するマクロの呼び出しシーケンスを示す文字列。呼び出しシーケンスには次の構文がなければならない。ここで、[] はオプションのパラメータであることを示している。
[Filename.dvb.][ProjectName.][ModuleName.]MacroName
  • 注 : Filename.dvb の後ろに ProjectName が続く場合は、次の例のように、名前をピリオドではなく感嘆符によって区切る。
Filename.dvb!ProjectName

指定された Filename.dvb は、ロード済みでない場合にロードされる。Filename.dvb へのパスが指定されていない場合、CAD の検索パスを調べてファイルを見つける。ProjectName が指定されていない場合は、現在ロードされているすべてプロジェクトを検索して、マクロを見つける。


戻り値
なし


サンプル
(vl-load-com)
(defun c:Example_LoadDVB()
    ;; DVB ファイルを読み込んで RunMacro メソッドで実行するサンプル
    ;;
    ;; Module1.Drawline というマクロが書かれている drawline.dvb 
    ;; というファイルを使うので準備しておくこと

    (setq FileName (findfile ".\\Sample\\vlisp\\drawline.dvb"))
    
    ;; DVB ファイルをロード
    (vla-LoadDVB acadObj FileName)
    
    ;; マクロを実行
    (vla-RunMacro acadObj "Module1.Drawline")
    
    ;;  DVB をアンロード
    (vla-UnloadDVB acadObj FileName)
    
    (alert "The DVB file has been run!")
)


関連事項