処理のため、VB または VBA アプリケーションからコマンド文字列をドキュメントに送信します。
サポートされているプラットフォーム: Windows のみ
VBA:
object.SendCommand Command
タイプ: Document
このメソッドが適用されるオブジェクト。
アクセス: 入力のみ
タイプ: 文字列
ドキュメントに送信されるコマンド。
戻り値はありません。
コマンドを終了させるために、コマンド文字列の最後に、スペースまたは ASCII のキャリッジ リターン制御文字(vbCr)を使用してください。これは、キーボードの[Enter]を押すのと同じです。
このメソッドにより、AutoLISP 式を含む AutoCAD のコマンド ライン機能が処理されます。
指定された図面がアクティブではない場合、図面はアクティブになります。
このメソッドは通常、同期をとりますが、このメソッドで送られたコマンドがユーザに繰り返しを要求する場合(たとえば、スクリーン上で点を選択するなど)、このメソッドは、ユーザが入力を始めると直ちに継続します。このコマンドは次に非同期の処理を続行します。
このメソッドがイベント ハンドラから呼び出される場合、非同期的に処理されます。
このメソッドを使用して、ActiveX メソッドが使用可能なコマンドを発行することは絶対にしないでください。たとえば、SendCommand "VBALOAD" を使用してはいけません。代わりに、LoadDVB メソッドを使用してください。
VBA:
Sub Example_SendCommand() ' This example sends a command for evaluation to the AutoCAD command line ' of a particular drawing ' Create a Circle in the active drawing and ' zoom to display the entire circle ThisDrawing.SendCommand "_Circle" & vbCr & "2,2,0" & vbCr & "4" & vbCr ThisDrawing.SendCommand "_zoom" & vbCr & "a" & vbCr ' Refresh view ThisDrawing.Regen acAllViewports MsgBox "A circle command has been sent to the command line of the current drawing." End Sub
Visual LISP:
(vl-load-com) (defun c:Example_SendCommand() ;; This example sends a command for evaluation to the AutoCAD command line ;; of a particular drawing (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) ;; Create a Circle in the active drawing and ;; zoom to display the entire circle (vla-SendCommand doc (strcat "_circle 2,2,0 4 ")) (vla-SendCommand doc (strcat "_zoom a ")) ;; Refresh view (vla-Regen doc acAllViewports) (alert "A circle command has been sent to the command line of the current drawing.") )