2016-10-11 7 views
0

암호로 보호 된 Word 문서에 6 개의 테이블 집합이 있습니다. 각 테이블에는 머리글 행과 적어도 하나의 데이터 행이 있습니다. 두 번째 (및 후속) 행의 여섯 번째 열에는 드롭 다운 양식 필드가 있습니다. 사용자가 테이블에 행을 추가 할 수 있도록 각 테이블 위에 버튼이 있습니다. 그렇게하면 6 번째 열에 다른 드롭 다운이 포함됩니다. 사용자 후Word VBA 드롭 다운 양식 필드의 이름을 바꾸시겠습니까?

드롭 다운의 값을 선택하고, 필드의 잎, I는 선택된 값에 기초하여 그 셀을, 컬러해야한다. OnExit 값을 설정하여 "HighlightStatus"라는 매크로를 실행할 수 있습니다. 변경할 셀에 대한 참조를 얻으려면

Dim ff As Word.FormField 
ThisDocument.Unprotect strSheetPassword 
Set ff = ThisDocument.FormFields(Selection.Bookmarks(1).Name) 

이 양식 필드가있는 셀을 어떻게 참조합니까?

다른 문제는 테이블에 행을 추가 할 때 방금 업데이트 한 필드를 참조 할 수 있도록 고유 한 양식 필드 이름을 설정해야한다는 것입니다. 그러나 Name 속성은 읽기 전용 인 것처럼 보입니다.

나는 기본적으로 같은 벽에 실행하는 다른 접근을했다. 필드를 업데이트 한 후, 모든 테이블과 모든 행을 통해 코드 루프를 작성하고 각 행의 6 번째 열을 업데이트했습니다. 문제는 화면이 문서의 끝까지 아래로 스크롤된다는 것입니다. 내가 있던 곳으로 돌아가려면 필드 형식이 고유 한 이름이 아니면 올바른 양식 필드를 고유하게 참조해야합니다.

답변

0

발견. 나는 꽤 오랫동안 내 꼬리를 쫓고 있었지만 이것이 효과가 있다는 것을 발견했다.

ThisDocument.Unprotect strSheetPassword 
Selection.Shading.BackgroundPatternColor = wdColorLightGreen 
ThisDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True, Password:=strSheetPassword