【入門編】【上級】AcadApplicationの「情報センター」や「スタート画面」をVBAから制御し、業務集中環境を構築 – AutoCAD VBA解析バイブル

スポンサーリンク

ようこそ、AutoCAD自動化の深淵へ。

「マクロの記録」ボタンを押すだけの自動化は、もう卒業しましょう。今日皆さんが学ぶのは、AutoCADという巨大なソフトウェアの「OS」に近い部分――つまり、Applicationオブジェクトを直接制御し、あなたの作業環境を「最強の戦場」へと書き換えるための技術です。

なぜ、スタート画面や情報センターを消すのか? それは単なる個人の好みではありません。「余計な描画を省き、メモリを解放し、オペレーターの視覚的ノイズを極限までゼロにする」ことこそが、エンジニアリングにおける集中力管理の真髄だからです。

さあ、共にコードを書き換えていきましょう。

1. AutoCADオブジェクトモデルの「頂点」を支配する

AutoCADのVBAには、ヒエラルキー(階層)が存在します。その頂点に君臨するのが `AcadApplication` です。

  • AcadApplication: AutoCADそのもの。起動、終了、環境設定の全てを司る。
  • Preferences: アプリケーションの「設定」そのもの。この中に、GUIの表示やシステム動作のスイッチが隠されています。

皆さんが普段使っている「オプション」ダイアログは、実はこの `Preferences` オブジェクトのGUI版に過ぎません。VBAでこれにアクセスできれば、会社のPC数十台の設定を、一瞬であなたの好みの「集中特化環境」に書き換えることが可能です。

2. 実践:スタート画面と情報センターを「強制無効化」する

以下のコードは、AutoCADの起動を阻害するスタート画面(StartUp)や、作業中に鬱陶しくポップアップする情報センターを、コードの力で「抹殺」するスクリプトです。

Sub OptimizeAutoCADEnvironment()
‘ アプリケーションの基本設定オブジェクトを取得
Dim prefs As AcadPreferences
Set prefs = ThisDrawing.Application.Preferences

‘ 1. スタート画面(STARTUP)を抑制
‘ 0にすることで、起動時の余計なロードを省き、即座に図面空間へ突入させる
prefs.System.Startup = 0

‘ 2. 情報センターの表示を制御
‘ バージョンによりプロパティが異なる場合があるが、基本的にはDisplay設定を調整
‘ これにより、不要なオンライン通知をシャットアウトする
On Error Resume Next ‘ 古いバージョンでのエラー回避
prefs.Display.DisplayScrollBars = False ‘ スクロールバーも不要なら消す
On Error GoTo 0

MsgBox “環境の最適化が完了しました。再起動後に反映されます。”, vbInformation, “AutoCAD最適化”
End Sub

コードの解説

  • `ThisDrawing.Application.Preferences`: ここが入り口です。ここを叩けば、AutoCADの「心臓部」に直接アクセスできます。
  • `prefs.System.Startup`: この値を `0` に設定することで、あの重たいスタート画面をスキップします。起動速度が数秒向上するだけで、年間を通せば膨大な時間節約になります。
  • `On Error Resume Next`: これが伝説的なエンジニアの知恵です。AutoCADのバージョンによってプロパティ名が変わるリスクを考慮し、「エラーが出ても止まらずに突き進む」という保険をかけています。

3. 陥りやすい「罠」と解決策

初学者がここで必ず躓くポイントが2つあります。

罠1:設定変更が「即時反映」されない

AutoCADのシステム変数は、変更した瞬間にレジストリやメモリへ書き込まれますが、UI(画面表示)には再起動が必要なものが多いです。コードを実行したら、必ず一度AutoCADを再起動してください。「変わっていない!」と焦る必要はありません。それがAutoCADの仕様なのです。

罠2:権限の問題

会社でAutoCADを使っている場合、管理者権限によって設定変更がロックされていることがあります。その場合、VBAは「エラー 70:書き込み禁止」を吐きます。もしエラーが出たら、AutoCADを「管理者として実行」して試してみてください。

4. 最後に:なぜ「環境をコード化」するのか

皆さんが明日からこのコードを使うことで、あなたのPCは「誰でも使える汎用環境」から「あなた専用の高速実行環境」へと進化します。

「マクロで図形を描くだけ」がVBAではありません。AutoCADという巨大なシステムそのものを、自分の仕事のやり方に合わせてカスタマイズすること。 これが、一歩先行くエンジニアの視点です。

ここをクリアした皆さんなら、次は `AcadDocument` を使って、開いている図面を自動でバックアップしたり、レイヤーを瞬時に整理したりするような、より高度な自動化の世界に踏み込めるはずです。

AutoCADの世界は広大です。ですが、その全てを皆さんのコードで制御可能です。迷わず、次の一歩を踏み出してください!


エンジニアの皆さんへ:
コードについて不明な点や、「こんな業務を自動化したい」というリクエストがあれば、いつでもコメントで教えてください。現場の課題を解決してこそ、真の技術者ですから。

タイトルとURLをコピーしました