질문 – 메크로 로 삭제한 구성요소 값 복구는 않되는 건가요?
얼마전에 조립품 구성요소 때문에 질문을 올린 적이 있습니다.
답글을 따라 해서 성공 했습니다. (님 감사해요^^)
하다보니 한가지 더 궁굼 증이 나네요
Public Sub DELETE_CONSTRAINTS()
Dim oAsmCompDef As AssemblyComponentDefinition
Set oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition
Dim bDelete As Boolean
If MsgBox(“Do you want to delete all existing constraints?”, vbYesNo + vbQuestion) = vbYes Then
bDelete = True
Else
bDelete = False
End If
Dim oConstraint As AssemblyConstraint
For Each oConstraint In oAsmCompDef.Constraints
If bDelete Then
oConstraint.DELETE
Else
oConstraint.Suppressed = True
End If
Next
End Sub
을 메크로 코드로 입력 해서 실행후 보니 억제가 아니고 삭제더라구요 ^^
삭제된 구성요소를 불러 오거나 삭제가 아닌 구성요소 조건은 남아 있고 언제만 되어 있게
하지는 못하는 건가요 ^^::::::
그리고 저도 그런 코드 짜서 해보고 싶은데 메크로 공부 할수 있는 페이지나 책은 없나요?
제가 답한 질문인것 같네요 ^^
그때도 말씀드렸는데 .. 메크로 실행하면 뜨는 창에서 no 버튼 누르면 전체 구속조건이 억제됩니다.
(yes 버튼은 삭제 기능입니다.)
위의 메크로 중에서 아래 내용을 유심히 보시면
If bDelete Then
oConstraint.DELETE
Else
oConstraint.Suppressed = True
End If
‘bDelete’ 변수가 true 인 경우 oConstraint.DELETE 명령이 실행되어서 구속조건을 삭제하고
‘bDelete’ 변수가 false인 경우 oConstraint.Suppressed = True 실행되어 구속조건이 억제됩니다
그리고 한번 삭제한 구속조건은 복구가 힘들것같습니다. ^^;;
삭제란 기능자체가 어디 정보를 보관하는게 아니라 삭제해버리는 기능이라
벡업파일 복구나 기능 실행후 바로 undo 기능 실행하는것 이외에는
불가능 아닐까요 ^^
아 그러네요 ^^ 지송지송 “yse -> 삭제 no -> 억제
혹시 ” yse -> 억제 해지 no -> 억제” 이런 식으로는 편집이 되나요??
If bDelete Then
oConstraint.DELETE <- 여기에 명령 실행시 구속조건 해지 명령?? 비슷한거 넣으면…..(뭘넣지?)
Else
oConstraint.Suppressed = True
End If
간단하게 말해서 기존은 “삭제/억제” 인데 “억제해지/억제”로 편집이 될까 싶어서…..ㅠ..ㅠ
Public Sub DELETE_CONSTRAINTS()
Dim oAsmCompDef As AssemblyComponentDefinition
Set oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition
Dim bDelete As Boolean
If MsgBox(“구속조건억제(yes 버튼),구속조건억제해지(no 버튼)”, vbYesNo + vbQuestion) = vbYes Then
bDelete = True
Else
bDelete = False
End If
Dim oConstraint As AssemblyConstraint
For Each oConstraint In oAsmCompDef.Constraints
If bDelete Then
oConstraint.Suppressed = True
Else
oConstraint.Suppressed = False
End If
Next
End Sub
오~~~~ 감사합니다.!
되는구요 ^^