이 오류는 "텍스트 양식 필드"("개발자> 컨트롤> 레거시 양식"(MS Office 2013))가있는 모든 문서에 Name
속성을 명시 적으로 작성하여 얻은 것입니다. Selection.Paste
운영 -VBA Word - 중복 텍스트 양식 필드 이름 변경
Sub EditCopiedFormField()
Selection.MoveDown Unit:=wdLine, Count:=4, Extend:=wdExtend
Selection.Copy
Selection.MoveDown Unit:=wdLine, Count:=1
Selection.Paste
ActiveDocument.FormFields(3).Name = "ID999"
End Sub
는 Selection.Copy
후 ActiveDocument.FormFields(i).Name
필드 쓸 수 있습니까?
일부 "텍스트 양식 필드"를 복사하여 붙여 넣은 후 Name
(UI 대화 상자의 북마크 필드) 속성을 읽는 데 문제가 없습니다. 그러나 양식 필드가 바뀌기 때문에이를 쓸 수 없습니다. 표준 오류를 수신) 복사 한 후 중복 :
Method 'Name' of object 'FormField' failed
예를 들어, 내가 같은 Name
두 개의 "텍스트 양식 필드"를 가지고 : "ID001"
그들을 포함 범위를 복사 한 후. 양식을 두 번 클릭하여 복제물을 편집하면 사본의 Name
("Bookmark")이 즉각적으로 지워집니다 : ""
. 더 "즐겨 찾기"는 UI의 메뉴 "링크> 책갈피"를 통해 중복되지 않는 것을주의의 Name
변경하기 전에 "즐겨 찾기"를 추가하려고
:
`ActiveDocument.Bookmarks.Add("ID999")`
상황을 변경하지 마십시오.
중복 된 이름을 변경하려면 어떻게해야합니까?
을위한 전 = I0 그런 Fld.Name = "ID999"최종 If'를하는 경우 중복 양식, 나는 여전히 같은 오류가 발생했습니다. – hyprfrcb
그것은 의도가 아니 었습니다. 이 코드는 색인 번호가있는 필드의 목록을 인쇄합니다. 이름을 변경하려면'ActiveDocument.FormFields (x) .Name = "ID999"'를 실행해야합니다. 여기서 x는 변경하려는 필드의 이름을 식별하는 인쇄 된 목록의 색인 번호입니다. – Variatus
예, 그랬습니다. 나는 그 목록에서 나쁜 것을 찾아 내지 못했습니다. 'Name'필드를 직접 호출하면 필드가 복제 될 때 오류가 발생합니다. 내가 몇 시간 전에 쓴 편집을 확인해. – hyprfrcb