매크로를 사용하지 않고 MS Word에서 문서 변수를 찾는 방법 변수는 외부 시스템 (잘 문서화되지

일부 문서 변수가있는 문서가 있고 해당 변수를 문서에서 사용하려고합니다. 그러나 변수는 외부 시스템 (잘 문서화되지 않음)으로 설정되어 있기 때문에 추측 게임을하고 있습니다. “마지막 개정 날짜”가있는 변수가 있다고 가정 한 다음 해당 변수가 무엇인지 추측하기 시작합니다.

MS Word 문서의 모든 문서 변수와 해당 값을 문서에서 사용할 때 찾을 수 있도록 해당 값을 나열하는 방법이 있습니까? (저는 MS Office 2010에서 일하고 있습니다)



답변

Word에는 여러 가지 유형의 “변수”가 있으며 “문서 변수”라고하는 것이 있지만 “속성”이라고하는 다른 것들이 있습니다. 아래에 주요 유형을 나열하려고합니다.

Word에는 몇 가지 유형의 속성을 찾을 수 있지만, 실제 “변수”및 다른 유형의 속성의 경우 매크로 나 다른 코드를 사용할 수없는 경우 .docx 파일의 압축을 풀어야합니다. 거기에있는 다양한 파일들을보십시오.

Word 2010 내에서 볼 수있는 장소 (문서 변수는 여기에 표시되지 않음) …

ㅏ. “백 스테이지”에서 파일 탭, 정보 옵션을 확인하면 오른쪽에 몇 가지 속성이 표시됩니다. 목록 하단의 “모든 속성 표시”를 클릭하면 더 많이 볼 수 있습니다.

비. 삽입 탭의 텍스트 그룹, 빠른 부품-> 속성에 “사용중인 속성 인 경우 속성에 내장 된 속성 + Sharepoint에 의해 삽입 된 일부 또는 모든 속성 목록이 표시됩니다.

씨. “문서 정보 패널”(DIP)에서. 표시되지 않으면 파일 메뉴로 이동 한 다음 옵션, 즉 빠른 실행 도구 모음으로 이동하십시오. “모든 명령”에서 “명령 선택”을 선택한 다음 “속성”을 찾아서 선택하고 추가 버튼을 클릭하십시오. 그러면 빠른 액세스 도구 모음에 원형 파란색 배경에 작은 흰색 “i”가있는 아이콘이 나타납니다. 이를 클릭하면 SharePoint를 사용하는 경우 일부 기본 제공 속성 (작성자, 제목 등) 또는 일부 Sharepoint “콘텐츠 유형”속성이 표시됩니다. 거기에서 여러보기 중 하나를 전환 할 수 있습니다. 그런 다음 DIP 왼쪽 상단의 드롭 다운을 클릭하고 “고급 속성”을 선택하면 다중 탭 대화 상자가 표시됩니다.

  • 일부 “내장”속성

  • 구식 “사용자 정의”사용자 정의 문서 속성.

다른 모든 것들은 아마도 .docx의 XML을 봐야 할 것입니다. 그렇게하려면 문서를 복사하십시오. 사본이 mydoc.docx라고합시다. 이름을 mydoc.docx.zip으로 바꾸고 zip을 연 다음 아래 제안 된대로 여러 가지를 찾으십시오.

ㅏ. true 문서 변수는 단어 폴더, settings.xml의 w : docVars 요소에 저장됩니다. 각 변수의 이름과 값이 표시되어야합니다. {DOCVARIABLE variablename} 필드를 사용하여 문서에 문서 변수 값을 삽입 할 수 있습니다.

비. 작성자, 제목 등을 포함한 내장 문서 속성. 대부분의 경우 {AUTHOR}와 같은 spcialized 필드 또는 일부 경우 {DOCPROPERTY} 필드를 사용하여 문서에 값을 삽입 할 수 있습니다. 약간 지저분하지만 표준 이름 목록이 있습니다. core.xml 및 app.xml 파일의 docProps 폴더에서 대부분의 값을 찾을 수 있습니다. 그러나 일부 ( “표지 속성”)는 사용되는 경우 “item.xml”파일 중 하나 (예 : customXml 폴더의 “item1.xml”)에 저장됩니다.

씨. {DOCPROPERTY} 필드 (예 : {DOCPROPERTY mycustomproperty})를 사용하여 문서에 값을 삽입 할 수있는 이름 / 값 쌍으로 주로 구성된 구식 “사용자 정의”사용자 정의 문서 속성. 이들은 고급 속성 …. 대화 상자에 표시되지만 .docx에서는 docProps 폴더의 custom.xml 파일에 있습니다.

디. “Sharepoint 속성”또는 “콘텐츠 유형 속성”이라고도하는 새로운 스타일의 사용자 지정 속성은 종종 Sharepoint 목록의 열에서 만들어지고 채워지기 때문입니다. 값은 “사용자 정의 XML 파트”에 저장되며 XML의 관련 비트를 가리 키도록 설정된 컨텐츠 컨트롤을 사용하여 삽입 할 수 있습니다. (Word 2007 이상에서만) .docx에는 “item1.xml”, “item2.xml”등의 파일에서 이러한 변수에 대한 여러 “스키마”및 customXML 폴더의 변수 값이 있습니다.

이자형. 마지막으로 모든 개발자는 자신의 사용자 지정 XML 부분을 Word 문서에 넣고 콘텐츠 컨트롤을 해당 사용자 지정 XML 부분의 요소 및 특성에 연결할 수 있습니다. 그 방법에 대한 자세한 내용은 다루지 않겠지 만 customXML 아래의 item1.xml, item2.xml 등 파일에서 데이터를 찾을 수 있습니다. 그러나 내용 컨트롤 자체, 이름 및 연결 내용을 찾으려면 일반적으로 document.xml과 같은 단어 폴더와 하나 이상의 “header”및 “footer”폴더를 찾아야합니다. xml 파일.


답변

비슷한 문제가 발생했습니다. 일부 타사 도구 상자가 충돌하여 변수 값을 설정해야했습니다.

약간 조잡하지만 여기에 ActiveDocument.Variables컬렉션의 모든 변수를 나열하는 VBA 코드가 있습니다.

Public Sub ListAllVariables()
    Dim V As Variable, S As String
    For Each V In ActiveDocument.Variables
        S = S & V.Name & vbTab & V.Value & vbNewLine
    Next V
    MsgBox S
End Sub

새로운 매크로를 생성하여 덤프하면 정보를 얻을 수 있습니다. 관심있는 변수의 이름을 찾으면 다음과 같이 설정할 수 있습니다

ActiveDocument.Variables("MyVariable") = "Value"


답변