iLogicによる設計の自動化などで作業効率化を図ります。
iLogic - 図面シート名一括変更
iLogicの目次
図面シート名一括変更
図面シート名を一括で変更します。
- 1.複数の設計ファイルで同じ自動化ルールを実行できるように外部ルールで作成します。
iLogicブラウザの外部ルールで追加したフォルダを右クリックして[新しい外部ルールを作成]をクリック。

- 2.任意の名前を入力して[保存]をクリック。

- 3.下記コードを入力して[保存]をクリック。(ハイフン(ー)の有無や開始番号の桁数は任意に変更してください)
' System.Collectionsをインポート(ArrayListを使用するため) Imports System.Collections ' --- 1. ユーザー入力 --- ' 1番目の文字列を入力 Dim newPrefix As String = InputBox("1番目の文字列を入力してください(例:abcde)", "1番目", "") ' 2番目の文字列を入力 Dim suffixBase As String = InputBox("2番目の文字列を入力してください(例: 1-)", "2番目", "-") ' 連番の開始番号を入力 Dim counterInput As String = InputBox("開始番号を入力してください(例: 1)", "開始番号", "1") ' --- ここが追加・変更箇所です --- ' 連番の桁数(フォーマット)を選択するリストを作成 Dim formatList As New ArrayList formatList.Add("0") ' 1, 2, 3... formatList.Add("00") ' 01, 02, 03... formatList.Add("000") ' 001, 002, 003... formatList.Add("0000") ' 0001, 0002, 0003... ' リストボックスを表示してフォーマットを選択 Dim formatString As String = InputListBox("連番の桁数を選択してください", formatList, "00", "桁数設定", "選択可能な桁数") ' ----------------------------- Dim counter As Integer = 0 If IsNumeric(counterInput) Then counter = CInt(counterInput) Else MessageBox.Show("連番の開始値が無効です。0から開始します。") End If ' --- 2. 処理実行 --- ' 図面ドキュメントを取得 Dim oDrawDoc As DrawingDocument = ThisDoc.Document ' エラーハンドリング(名前の重複などで止まらないようにする) On Error Resume Next ' 各シートをループ For Each oSheet As Sheet In oDrawDoc.Sheets ' 選択されたフォーマット形式(formatString)を使って数値を文字列化 ' 例: formatStringが "000" なら counter.ToString("000") となる Dim newSuffix As String = suffixBase & counter.ToString(formatString) ' 新しいシート名を構築 Dim newName As String = newPrefix & "-" & newSuffix ' 名前が空になるのを防ぐため、ハイフンの処理を調整(Prefixが空の場合など) If newPrefix = "" Then newName = newSuffix ' Prefixが空ならハイフンなし End If ' シート名を変更 oSheet.Name = newName ' エラーがあればメッセージを出して続行するか、無視する If Err.Number <> 0 Then ' 名前重複などの場合、処理をスキップまたはログ出力(ここでは単純にクリア) Err.Clear() End If counter += 1 Next
作成した外部ルールをリボンやショートカットに登録しておくと便利です。 - 4.作成したルールを右クリックして[ルールを実行]をクリック。

1番目の文字列を入力して[OK]をクリック。

2番目の文字列を入力して[OK]をクリック。

開始番号を入力して[OK]をクリック。

下図のように連番で一括で変更されます。


