Excel 自動化
本功能讓您從 Excel 檔案包含的資料自動產生原理圖圖紙。此檔案必須具有特定格式,才能輸入到 SOLIDWORKS Electrical 中。
本功能對於初學者而言可能難以執行。為協助您,本章結尾提供下載範例的方法。
相容性
Excel 自動化功能僅與 Excel 2016 及 365 搭配 64 位元版本相容。
程序
Excel 自動化功能使用設定好格式的 XLS 檔案,其中含有產生或使用文件集、資料夾和圖紙的指示。這些圖紙是從您在其中使用變數的特定宏自動產生。
1. 第一個步驟是產生您要使用的宏。
2. 然後,您必須從檔案範本產生 XLS 檔案。
3. 最後一個步驟是使用 Excel 自動化功能輸入 XLS 檔案,以產生圖紙。
宏定義
Excel 自動化功能僅使用原理圖宏,其他宏無法使用,而且絕不可使用。這些宏是特定的,而且必須包含這兩個規則:插入點和變數。
插入點
宏會自動插入圖紙中,而且必須有特定插入點。從插入點功能,按一下您要插入宏的點。您必須在 XLS 檔案中輸入此點的座標。
變數定義
宏含有一些可在原理圖中衍生資訊的變數。這些變數將會被您在 XLS 檔案中設定的文字取代。變數的格式必須在變數前後加上「%」字元。例如 %VAR1%,其中「VAR1」是變數名稱。變數中使用的文字可自由發揮,但宏與 XLS 檔案中使用的文字可以是相同的。
您可使用變數來取代以下項目:
- 所有含標注的物件 (例如零組件、位置或圖紙):若要管理標注 (位置、功能或零組件),請從宏管理編輯宏,然後以變數取代標注。例如,如果宏包含標注為 K1 的接觸器,則會以變數 %COMPMARK1% 取代此標注。您能以相同方式使用位置管理,使用變數 (例如 %LOCMARK1%) 取代位置標注,然後將這個位置指定給零組件。
- 製造商設備型號:若是製造商設備型號,請將零組件和您在製造商名稱中輸入變數的製造商設備型號 (例如:%MANUFACTURER1%),還有製造商設備型號參考 (例如:%MANUFPART1%)。
- 等電位編號:若要在等電位編號中使用變數,請編輯電線等電位編號,並以變數 (例如 %EQUIP1%) 加以取代。
- 電線樣式名稱:若要在電線樣式名稱中使用變數,請開啟電線樣式管理。在電線樣式屬性中,以變數取代電線樣式名稱 (例如:%WireStyle1%)。
- 可譯數據與使用者資料:變數亦可用於任何含標注物件的描述、使用者資料或可譯數據 (例如:第一筆西班牙文可譯數據可使用 %TransData_1_ES%)。
Excel 檔案定義
SOLIDWORKS Electrical 隨附數個範本 Excel 檔案,可協助您產生自己的 Excel 檔案。這些範本儲存在 SOLIDWORKS Electrical 資料的 \XlsAutomation\Template 資料夾中。

|
功能表:輸入/輸出 > Excel 自動化 > 建立供自動化的新 Excel 檔案 |
1. 在清單中選擇您要使用的範本檔案。
2. 將檔案儲存在您的個人資料夾中。
Excel 檔案可以是來自 97/2003 版 (.xls),最新版本可以是 2013 格式 (.xlsx) 或 xlsm 檔案格式 (具有宏的 Excel 檔案)。檔案中只有第一個顯示的工作表會進行處理,其他工作表會被忽略。工作表名稱沒有限制。
Excel 檔案必須包含用於執行 Excel 自動化的特定指示。標題之前的列數視您的需求而定,沒有限制。程序會讀取第一個字串以「#」字元開頭的第一個列。這是標題行。
這個標題行必須具有兩種資訊:欄位名稱 (#field) 和變數名稱 (%variable%)。
您可在檔案標題中管理數種語言。插入欄時,使用 #title_lang 欄位來識別描述不同語言的文字。
欄位名稱
若要識別欄位名稱,該欄位必須以「#」字元開頭。一般而言,欄位名稱對應到資料庫中的欄位名稱。例如,「#fil_title」對應到其中將插入宏之圖紙的標注。必須填寫這些欄位中的某些欄位,才能取得一致的結果。
您必須管理的第一個欄位名稱與宏名稱和位置相對應。
宏
欄位名稱 |
說明 |
必填 |
#mac_name |
宏名稱 |
是 |
#mac_posx |
要插入宏的 X 座標 |
是 |
#mac_posy |
要插入宏的 Y 座標 |
是 |
#mac_insert |
如果此欄存在、未隱藏、含有 0 或是空白,就不會處理宏。 |
否 |
針對資料庫的其他欄位,SOLIDWORKS Electrical 只接受圖紙 (「fil」)、檔集 (「bun」)、位置 (「loc」) 和功能 (「fun」) 表格的欄位。
唯一必填的欄位是 #fil_title,這是要插入宏之圖紙的標題。但是如果您插入任何其他欄位,例如文件集、位置或功能,則需要相對應表格的標籤。例如,如果插入任何位置欄位,就需要欄位 #loc_text。
支援的欄位如下表所示:
圖紙
欄位名稱 |
說明 |
必要 |
#fil_filename |
硬碟上檔案的名稱 |
否 |
#fil_title |
圖紙的標注 |
是 |
#fil_filetype |
圖紙類型 (*) |
否 |
#fil_manual |
手動或自動標注 |
否 |
#fil.tra_0.xx |
圖紙的描述,其中 xx 是語言代碼 |
否 |
#fil.use_data0 |
圖紙的使用者資料 |
否 |
(*) 該檔案類型支援的值如下:
0:原理圖圖紙
1:佈線方框圖圖紙
5:首頁
9:機櫃佈局圖紙
12:混合圖紙
文件集
欄位名稱 |
說明 |
必要 |
#bun_tag |
文件集的標注 |
是 (若有使用任何文件集) |
#bun_manual |
手動或自動標注 |
否 |
#bun.tra_0.xx |
文件集的描述,其中 xx 是語言代碼 |
否 |
位置
欄位名稱 |
說明 |
必要 |
#loc_text |
位置的標注 |
是 (如果使用任何位置) |
#loc_tagmanual |
手動或自動標注 |
否 |
#loc_tagpath |
標注路徑 (完整標注) |
否 |
#loc_tagroot |
標注源 |
否 |
#loc.tra_0.xx |
位置的描述,其中 xx 是語言代碼 |
否 |
功能
欄位名稱 |
說明 |
必要 |
#fun_text |
功能的標注 |
是 (如果使用任何功能) |
#fun_tagmanual |
手動或自動標注 |
否 |
#fun_tagpath |
標注路徑 (完整標注) |
否 |
#fun_tagroot |
標注源 |
否 |
#fun.tra_0.xx |
功能的描述,其中 xx 是語言代碼 |
否 |
產生的所有物件 (圖紙、文件集、位置和功能) 在產生時依預設都會使用手動標注。如果您希望這些項目自動編號,則應插入欄位 xxx_tagmanual 或 xxx_manual,並將其設為 0。在此狀況下,檔案標注會由 SOLIDWORKS Electrical 依據回路工程設定中定義的公式產生。
使用者資料與可譯數據亦可新增為欄位,但由於兩者並不是直接列在物件表裡,因此欄位定義略有不同。
若為可譯數據,則其會設定為以下格式:#ttt.tra_nn.xx
其中
- ttt 會由表格字首 (fil、bun、loc、fun) 取代。
- tra 為可譯數據 (請勿修改)。
- nn 會由您需要的資料索引取代 (0 代表描述)。可譯數據最高為 14。
- .xx 會由語言代碼取代,通常 .l1 (L1) 是指主要的回路工程語言。支援的語言代碼如下:
- 回路工程語言 (L + 1 至 3):「l1」、「l2」、「l3」
- 標準語言代碼:en、es、fr、it、ru、ko、ja、pt...、zh、zh-tw
回路工程主要語言的檔案描述範例:#fil.tra_0.l1
若是使用者資料,則語法很類似,只是不會指定語言:#ttt.use_datann
其中
- ttt 會由表格字首 (fil、bun、loc、fun) 取代。
- use_data 為使用者資料 (請勿修改)。
- nn 會由您需要的資料索引取代,使用者資料介於 0 與 19 之間。
檔案使用者資料範例:#fil.use_data0
變數
您指定所有資料後,必須說明宏的插入位置 (圖紙、文件集、位置和功能),而且必須指定您要其值取代的變數。您有兩種方法可執行此動作。
第一個方法需要您在標題的第一個可用欄中寫入標籤「#mac_var_name」,並在下一個可用欄中寫入「#mac_var_value」,然後繼續以成對的方式填寫欄,直到達到所需數目。之後請對於您要寫入的每一列 (針對您要插入的每一個宏),在第一個欄中寫入變數名稱,並在第二個欄寫入此變數的值。例如:
#mac_name |
#mac_var_name |
#mac_var_value |
#mac_var_name |
#mac_var_value |
Test0 |
%motor1% |
M5 |
%motor2% |
M6 |
在此狀況下,您插入宏 Test0,變數 %motor1% 由 M5 變更,而變數 %motor2% 由 M6 變更。
第二個方法較適合所有宏均採用相同的變數名稱時使用。然後在這個方法中,在標題上指定變數名稱,例如 %VAR1%,接著請在不同的列上,指定此變數對於此插入的宏所提供的值。例如:
#mac_name |
%var1% |
%var2% |
Test0 |
M5 |
M6 |
Test1 |
V3 |
V4 |
在此狀況下,第一行插入宏 Test0,由 M5 變更變數 %var1%,M6 變更 %var2%,而在第二行上,插入宏 Test1,在此狀況下,則是由 V3 變更變數 %var1%,V4 變更變數 %var2%。
備註:變數名稱不區分大小寫。
使用含變數的公式
您可使用公式,在自動產生圖紙期間,自動產生值。公式會以「{」和「}」這兩個字元識別,「{」是公式的開頭,「}」是公式的結尾。這兩個字元中間的內容就是公式,就像軟體中提供的任何一種公式。公式當中的變數格式必須與 Excel 檔案的相同 (%VARIABLE%)。
例如,使用此值設定零組件的標注:{"PP_" + %VARIABLE% + "RR" + %VARIABLE2%}
插入宏兩次時,透過 Excel 產生的第一次結果會是 PP_33RR12,第二次結果會是 PP_33RR13。
如果是 Excel 檔案中,我們就會有具有以下內容的兩個行:
%VARIABLE% 設成 33 而 %VARIABLE2% 設成 12
%VARIABLE% 設成 33 而 %VARIABLE2% 設成 13
安裝 Excel 附加程式
若需協助產生 Excel 檔案,您可以使用附加程式。

|
功能表:輸入/輸出 > Excel 自動化 > 安裝 Excel 附加程式 |
Excel 附加程式的安裝程式會自動啟動。若沒有自動啟動,請選擇 EwExcelAddIn.vsto 檔案。
自動產生圖紙
您可以在產生 Excel 檔案之後,將其輸入 SOLIDWORKS Electrical 以自動產生圖紙。

|
功能表:「輸入/輸出」>「Excel 自動化」 |
選擇檔案對話方塊隨即開啟,以讓您選擇 Excel 檔案。
文件集、資料夾和圖紙會自動產生,宏會插入到這些圖紙中,而變數則會由值取代。

|
SOLIDWORKS Electrical 並不會確認圖紙是否存在,或是圖紙是否包含其他電氣圖元。在此狀況下,將會插入宏,而不將圖紙的現有圖元納入考量。 |
清單對話方塊隨即開啟,以顯示輸入結果。
範例檔案
1. 若要使用此範例,我們建議您產生新的回路工程。
2. 下載製造商目錄:Demo_Simple.part.tewzip,然後在製造商設備型號管理解除建立這個檔案的記錄檔。
3. 下載宏:Demo_Simple_Macros.macro.tewzip
,然後在宏管理解除建立這個檔案的記錄檔。
4. 開啟宏以顯示變數。
5. 下載
Demo_Simple.xlsx 檔案,並開啟檔案以顯示其結構。
6. 啟動 Excel 自動化指令以輸入 Excel 檔案。