문제

VBA 코드에서 CustomDocumentProperty에 액세스하려고합니다.사용자 정의 속성이 존재하는 custom.xml 파일을 확인합니다.누락 된 것은 무엇입니까?다음은 Docm 파일입니다!

샘플 문서 첨부

업데이트

아래 코드를 사용하여 추가하려고했지만 아무 것도 추가하지 않습니다.파일을 처리 한대로 표시해야합니다.내가 성취 할 수있는 다른 방법이 있습니까?

With ActiveDocument.CustomDocumentProperties
    .Add Name:="CustomNumber", _
        LinkToContent:=False, _
        Type:=msoPropertyTypeNumber, _
        Value:=1000
    .Add Name:="CustomString", _
        LinkToContent:=False, _
        Type:=msoPropertyTypeString, _
        Value:="This is a custom property."
    .Add Name:="CustomDate", _
        LinkToContent:=False, _
        Type:=msoPropertyTypeDate, _
        Value:=Date
End With
.

사용자 정의 필드 문서를 추가하는 링크

도움이 되었습니까?

해결책

xml (custom.xml)에서 사용자 정의 문서 속성에는 fmtid="{3DC82474-74E0-4A77-944F-F36D8A5B0E58}"(또는 그런 것)

{D5CDD505-2E9C-101B-9397-08002B2CF9AE}이어야합니다. 또는 Word는 사용자 정의 문서 속성으로 인식하지 못합니다.

업데이트 된 질문에 대해서는 VBA 코드에 아무런 문제가 없지만 Word에서 오류가 발생합니다. 암탉 사용자 정의 문서 속성을 삽입하고 문서를 "더티"로 표시하지 않으므로 문서를 다른 방식으로 변경하지 않은 경우 수동으로 들어 가지 않는 한, 속성에 대한 변경 사항을 저장하지 않습니다. 사용자 정의 문서 속성 대화 상자입니다. 그러나 document_close 이벤트가 실행 중일 때는 할 수 없습니다.

당신이 당신이

을 제안하는 것을 제안하는 것을 처리합니다.
ActiveDocument.Saved = False
.

document_close 이벤트 핸들러의 끝에서. BTW, 현재 속성이 이미있는 경우 코드가 오류가 발생합니다.

ISO 표준 또는 Microsoft의 구현 정보 문서 ([MS-OI29500] .pdf)에서도 언급되지 않습니다. 일부 정보가 있습니다. 후자는 도움이되지만 실제로 조금 혼란스럽지는 않습니다.

이러한 표준 ID 중 일부는 여기 그러나"{3d "로 시작하는 것에 대해 아무 것도 찾을 수 없습니다. 나는 누군가가 직접 Office Open XML을 사용하여 문서를 만들었고 방금 "모든 이전 GUID"를 삽입했습니다.

개인적으로 XML로 들어가서 GUID를 수정합니다. (업데이트 - 나는 그것을 시도했지만 매번 실패했습니다. 새로운 Doc로 시작하는 것이 가장 좋습니다. 표준 사용자 지정 문서 속성 대화 상자를 통해 속성을 삽입하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top