「Vla-runmacro」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
(ページの作成:「{{AutoLISP}} ; 構文 : (vla-runmacro ''vla-object'' ''name'') ; 機能 : 指定した VBA プロジェクト ファイルをアンロードする。 ; 引数 :* vla...」)
 
編集の要約なし
 
5行目: 5行目:


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





2023年6月22日 (木) 04:50時点における最新版

構文
(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!")
)


関連事項