MailMerge 필드가있는 문서가 있지만 전체 datasource-> mailmerge 아이디어를 사용하고 싶지 않습니다. 대신 Autonew()에 UserForm을 표시하고 사용자에게 필드에 데이터를 입력 할 것을 요청합니다.VBA를 사용하여 Word MailMerge 필드 값 변경
이 문서가 한 행의 데이터와 "병합"되어 사용자가 한 행에 대해 전체 데이터 소스를 수행하도록하는 데 시간 낭비가 있기 때문입니다.
대부분의 사람들이 올바른 방법이라고 말하는 확실한 DocVariables를 사용하는 작업 솔루션이 있지만이 클라이언트는 mailmerge 변수 (예 : < < >> 1)를 "보는 것"을 좋아하지만, 소스 문서에서. 그들은 Alt-F9를 사용하여 DocVariables를 볼 수있는 코드를 표시 할 수 있지만 MergeField를 사용하고자한다고 주장합니다.
DocVariables를 사용하여 다음을 사용합니다. 이것은 올바른 생각을 가지고 있으며 나머지 코드는 제대로 작동한다는 것을 알기 때문에 작동합니다.
ActiveDocument.Variables("varSurame").Value = .txtSurname
그러나 병합 필드에서 동일한 작업을 수행하는 방법을 연습 할 수 없습니다. 나는 아래처럼 뭔가를하고 싶다. (그러나 "value"속성은 없다.)
ActiveDocument.MailMerge.Fields("Surname").value = .txtSurname
.text 속성은 읽기 전용이므로 사용할 수 없습니다.
다음은 "책갈피가 정의되지 않음"오류를 렌더링합니다.
ActiveDocument.MailMerge.Fields("Surname").Code.Text = .txtSurname
프로그래밍 방식으로 데이터 소스를 사용하지 않고 편지 병합 필드의 값을 변경하는 방법에 대한 아이디어.
도움말에 따르면 Mailmerge 필드의 .value 속성은 읽기 전용입니다. 나는 그것이 지정된 데이터 소스에서 값을 집어 내기 위해서만 설계된 것 같아요 ... –
대신에 DocVariables에 텍스트 <> 등을 미리 채울 수 있고 DOCVARIABLE 필드를 사용할 수 있습니까? –