【ごまかんぱちの挑戦】エクセルでAutoCADの自動作図(その3)
こんにちは。ごまかんぱちです。🐟
AutoCADの自動作図を目指して奮闘しています。
第3回にして、ようやく自動作図が始まります。
それでは スタートです。
3-1. 自動作図のための準備
以下のように書きます。
Sub macro()
Sakuzu = ThisWorkbook.Path & "\CAD_file.scr"
Open Sakuzu For Output As #1
Print #1, "osnap non"
'********↑前処理↑********
'********↓後処理↓********
Print #1, "zoom e"
Print #1, "filedia 1"
Close #1
End Sub
これは、このまま書いてください。
2行目あたりにある「\」半角のバックスラッシュは、半角の円マークのことです。
どちらが表示されても(フォント次第)、気にしないでください。
これからは、この「前処理」と「後処理」の間に コードを書いていきます。
3-2. いざ 自動作図!
・線分(基本編)
🚩「Print #1, "line 100,150 1000,2000 "」と書いて実行する。
すると、エクセルファイルと同じ場所に 「CAD_file.scr」というスクリプトファイルができました。
続いて、新規AutoCADファイルを開いて(新規でなくてもいいですが)、今できた このスクリプトファイルをCAD上にドラッグアンドドロップすると…
何と! 座標 (100,150) から (1000,2000) までの直線ができました。
ちょっと感激です。😂
これは、AutoCAD上で コマンド「line 100,150 1000,2000 」を入力する という命令です。
スペースが決定の役割を担っているので、スペースの有無、スペースの数も重要です。
ただ これでは折角エクセルを使っている旨味がないので、セルの値を使えるようにしていきます。
セルA1、B1と、A2、B2に 適当な数値を入力します。
続いて、先ほどのコードを 数値とそれ以外に分けると…
🚩「Print #1, "line " & 100 & "," & 150 & " " & 1000 & "," & 2000 & " "」
こうなります。
数値以外のもの(文字やスペースやコンマ)は「"」で挟み、「&」を使ってつなげていきます。
数値「100」「150」「1000」「2000」の部分を セル位置に置き換えると…
🚩「Print #1, "line " & Range("A1") & "," & Range("B1") & " " & Range("A2") & "," & Range("B2") & " "」
こうなります。
これを実行して、スクリプトファイルをCAD上にドラッグアンドドロップすると 線分が作図されます。
(ドラッグアンドドロップ以外にも、CAD上で「SCR 」と入力して スクリプトファイルを選択する方法もあります。)
セルに入力した値を いろいろと変えて、いろいろな線分が描けることを試してみましょう。
3-3. 今回のまとめ
最後に 今回のまとめです。
実は、「前処理」と「後処理」の間の1文しか書いてないです。
この1文だけで、エクセルに入力した値の線分を描いてくれるのです。
スゴいですね。
Sub macro()
Sakuzu = ThisWorkbook.Path & "\CAD_file.scr"
Open Sakuzu For Output As #1
Print #1, "osnap non"
'********↑前処理↑********
Print #1, "line " & Range("A1") & "," & Range("B1") & " " & Range("A2") & "," & Range("B2") & " "
'********↓後処理↓********
Print #1, "zoom e"
Print #1, "filedia 1"
Close #1
End Sub
今回はここまで。👍
次回は応用編です。お楽しみに。
「役に立った!」「助かった!」と感じたらサポートいただけると嬉しいです。😊