サンプルコードで試してみよう!iCAD用エクセルVBAツール

iCAD SX 更新:

この記事はこのような人に向けて書いています。

  • iCAD作業を自動化することに挑戦してみたい人
  • プログラミングをしたことは無いけど、試しにVBAでiCADを操作してみたい人

こんにちは。ゆー です。

iCADを普段から使っている皆さん、もっと進んだ使い方をしてみませんか。

VBAとiCADを連携させることで、業務をより効率的に進めることができます。

しかし中にはこんな方もいらっしゃるでしょう。

VBAでiCADを動かせるって聞いたけど、どうやるんだろう。

そこで今回は、私が作成したVBAのサンプルコードを使ってVBAによるiCAD操作を実践してみましょう。

ツール作成への第一歩を今日、踏み出しましょう!

VBEを起動しよう

VBAプログラムはVBE(Visual Basic Editor)を用いて編集するので、まずはVBEをエクセルから起動します。

開発タブの表示

エクセルは初期設定では開発タブが表示されていません。

VBAのプログラミングでは開発タブを頻繁に使用しますので、以下の手順で表示させてください。

  1. エクセルを起動
  2. ファイル→オプション→リボンのユーザー設定
  3. 右側ペインの “メインタブ” というセクションで、“開発ツール” にチェックして”OK”
  4. 開発タブが表示されているのを確認する

 

VBE(Visual Basic Editor)の起動

  1. 開発タブの一番左にあるVisual BasicをクリックするとVBEが起動します。
  2. VBEが起動したら左側の”Sheet1”をダブルクリックしてコードウィンドウを表示させます。このコードウィンドウがコード(プログラムの本文)を記載する場所です。

VBAでiCADを操作してみよう

さっそくVBAでiCADを動かしてみましょう。

今回はiCADを2次元画面に切り替えるプログラムを作成します。

プログラムを作成

以下のコードをコードウィンドウにコピペしてください。

Sub iCAD_2D_Activation()
'-----------------------------------------------------------
'2D画面をアクティブにする
'-----------------------------------------------------------
    '変数を設定
    Dim myObject As Object  'iCADオブジェクトを格納する変数
    Dim CurrDimn As Integer '現在の次元を格納する変数
    Dim MacroStr As String 'iCADマクロを格納する変数
    
    
    'オブジェクトをセット
    Set myObject = CreateObject("ICAD.Application")
    
    On Error GoTo ErrLabel
    
    'iCADをアクティブにする
    myObject.Activate
    
    'アクティブな次元(2D or 3D)を取得する
    CurrDimn = myObject.ActiveDrawing.ActiveViewDimension
'    Debug.Print CurrDim

    'アクティブ次元が3だったら次元切替を行う
    If CurrDimn = 3 Then
        MacroStr = ";DIMSW1 @GO"            'iCADマクロを代入:次元切替
        myObject.Activate                             'iCADをアクティブにする
        myObject.RunCommand MacroStr    'iCADマクロを実行
    End If
    
    Exit Sub
    
ErrLabel:
    MsgBox "iCADが起動していません"
    
End Sub

こんな感じです。

プログラムの実行

iCADを閉じた状態で実行

まずはiCADを閉じて(起動していない状態で)プログラムを実行してみてください。

プログラムを実行するには、Sub~End Subのどこかにカーソル(点滅する縦線)がある状態で実行ボタンをクリック(またはF5キーを押下)します。

下記のようなメッセージが表示されればプログラムは正常です。

OKをクリックして、次の項目に進みましょう。

iCADを開いた状態で実行

今度はiCADを起動し、3次元画面が表示されている状態で、プログラムを実行してみましょう。

iCADが3次元画面から2次元画面に切り替わるはずです。

動画のようになれば成功です。

今回のプログラムは「iCADを2次元画面にするだけ」ですが、さらに応用を効かせアイデアを盛り込んだりすることで、業務で大活躍するツールにすることができます。

公式資料を確認しよう

iCADにはVBA活用のための資料が備わっています。

VBAでのツール開発には必須の資料ですので、一度は目を通しておきましょう。

中には難解な部分もありますので、すぐに理解しなくて大丈夫です。

まずはこういう資料が存在しているということを把握して、必要になったときに解読していくのが良いと思います。

—コマンド簡易開発ガイド

参照方法

  • iCADを起動→—メニューバー→ヘルプ→マニュアル→コマンド簡易開発ガイド

VBAを使った初歩的なツール作成例や手順が用意されています。

自分で基礎的なことを始めてみたい!という方は、この資料を読むことから始めてみるとよいでしょう。

VB I/Fヘルプ

参照方法

  • C:\ICADSX\HELP\ICADOLEA.chm
    ※ICADのインストール先が異なる場合は同様のファイルを探してください

—VBA(およびVB.NET)でiCADを操作するために必要なメソッドなどの一覧です。

メソッドとは例えるとiCADを操作するための魔法の呪文のようなものです。

たとえば先ほど作成したプログラムでは下記の呪文を使用しています。

  • VBAでiCADを動かせるようにする呪文:CreateObject(“ICAD.Application”)
  • iCAD画面が3次元か2次元かを把握する呪文:ActiveDrawing.ActiveViewDimension
  • iCADを動かす呪文:RunCommand

「iCADに◯◯させたい!」というときは、VB I/Fヘルプを参照して操る呪文を探しましょう。

本記事で掲載している画像の特記事項

本ブログ記事に掲載しているiCADの画像についての注意事項です。

  • iCADは、富士通株式会社の登録商標です
  • iCAD SXの著作権は、iCAD株式会社が保有します
  • 当ブログでは、iCAD株式会社の許諾を得て画面等を表示しています
  • 当ブログの内容について、無断で使用、複製することを禁じます
ゆー

この記事を書いた人

ゆー

iCAD ✕ VBAライブラリ活用事例解説【正多角柱の自動生成ツール】

iCAD SX 穴ライブラリ ダウンロード

console.log("postID: 13689");console.log("カウント: 2863");