VBAでここまでできる! AutoCADカスタマイズ 第2回
第2回「Hello, CAD」
こんにちは。キャパの風間です。
第2回目となります、VBAによるAutoCADカスタマイズ講座です。
本日は、ダイアログ(画面)を用いたカスタマイズ方法をご紹介します。
それでは早速VBAのエディタを開きます。方法はわかりますよね?(わからない方は第1回目を復習です!)
https://stg.capa.co.jp/archives/2542
そこで、AutoCAD Objectsというフォルダを右クリックしてください。出てきたウィンドウから [挿入] → [ユーザーフォーム] を選択してください。
それでは早速、画面を作りましょう。まずはテキストボックスの配置です。ツールボックス画面から[テキスト ボックス]を選択してください。
3つテキストボックスを作ります。上、左下、右下と配置してください。順番は後ほど重要となります。また、ラベルで「文字」「X座標」「Y座標」と書きましょう。ラベルは[テキスト ボックス]のひとつ左となりです。
次は[ボタン]を作ります。ツールボックス画面から[コマンド ボタン]を選択してください。
画面が出来たら、画面のOKボタンをダブルクリックしてください。VBAのエディタが開かれ、構文が出来ていることを確認できます。
メッセージボックス(MsgBox (“Hello, World!”))は不要なので、削除してください。そして、ここで入力した情報が反映できるよう以下の4点を修正します。
修正1
dInsPoint(0) = 0
↓
dInsPoint(0) = TextBox2.Text
修正2
dInsPoint(1) = 0
↓
dInsPoint(1) = TextBox3.Text
修正3
Call ThisDrawing.ModelSpace.AddText(“Hello, World”, dInsPoint(), 100)
↓
Call ThisDrawing.ModelSpace.AddText(TextBox1.Text, dInsPoint(), 100)
修正4
最後の行(End Sub)の直前に以下の文を追加します。これがない場合は、モデル空間上に即時反映されません。ご注意ください。
Call Application.Update
Private Sub CommandButton1_Click()
Dim dInsPoint(0 To 2) As DoubledInsPoint(0) = TextBox2.Text
dInsPoint(1) = TextBox3.Text
dInsPoint(2) = 0Call ThisDrawing.ModelSpace.AddText(TextBox1.Text, dInsPoint(), 100)
Call Application.Update
End Sub
それでは、早速実行しましょう。方法はわかりますよね?(わからない方は第1回目を復習です!)
https://stg.capa.co.jp/archives/2542
文字に「Hello, World!」と入力してください。X座標とY座標は「0」にします。
↓
[OK]ボタンを押します。
(モデル空間に文字が表示されます)
つづけて、文字に「Hello, CAD!」と再入力してください。Y座標は「110」にして[OK]ボタンを押します。
(モデル空間に文字が追加で表示されます)
いかがでしょうか。
このようにマクロを使っていくことで、個人や会社のルールにあったカスタマイズをすることが出来ます。
便利ですよね。
それではまた、次回に続きます。
株式会社キャパでは、アプリの企画・開発についてご相談を承っています。
アプリを作りたいので、具体的な提案が欲しい。頭の中にあるアイデアを本当に実現できるのか知りたい。予算内に収まるのか?
などのお客様のご相談に、親身に応じます。
https://stg.capa.co.jp/CorporateSite_LP_B/