Excelを使ったBSchの表形式データ編集ツール "BSchList"

製作:2025年4月29日~2025年5月6日
執筆:2025年5月31日
全景 Excelを使用してBSch3Vの回路図やライブラリデータを表形式で編集します。 アイテムの一括変更や整列、ピン数が多い部品の作成などが手軽に行えます。

Excelは表計算ソフトだからこんな用途に使うなとか、いい加減VBAなんか使うなとか、そういうことを言わない人向けのツールです。

BSchでもリスト形式で編集したい

BSchは最小限の機能と簡単な操作で回路図を作成できます。オブジェクトの配置や編集はマウスを使って行いますが、回路図が完成に近づくにつれて属性の編集が作業の大半を占めるようになり、個々のオブジェクトをマウスで操作しながら編集するのは、非常に時間のかかる大変な作業です。

Altium Designer BSchには他の商用EDAに搭載されているような、複数のオブジェクトの属性を表形式で編集する機能は実装されていません。また、部品リスト作成ソフトPL3Wのように外部プログラムを呼び出す煩雑さや、表形式のリストを生成できたとしても、リストを編集して回路図に書き戻す機能はありませんでした。

BSchListは、BSchのコピー&ペーストがクリップボードを経由するテキストデータであることに着目し、BSchのクリップボードデータとExcelの表を相互に変換する機能をVBAで実装しました。このツールを利用すれば属性の変更を表形式で編集することができ、作業時間を短縮する事ができます。

BSchList 2025-06-06版 ダウンロード  操作説明書

BSchListで出来る編集機能の特徴

使用上の注意点

使用例

BSchListを作る前にこんな事がしたかった集です。

部品の方向・名前・値の位置を揃える

日頃、抵抗やコンデンサは方向がわかるように、1ドットずらしたライブラリを使っています。
回路図が完成するにつれて、コピーした部品の方向がバラバラ、文字の位置も全部揃えたい。
そんな時はマスターになる部品を1個作り...
方向

Excelで方向(Angle)・名前の位置(RefX,RefY)・値の位置(TextX,TextY)をマスターからコピーすれば一発で整形できます。
方向

オブジェクトを連番で自動生成したい

32ビット分のタグが欲しいとき、手動で作るのは超手間がかかる...
タグの場合は、文字数が増えると幅が変わって見た目が悪い。何とかしたいなぁ...
そんな時はマスターになる部品を2~3個作り...
タグ

Excelで連番テキスト(Text)や位置(X1,Y1)に対する増分を自動計算させてオブジェクトをコピー。
ついでにタグ長統一機能を使えば見た目もバッチリ。
タグ

部品のピンにデータシートの信号名をコピペしたい

面実装の部品な何十本もピンがあるものが多く、ライブラリを作る時に信号名を入れるのも一苦労。
そんな時はLCoで枠を作り、四隅に1個づつピンを置いて部品をコピー。
ライブラリ

Excelに貼り付けてピンの位置(Position)・ピン番号(Num1)を付けて、Name(信号名)にデータシートからコピペ。
ピンの位置は、反時計回りではなく上から・左からの順番なので、TOPとRIGHTの並べ方に注意。
タグ

LCoかBSchに貼り付けると部品データを実体化できます。
176ピンのICなんかだと、驚くほど短時間でライブラリを作れます。
タグ

さらに便利な使い方 - BSchの拡張メニューへ登録する方法

BSchList.xlsmを特定のフォルダに保存しておき、拡張メニューから一発で呼び出してシームレスに使うことができます。
拡張メニューそのものの使い方は、BSchのサイトにあるオンラインマニュアルをご覧ください。

メニュー

BSchList.xlsmをBSchのフォルダ C:\software\bs3vp240108rtl に保存している前提で解説します。
拡張メニューの登録先は、上記画像のようにメニューの4番目に登録すると仮定します。

[ExtensionMenu]
Menu3=BSchList,,"C:\Program Files\Microsoft Office\Root\Office16\EXCEL.EXE" "C:\software\bs3vp240108rtl\BSchList.xlsm"

ポイント - BSchList.xlsmはフルパスで書く

Excelの引数に "BSchList.xlsm" のようにファイル名だけを書くと、毎回マクロが無効の状態に戻ってしまいます。
フルパスで書いていないと、どのファイルのマクロを許可したのか記憶されないようです。

NASのようなネットワークドライブやOneDrive用のフォルダに置いた場合も、セキュリティの設定で弾かれる場合があります。
出来るだけローカルドライブに置くようにしてください。

制作後記