![]() |
![]() |
#41 |
西獨
註冊日期: 2007-08-17
文章: 1137
聲望力: 19 聲望: 199
![]() ![]() |
![]() |
![]() |
![]() |
![]() |
#42 |
工程師
註冊日期: 2010-11-25
文章: 643
聲望力: 0 聲望: 10
![]() |
![]() |
![]() |
![]() |
![]() |
#43 |
西獨
註冊日期: 2007-08-17
文章: 1137
聲望力: 19 聲望: 199
![]() ![]() |
![]() 看到28大冒汗的樣子心有不忍, 嘗試解說一下, 如有遺漏, 請各位補充.
程式碼:
Sub Main()'程序開端 Set swApp = Application.SldWorks'建立SW對象 Set Drawing = swApp.ActiveDoc'建立文件對象 If Drawing.GetType <> 3 Then Exit Sub'不是工程圖>離開 RetoreSheetName = Drawing.GetCurrentSheet.GetName'記錄現正處於的圖頁 SheetName = Drawing.GetSheetNames'獲取文件內所有圖頁名稱 SheetCount = Drawing.GetSheetCount'獲取文件有多少圖頁 For i = 0 To SheetCount - 1'循環,變量i為整數,0代表第一頁,1代表第二頁,如此類推,最後一頁的i是總頁數減一. Drawing.ActivateSheet SheetName(i)'逐頁激活 swTemplate = Drawing.GetCurrentSheet.GetTemplateName'獲取激活頁的模板檔案名稱(連完整路徑) swTemplatePath = Split(swTemplate, "\")'分拆文字成為矩陣 swTemplate = swTemplatePath(UBound(swTemplatePath))'獲取不含路徑的模板檔案名稱 vSheetProps = Drawing.GetCurrentSheet.GetProperties()'獲取圖頁的屬性矩陣 Drawing.SetupSheet4 Drawing.GetCurrentSheet.GetName, 0, 0, vSheetProps(2), vSheetProps(3), vSheetProps(4), "", 1, 1, ""'先清空模板檔案名稱 Drawing.SetupSheet4 Drawing.GetCurrentSheet.GetName, 12, 12, vSheetProps(2), vSheetProps(3), vSheetProps(4), swTemplate, 0, 0, ""'再設定模板檔案名稱, 以確保不殘留本來的路徑 vSheetProps = Drawing.GetCurrentSheet.GetProperties()'此句是多餘的 Next'返回循環(有100頁就循環100次) Drawing.ActivateSheet RetoreSheetName'返回以記錄的圖頁 End Sub'完結程序 |
![]() |
![]() |
![]() |
#44 |
西獨
註冊日期: 2007-08-17
文章: 1137
聲望力: 19 聲望: 199
![]() ![]() |
![]() 按照38樓28大的意願, 可修改成如下:
程式碼:
Sub Main() Const swTemplate As String = "D:\Sheet Format\a4 - landscape.slddrt" Set swApp = Application.SldWorks Set Drawing = swApp.ActiveDoc If Drawing.GetType <> 3 Then Exit Sub RetoreSheetName = Drawing.GetCurrentSheet.GetName SheetName = Drawing.GetSheetNames SheetCount = Drawing.GetSheetCount For i = 0 To SheetCount - 1 Drawing.ActivateSheet SheetName(i) vSheetProps = Drawing.GetCurrentSheet.GetProperties() Drawing.SetupSheet4 Drawing.GetCurrentSheet.GetName, 12, 12, vSheetProps(2), vSheetProps(3), vSheetProps(4), swTemplate, 0, 0, "" Next Drawing.ActivateSheet RetoreSheetName End Sub |
![]() |
![]() |
![]() |
#45 |
工程師
註冊日期: 2010-11-25
文章: 643
聲望力: 0 聲望: 10
![]() |
![]() 先謝謝悶大分享的代碼教學。
![]() 俺28先收下啦。 |
![]() |
![]() |
![]() |
#46 |
助理工程師
註冊日期: 2018-01-12
文章: 39
聲望力: 0 聲望: 11
![]() |
![]() 來學習,謝謝闷大分享………………
|
![]() |
![]() |
![]() |
#47 |
工程師
註冊日期: 2012-09-01
文章: 67
聲望力: 0 聲望: 11
![]() |
![]() 批量轉換圖頁格式此功能已於SOLIDWORKS 2017版上架
點選圖頁>屬性>選擇圖頁格式>選擇要修改的圖頁>勾選要批量轉換的圖頁。 |
![]() |
![]() |
![]() |
#48 |
助理工程師
註冊日期: 2016-05-22
文章: 4
聲望力: 0 聲望: 11
![]() |
![]() 謝謝提供檔案,學習了
|
![]() |
![]() |