|

樓主 |
發表於 2017/7/2 18:33:14
|
顯示全部樓層
試下以下刪除屬性的代碼
- Const HeaderRow = 2 '表頭列
- Const PropLeft = 4 '屬性名稱左端欄位
- Sub DeleteProps()
- yn = MsgBox("Once Deleted, those cannot be restored. Continue?", vbYesNo)
- If yn <> 6 Then Exit Sub
- Set swApp = CreateObject("SldWorks.Application")
- RowNumber = HeaderRow + 1
- PathName = Cells(RowNumber, 1) & "" '讀取第一個路徑的值
- While Not (PathName = "") '直到讀完路徑欄
- FileName = Cells(RowNumber, 2)
- FileExtname = UCase(Right(Cells(RowNumber, 2), 6))
- If "SLDPRT" = FileExtname Then swFileTYpe = 1
- If "SLDASM" = FileExtname Then swFileTYpe = 2
- If "SLDDRW" = FileExtname Then swFileTYpe = 3
- If "SLDLFP" = FileExtname Then swFileTYpe = 1
- If Not (swFileTYpe = 3 And FileName = Cells(RowNumber - 1, 2)) Then
- Set swDoc = swApp.OpenDoc(PathName & FileName, swFileTYpe) '開啟檔案
- ColumnNumber = PropLeft
- PropName = Cells(HeaderRow, ColumnNumber) & ""
- While Not (PropName = "") '直到讀完表頭
- If Not (Left(PropName, 1) = "$" And Right(PropName, 1) = "$") Then
- swDoc.DeleteCustomInfo2 Cells(RowNumber, 3), PropName
- End If
- ColumnNumber = ColumnNumber + 1 '下一欄
- PropName = Cells(HeaderRow, ColumnNumber)
- Wend '回到>直到讀完表頭
- Cells(RowNumber, 1).Interior.Color = RGB(255, 50, 50)
- Else
- Cells(RowNumber, 1).Interior.Pattern = xlNoneColor
- End If
- RowNumber = RowNumber + 1 '下一列
- PathName = Cells(RowNumber, 1) & ""
- Wend '回到>直到讀完路徑欄
- End Sub
複製代碼
|
|