xiaoxifeng 发表于 2016-10-21 11:29:06

:Q:Q:Q丹大呢。出来吧

93188931 发表于 2016-10-21 13:18:14

士大夫士大夫撒打发士大夫

zthorn 发表于 2016-10-21 17:30:13

看着挺不错

benson2013 发表于 2016-10-22 18:25:36

:lol:lol:lol
進來學習

gt.adan 发表于 2016-10-26 14:55:17

xiaoxifeng 发表于 2016-10-17 17:19
丹大,我还在等你呢啊。有空帮我弄个吧

你的零件是多配置吧?
每個配置底下的"圖號"屬性內容都不同嗎?
你的要求是連結當前圖頁對應的零件配置屬性?還是要全部的圖頁一起?

181626934 发表于 2016-10-26 15:11:44

谢谢分享!

xiaoxifeng 发表于 2016-10-27 08:51:48

gt.adan 发表于 2016-10-26 14:55
你的零件是多配置吧?
每個配置底下的"圖號"屬性內容都不同嗎?
你的要求是連結當前圖頁對應的零件配置屬 ...

恩,丹大是多配置的,每个配置的“图号”内容是不同的。是要求每个图纸连接对应零件的“图号”。麻烦丹大了啊

gt.adan 发表于 2016-10-27 13:08:22

xiaoxifeng 发表于 2016-10-27 08:51
恩,丹大是多配置的,每个配置的“图号”内容是不同的。是要求每个图纸连接对应零件的“图号”。麻烦丹大 ...

試試看……

Dim PathName As String
Dim SheetName() As String
Dim ConfigName As String
Dim SplittedPathName() As String
Dim ModelName As String

Sub main()
Set swApp = Application.SldWorks
Set drawing = swApp.ActiveDoc
If drawing Is Nothing Then
    MsgBox "Drawing is empty!"
    Exit Sub
End If
If drawing.GetType <> 3 Then Exit Sub
SheetName = drawing.GetSheetNames
SheetCount = drawing.GetSheetCount
For i = 0 To SheetCount - 1
    drawing.ActivateSheet SheetName(i)
    Set swSheet = drawing.GetCurrentSheet
    swSheet.SetName "$" & i
Next
SheetName = drawing.GetSheetNames
For i = 0 To SheetCount - 1
    drawing.ActivateSheet SheetName(i)
    Set swView = drawing.GetFirstView.GetNextView
    Set swDrawModel = swView.ReferencedDocument
    PathName = swView.GetReferencedModelName
    ConfigName = swView.ReferencedConfiguration
    PartNo = swDrawModel.CustomInfo2(ConfigName, "圖號") 'PartNo可自行更改其他名稱
    SplittedPathName = Split(PathName, "\")
    ModelName = SplittedPathName(UBound(SplittedPathName))
    ModelName = Left(ModelName, Len(ModelName) - 7)
    Set swSheet = drawing.GetCurrentSheet
    If ConfigName = "Default" Or ConfigName = "默認" Or ConfigName = "預設" Then
      ThisSheetName = ModelName
    Else
      ThisSheetName = PartNo '這裡也要改相同名稱
    End If
    swSheet.SetName ThisSheetName
    CurrentSheetName = swSheet.GetName
    c = 1
    While CurrentSheetName <> ThisSheetName
      ThisSheetName = ThisSheetName & ":" & c
      swSheet.SetName ThisSheetName
      CurrentSheetName = swSheet.GetName
      c = c + 1
    Wend
Next

SheetName = drawing.GetSheetNames
End Sub

nick96 发表于 2016-10-27 13:55:38

谢谢丹大,分享

xiaoxifeng 发表于 2016-10-27 16:28:03

本帖最后由 xiaoxifeng 于 2016-10-27 16:31 编辑

丹大,图纸名称都变成比例了啊。应该是图纸号才对啊.图纸在零件的配置特性里面
页: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14
查看完整版本: 【分享】圖頁名稱鏈結零件/裝配的配置名稱