SOLIDWORKS 專門論壇 SolidWorks forum

 找回密碼
 註冊
查看: 18478|回復: 35
收起左側

Excel 批次修改SolidWorks檔案名稱

  [複製鏈接]
發表於 2014/12/6 23:09:10 | 顯示全部樓層 |閱讀模式
我實在懶~原封不動搬過來~請見諒


分享一個很棒的宏~
是在EXCEL運行
這是台灣玩家論壇技術文章
以下引用玩家論壇與 ICAX論壇 討論集成


原由:
由於 SolidWorks 檔案存在關聯, 修改檔案名稱可說是麻煩的事情.
維持關聯的改名方法有:
1. 使用SolidWorks Explorer, 但不能批次修改, 隨時改到手發麻
2. 兼容SW的ERP或EPDM, 但不是每個人都有
3. 插件, 但要錢, 公德版又難求
4. 懶+窮人的方法: 自行編寫程序

要講述的就是第4個方法:
利用了擁有強大編輯功能的 Excel 作為操作界面, 更可避開繁複的編程技巧, 一舉兩得.
雖然如此, 但始終屬於"土法煉鋼", 有些前設條件需要注意的:
1. 電腦必須已經在運行SW軟體, 但不可開啟任何檔案
2. 瀏覽檔案的時候, 不是單單選取要改名的檔案, 需選擇所有可能有關聯的檔案, 所以建議按Ctrl+A(全選)
3. Excel表中, 第1和第2欄不要人手鍵入, 要用瀏覽方式, 也不要隨便修改該兩欄位
4. 須小心核對輸入的新檔案名, 例如不要含有不允許的字符"?|?*<>|"等等 (全形符號例外)
5. 成功改名後, Excel 的儲存格會變色, 及對調新舊檔案名, 方便恢復原來的檔案名.
以下是操作說明
  1. 1. 瀏覽檔案有以下2個選項(如圖1)
  2.   (1.SolidWorks類型,2.全部類型),可在A1儲存格預設(如圖2)
  3. 2. 可在B2儲存格預設資料夾位置(如圖2)
  4. 3. 更新過外部參考指向的檔案(不一定是改名的檔案),路徑的儲存格會顯示為淡黃色
  5. 4. 當遇到“檔案已存在”,儲存格顯示為紅色,程序不受影響
  6. 5. 需配合Excel操作,如:替換文字、複製工作表、繁簡轉換等
  7. 6. 在按動『重新命名』前,可以按動『選擇檔案』多次,
  8.      用以選取不同路徑而又有可能有關聯的檔案,一併更新。
  9. 7. 電腦不一定在運行SW,若運行了速度較快,但建議不要開啟任何檔案,以免衝突。
複製代碼
圖1
2014-11-07_231823.jpg
圖2
2014-11-07_231536.jpg
接下是實際操作動畫GIF
更名完成,最後按Clear Select 清除設定
最後一個動作是資料夾開啟

Untitled-1108_14.gif
附檔為英文介面
原碼是公開,可自行修正為所需語言版本!
SwRename-En.xls (60 KB, 下載次數: 463)
發表於 2014/12/7 01:35:11 | 顯示全部樓層
謝謝熱心的茱妹。
給茱妹3個讚
發表於 2017/9/8 08:29:42 | 顯示全部樓層
最近有修改檔名的需求,
謝謝茱姐的分享
發表於 2018/9/1 23:12:25 | 顯示全部樓層
日後若遇到批次改名稱問題, 用這招就對了, 謝謝分享!!!
發表於 2018/11/15 11:59:08 | 顯示全部樓層
現在有可以自動加入字首字尾的功能了
但想請問如果使用Excel有辦法批次續編檔名嗎?
假設有1000個檔案讓他自動續編1-1000
 樓主| 發表於 2018/11/17 07:22:39 | 顯示全部樓層
exc6104 發表於 2018/11/15 11:59
現在有可以自動加入字首字尾的功能了
但想請問如果使用Excel有辦法批次續編檔名嗎?
假設有1000個檔案讓他自 ...

這是EXCEL原來有功能
可以!
發表於 6 天前 | 顯示全部樓層

假設原圖號 是A1.A5.A9.A15.A20   有辦法直接用這個方法把原圖號蓋掉改成B1.B2.B3.B4.B5嗎?
小弟比較愚笨  試不出來  如何續編又不讓關聯性失效   請教大神指點迷津

點評

把旧文件名复制到新文件名列,选中新文件名列,然后使用Excel的查找替换(Ctrl+H)功能,查找栏填 A 替换栏填 B, 然后全部替换即可。 这是Excel的基本操作跟当前的改名工具无关的。  詳情 回復 發表於 前天 15:38
 樓主| 發表於 6 天前 | 顯示全部樓層
exc6104 發表於 2018/12/6 11:53
假設原圖號 是A1.A5.A9.A15.A20   有辦法直接用這個方法把原圖號蓋掉改成B1.B2.B3.B4.B5嗎?
小弟比較愚笨  ...

請把操作過程秀出來
以利了解問題所在
發表於 5 天前 | 顯示全部樓層
20181207_101621.gif


我的步驟....
怎麼將原圖號蓋掉編成新圖號  然後又可以照順序編?

另外想問一下
我現在是AA是組立圖 其他是AA的零件
那如果資料裡面有AA BB CC等多個模組 都是有相關聯性的
也是可以一次選取AA BB CC的所有零件一次續編嗎?


 樓主| 發表於 4 天前 | 顯示全部樓層
exc6104 發表於 2018/12/7 10:22
我的步驟....
怎麼將原圖號蓋掉編成新圖號  然後又可以照順序編?
EXCEL 自帶數列功能
exc6104 發表於 2018/12/7 10:22
另外想問一下
我現在是AA是組立圖 其他是AA的零件
在同一個資料夾可以實現不同資料夾,要試試!身邊沒檔案~
你可以複製一份來試試看就知道

點評

代码写的是只更新选取到表格中的文件之间的关联,没选取就不更新。 如果相关模型没有选取到表格中,关联一定会丢失的。 可以多次选取不同文件夹下的文件,然后一次改名。 就是说文件放哪儿没关系,但是要想更新相关  詳情 回復 發表於 前天 15:35
自帶數列是在新名稱那邊嗎? 試過如果後面沒有打&D3會失敗...  詳情 回復 發表於 前天 09:07
發表於 前天 09:07 | 顯示全部樓層
judyyai 發表於 2018/12/8 18:23
EXCEL 自帶數列功能
在同一個資料夾可以實現不同資料夾,要試試!身邊沒檔案~
你可以複製一份來試試看就知道 ...

自帶數列是在新名稱那邊嗎?
試過如果後面沒有打&D3會失敗...
還有就是原始的圖號會被保留...這個怎麼解決
發表於 前天 15:35 | 顯示全部樓層
judyyai 發表於 2018/12/8 18:23
EXCEL 自帶數列功能
在同一個資料夾可以實現不同資料夾,要試試!身邊沒檔案~
你可以複製一份來試試看就知道 ...

代码写的是只更新选取到表格中的文件之间的关联,没选取就不更新。
如果相关模型没有选取到表格中,关联一定会丢失的。
可以多次选取不同文件夹下的文件,然后一次改名。
就是说文件放哪儿没关系,但是要想更新相关文件关联,就得同时把相关文件选取到表格中。

點評

了解!謝謝指導!  發表於 前天 23:12
發表於 前天 15:38 | 顯示全部樓層
exc6104 發表於 2018/12/6 11:53
假設原圖號 是A1.A5.A9.A15.A20   有辦法直接用這個方法把原圖號蓋掉改成B1.B2.B3.B4.B5嗎?
小弟比較愚笨  ...

把旧文件名复制到新文件名列,选中新文件名列,然后使用Excel的查找替换(Ctrl+H)功能,查找栏填 A  替换栏填  B, 然后全部替换即可。
这是Excel的基本操作跟当前的改名工具无关的。

點評

但原檔名A1.A5.A9.A15.A20全部要換掉變成B1.B2.B3.B4.B5 EXCEL原本替換功能沒辦法這麼替換 我想要的是將原本檔名完全取代不是部分取代 而原檔名是沒有規則的...  詳情 回復 發表於 前天 16:38
發表於 前天 16:38 | 顯示全部樓層
xiaocake 發表於 2018/12/10 15:38
把旧文件名复制到新文件名列,选中新文件名列,然后使用Excel的查找替换(Ctrl+H)功能,查找栏填 A  替换 ...

但原檔名A1.A5.A9.A15.A20全部要換掉變成B1.B2.B3.B4.B5
EXCEL原本替換功能沒辦法這麼替換   
我想要的是將原本檔名完全取代不是部分取代  而原檔名是沒有規則的...

點評

Dear exc6104, 請參考如下。 google:搜尋 "excel 文字取出" https://isvincent.pixnet.net/blog/post/42625408-excel-%E5%88%86%E6%AE%B5%E5%8F%96%E5%87%BA%E5%84%B2%E5%AD%98%E6%A0%BC%E4%B8%AD%E7%9A%84%E5%AD%  詳情 回復 發表於 前天 16:55
[attachimg]229952[/attachimg] 这样的操作可别说不会啊  詳情 回復 發表於 前天 16:52
發表於 前天 16:52 | 顯示全部樓層
exc6104 發表於 2018/12/10 16:38
但原檔名A1.A5.A9.A15.A20全部要換掉變成B1.B2.B3.B4.B5
EXCEL原本替換功能沒辦法這麼替換   
我想要的是 ...

123.gif
这样的操作可别说不会啊
好人做到底吧,操作如下:
456.gif

點評

這我知道....但我不是卡在這裡...  詳情 回復 發表於 前天 17:05
發表於 前天 16:55 | 顯示全部樓層
exc6104 發表於 2018/12/10 16:38
但原檔名A1.A5.A9.A15.A20全部要換掉變成B1.B2.B3.B4.B5
EXCEL原本替換功能沒辦法這麼替換   
我想要的是 ...

Dear exc6104,
請參考如下。  google:搜尋 "excel 文字取出"
https://isvincent.pixnet.net/blog/post/42625408-excel-%E5%88%86%E6%AE%B5%E5%8F%96%E5%87%BA%E5%84%B2%E5%AD%98%E6%A0%BC%E4%B8%AD%E7%9A%84%E5%AD%97%E4%B8%B2

如下是取出.之後的副檔名
=RIGHT(B2,LEN(B2)-SEARCH(".",B2,1))
如下是取出.之前的檔名
=LEFT(B2,SEARCH(".",B2,1)-1)
上述是EXCEL的函數,可以google找一找用法,或是直接於EXCEL查看函數用法。

把副檔名(E欄)取出,再把要取代的檔名(F欄)和取出的副檔名(E欄),“&"合在一起即可(D儲存格= E儲存格 & "." & F儲存格)。

Cheers, Mu 2018/12/10




點評

感謝!經由指導!學習到此函數用法~  發表於 前天 23:13
發表於 前天 16:59 | 顯示全部樓層
剛剛試了一下
可以了   但是出現另一個問題
轉出來的檔案特徵都不見了 ...變成無法編輯的
這怎麼辦?

點評

Dear exc6104, 若excel 還沒關的話。再執行一次,會把檔案再互換過來吧! Cheers, Mu 2018/12/10  詳情 回復 發表於 前天 17:04
發表於 前天 17:02 | 顯示全部樓層
1.png
求解....為什麼特徵都不見了

點評

Dear exc6104, 原始檔案有先開啓看看嗎? 你的畫面,是輸入的模型。不會有特徵的。 (要自己再進行solidworks 特徵辨識) Cheers, Mu 2018/12/10  詳情 回復 發表於 前天 17:09
發表於 前天 17:04 | 顯示全部樓層
exc6104 發表於 2018/12/10 16:59
剛剛試了一下
可以了   但是出現另一個問題
轉出來的檔案特徵都不見了 ...變成無法編輯的

Dear exc6104,
若excel 還沒關的話。再執行一次,會把檔案名稱再互換過來吧!
Cheers, Mu 2018/12/10
發表於 前天 17:05 | 顯示全部樓層
xiaocake 發表於 2018/12/10 16:52
这样的操作可别说不会啊

這我知道....但我不是卡在這裡...

點評

我上面的回复重新编辑了,添加了更具体的操作  詳情 回復 發表於 前天 17:09
發表於 前天 17:09 | 顯示全部樓層
exc6104 發表於 2018/12/10 17:05
這我知道....但我不是卡在這裡...

我上面的回复重新编辑了,添加了更具体的操作

點評

感謝 大概知道方向了... 我在摸索看看  詳情 回復 發表於 前天 17:49
發表於 前天 17:09 | 顯示全部樓層
exc6104 發表於 2018/12/10 17:02
求解....為什麼特徵都不見了

Dear exc6104,
原始檔案有先開啓看看嗎?
你的畫面,是輸入的模型。不會有特徵的。
(要自己再進行solidworks 特徵辨識)
Cheers, Mu 2018/12/10
發表於 前天 17:49 | 顯示全部樓層
xiaocake 發表於 2018/12/10 17:09
我上面的回复重新编辑了,添加了更具体的操作

感謝  大概知道方向了...
我在摸索看看
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版上論壇|論壇來自幾何科技

GMT+8, 2018/12/12 06:14 , Processed in 0.097392 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表