facebook
CAD AutoCADのVBAのアイキャッチ

【2026】AutoCADのVBA入門!基本の使い方や実務で役立つコマンド一覧・サンプルコードを解説

AutoCADを用いた設計・図面作成について「同じ作業を毎回繰り返して時間がかかる」「効率化の方法を知りたい」とお悩みではないでしょうか。それなら、作業効率化を実現するためにAutoCADのVBAを活用するのがおすすめです。

そこでこの記事では、AutoCADのVBAの基本的な仕組みから、できること・できないことまでわかりやすくまとめました。実務でよく使うコマンドやコピペで活用できるサンプルコードも紹介しているので、ぜひ参考にしてみてください。

AutoCADのVBAとは?

AutoCADのVBAとは、AutoCAD上でプログラムを実行して作業を自動化できる仕組みのことです。

正式名称は「Visual Basic for Applications」と言い、MicrosoftがExcelやWordに搭載しているVBAと同じ系統のプログラミング言語になります。

なお、AutoCAD導入初期はVBAが組み込まれていません。
日常的に発生する単純作業やルーティン処理をワンクリックで実行したいなら、Autodesk公式サイトから、VBAモジュールをインストールする必要があります。

また、AutoCADを導入したばかりだという方は、セミナー講習で基本操作や使い方から学ぶのがおすすめです。

セミナー名AutoCAD基礎セミナー講習
運営元GETT Proskill(ゲット プロスキル)
価格(税込)29,500円〜
開催期間2日間
受講形式対面(東京・名古屋・大阪)・ライブウェビナー・eラーニング

AutoCADの自動化機能(AutoLISP・スクリプト)との違い

AutoCADにはVBA以外にも、AutoLISPやスクリプトといった自動化機能が存在します。
以下に、各自動化機能の違いを整理しました。

自動化の機能 特徴 得意分野 難易度・挫折しやすさ
VBA Visual Basic系の文法で、Officeユーザーにも馴染みやすい 条件分岐や複雑な処理を含む自動化 中級
(やや挫折しにくい)
AutoLISP Lisp系の言語でAutoCADに古くから搭載されている 作図やカスタマイズ 中級〜上級
(挫折する人もいる)
スクリプト コマンドを順番に自動実行できる 単純で反復的な作業 初級
(挫折しにくい)

上表からわかるように、もともとMicrosoft OfficeなどでVBAを利用していた方であれば、ほとんど同じ使い方であるため、すぐに活用できます。

また、特定のルールに従って操作をするため、初心者であっても基礎知識を身につければ、すぐにVBAを習得できるのが魅力です。

AutoCAD自体の使い方を学びたい方は、以下の記事もチェックしてみてください。

【2025】AutoCAD入門者必見!基本操作や効率的な学習方法を徹底解説

AutoCADのVBAでできること(繰り返し作業等の自動化)

AutoCADでできること

AutoCADのVBAを活用すれば、時間のかかるルーティン作業を一括処理でき、業務効率が大幅に向上します。以下に、できることのイメージを整理しました。

できることの例 具体例
よく使う図形やテンプレートをワンクリックで配置 ・線分・ポリライン・円の自動挿入
・図枠テンプレートの配置
オブジェクトや文字列を一括修正 ・文字列や寸法の一括置換
・線種や属性変更
レイヤーや印刷設定の管理を効率化 ・レイヤーを自動追加または削除
・印刷設定を一括反映
・出力処理の自動化
条件分岐を含む複雑処理を自動化 ・条件Aならオブジェクト配置、条件Bなら削除というように指示を分岐

特に土木・建築、機械系の現場では、毎日のように繰り返し作業が発生しやすいため、担当者の負担を減らしつつヒューマンエラーを防げるのが魅力です。

CAD系のソフトを使う場合、VBAなどの内蔵機能とは別に、RPAといった外部ツールを使って自動化をするケースもあります。詳しくは以下の記事をチェックしてみてください。

【2025】RPA化でどこまで業務効率化が可能?自動化しやすい業務を紹介

AutoCADのVBAができないこと(3D処理・大規模開発)

AutoCADのVBAは便利な自動化機能ですが、すべての業務に活用できるわけではありません。
以下に、できないことをまとめました。

できないことの例 理由
本格的な3Dモデリングやレンダリングの自動化 VBAは主に2D作図・編集を対象に設計されているため、3D処理のサポートが限定的
AutoCAD内で動く大規模システムの構築 VBAは軽量なマクロ言語であるため、マルチスレッドや外部データベースとの連携に向いていない
大規模モデルの一括演算や解析 処理速度やメモリ制約があるため、CADがフリーズする可能性あり

特に「3Dモデリング」や「大規模なシステム開発」などの領域では制約があります。こうした限界を理解しておくことで、無理のない運用が可能になります。

AutoCADのVBAの入門的な使い方

AutoCADのVBAを利用するためには、あらかじめモジュールのインストールしたうえで、AutoCAD内でVBAを起動~コード実行までの流れを抑えておくことが大切です。

ここでは、各ステップごとにAutoCADのVBAの使い方をわかりやすく解説します。

  1. VBAモジュールのダウンロード・インストールする
  2. VBAエディタを起動する
  3. コードを記述して実行する

VBAモジュールのダウンロード・インストールする

VBAモジュールのダウンロード
出典:Autodesk公式サイト

AutoCADには標準でVBAが含まれていないため、Autodeskの公式サイトから専用モジュールをダウンロードしましょう。バージョンごとにモジュールが異なるため、必ず利用中のAutoCADのバージョンに合ったものを選びましょう。

なお、Mac版のAutoCADには対応していないため、Windows版での導入が必須です。

VBAエディタを起動する

VBAエディタを起動する

VBAのインストール後は、AutoCAD内から直接VBAエディタを起動できます。

「管理>アプリケーション>Visual Basic Editor」を選択するか、コマンドラインに「VBAIDE」と入力することで起動可能です。

コードを記述して実行する

コードを記述して実行

エディタを開いたら、簡単なサンプルコードを書いて実行してみましょう。
(後述するサンプルコードをコピペして使えます)

なお、コードを書き終えたら、いったん保存ボタンを押して任意の場所に、.dvb拡張子を格納します。その後、ツールバーにある実行ボタンをクリックすることで、AutoCADの作業画面上にVBAで設定した動作が反映されます。

AutoCADのVBAでよく使うコマンド(管理・作図・修正)

AutoCADのVBAを使いこなすためには、頻出コマンドを理解しておくことが欠かせません。
参考として「管理」「作図」「修正」の3分野に分けて実務でよく使うコマンドを整理しました。

分類 記述例 具体的な用途
管理系 VBAIDE VBAエディタを起動
VBALOAD プロジェクトをロード
VBARUN マクロ名 指定したマクロを実行
作図系 object.AddLine(始点, 終点) 線分を作成
object.AddCircle(中心点, 半径) 円を作成
object.AddLightWeightPolyline(points) ポリラインを作成
修正系 オブジェクト.Offset(距離) オブジェクトをオフセット
オブジェクト.Explode オブジェクトを分解
Replace(対象文字列, “旧”, “新”) 文字列の一括置換

たとえば、図面内の繰り返し修正や寸法調整をしたい場合には 「Replace」「Offset」 を使うだけで作業短縮が可能です。リファレンスなどをチェックしつつ、使いたいコマンドを探してみてください。

AutoCADのVBAサンプルコード集

ここでは、初心者がすぐに試せる実用的なサンプルコードを紹介します。
日常業務で役立つ処理をまとめているので、ぜひコピペして活用してみてください。

  • ポリラインの線を引く
  • ブロックを挿入する
  • 文字列を一括置換する

線を引く(ポリライン作成)

VBAのコードでポリラインを引く

AutoCADのVBAを使えば、手動で入力せずに特定の座標指定でポリラインの線を描画できます。

Sub DrawPolyline()
Dim plineObj As AcadLWPolyline
Dim points(0 To 3) As Double

‘ 始点 (0,0) → 終点 (100,100)
points(0) = 0: points(1) = 0
points(2) = 100: points(3) = 100

Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
End Sub

上記は、座標(0,0)(100,100)を結ぶポリラインを引くVBAのコードです。
「points」の項目を増やして座標を指示してあげることで、複数のポリラインを引くことも可能です。

ブロックを挿入する(自動配置)

VBAコードによる自動車の配置

あらかじめAutoCAD上にブロックを登録しておけば、特定の部品やタイトル枠などをVBAで自動挿入できるようになります。

Sub InsertBlock()
Dim blockRef As AcadBlockReference
Dim insertPoint(0 To 2) As Double

‘ 挿入位置を指定
insertPoint(0) = 50: insertPoint(1) = 50: insertPoint(2) = 0

‘ “自動車 -メートル-” は事前に定義されたブロック名
Set blockRef = ThisDrawing.ModelSpace.InsertBlock(insertPoint, “自動車 -メートル-“, 1#, 1#, 1#, 0)
End Sub

上記は「自動車 -メートル-」というブロック名の自動車を呼び出して挿入するコードです。
事前に登録しておく必要がある点に注意してください。

また独自のブロックを呼び出す場合には、” “の名称をブロック名に書き換えなければなりません。

文字列を一括置換する(修正処理)

文字列を一括置換する

VBAでは、図面内の文字(フォント)を一括で置き換える処理も可能です。

Sub ReplaceText()
Dim obj As AcadEntity
Dim pickPoint As Variant
Dim newText As String

ThisDrawing.Utility.GetEntity obj, pickPoint, “文字を選択してください”
If TypeOf obj Is AcadText Then
newText = Replace(obj.TextString, “旧”, “新”)
obj.TextString = newText
obj.Update
End If
End Sub

上記のコードを使えば、図面内に配置されている「文字オブジェクト(AcadText)」を選択して、その文字列の一部を置換できます。(ABC123という文字があった場合、123を999に置換すれば ABC999と書き換えられる)

実務でのAutoCADのVBA活用シーン(業界全般・特化)

AutoCADのVBAは、単に単純作業を効率化できるだけの機能ではなく、実務全体の効率化を実現できる便利なツールです。以下に、業界全般および業界特化の活用シーンをまとめました。

業界 状況 VBAの活用シーン
建築設計 新規図面作成のたびに、図枠・レイヤー・尺度設定を手作業で準備している 標準テンプレートを呼び出して自動設定する
土木設計 河川や道路の断面を手作業で描いている 計算結果から自動で断面図を生成する
製造設計 部品図面の型番が定期的に更新されており、手入力で書き換えている 文字列を一括置換して自動修正する
全般 複数図面で同じルーチン作業を毎回繰り返している 条件分岐を含めて一括処理する

AutoCADのVBAは、さまざまな業界で活用できるのが魅力です。
繰り返し作業や手入力に手間を感じているなら、まずはそこにVBAを当てはめられないかチェックしてみてはいかがでしょうか。

AutoCADのVBAを効率よく学ぶ方法

AutoCAD自動化セミナー

AutoCADのVBAを活用したいなら、まずは基礎知識を学ぶことが大切です。
以下に、これからVBAを学び始めたいという方向けにおすすめの学習方法を整理しました。

  • 書籍で学ぶ
  • 動画配信サイトで学ぶ
  • Autodesk公式のリファレンスやマニュアルで学ぶ

なお、上記の独学で挫折した経験があるという方は、プロからVBAの操作方法や使い方を学べるセミナー講習を受講するのがおすすめです。

たとえば「実践的に学べるAutoCAD自動化セミナー」では、AutoCADのVBAを含め自動化機能の全容を実践的に学べます。

セミナー名AutoCAD自動化セミナー
運営元GETT Proskill(ゲット プロスキル)
価格(税込)27,500円〜
開催期間2日間
受講形式対面(東京・名古屋・大阪)・ライブウェビナー・eラーニング

AutoCADのVBAについてよくある質問

AutoCADのVBAはいつ廃止になるの?
AutodeskのVBA機能について、完全廃止は発表されていません。ただし、将来的なサポート縮小の可能性が示唆されています。新規開発には.NET APIやAutoLISPなどへの移行も推奨されているので、ほかの自動化機能と並行して学ぶと良いでしょう。
AutoCADのVBAの挫折率はどれくらい?
プログラミング未経験者の方の場合、挫折率が高いと言われています。ただし、VBAは比較的簡単に学べる言語であるほか、ExcelのVBA経験者やセミナー受講者などは習得率が高くなりやすい傾向です。
AutoCADのVBAとAutoLISPならどちらを学ぶべき?
短期習得ならVBA、長期的な拡張性ならLISPが有利です。AutoCADのVBAはExcelのVBAと似た構文で習得しやすく、2D作業や定型処理の自動化に向きます。一方AutoLISPは、CAD操作と相性がよく、ブロック操作や高度なカスタマイズに強みがあります。
AutoCADのVBAでファイルを開く方法は?
VBAから外部図面を開く際には「Application.Documents.Open(“パス名”)」という構文を使用します。たとえば「C:\data\test.dwg」を指定した場合には、そのリンク先にある図面が新しいドキュメントとして開かれます。

AutoCADのVBAについてまとめ

AutoCADのVBAは、図面作成や修正のルーティン作業を効率化できる便利な自動化機能です。
繰り返し発生する業務をコード化することで、時間削減だけでなくヒューマンエラー防止にもつながります。

ただ3D処理や大規模開発には限界があるため、AutoLISPや.NET APIとの使い分けが必要であるため、まずは書籍を用いた独学、もしくはセミナー講習で効率的な学習をスタートしてみてはいかがでしょうか。

AutoCADのVBAのアイキャッチ
最新情報をチェックしよう!