1
VBA를 사용하여 Access에서 제공 한 데이터를 사용하여 Word에서 레이블 폼을 만들려고합니다. 이 VBA 코드는 작동 :VBA를 사용하여 Word 레이블 시트 만들기, 추가 원치 않는 문서 받기
Dim appwd As Object
Dim oDoc As Object
Set appwd = CreateObject("Word.Application")
With appwd
.Documents.Add
Set oDoc = .MailingLabel.CreateNewDocumentByID(LabelID:="1359804671")
.Visible = True
.Activate
End With
oDoc.Activate
'Remaining code that creates labels
그러나, 그것은 생성하고 빈 문서 1뿐만 아니라 내가 원하는 라벨 2의 문서를 엽니 다. 불필요한 Document1을 만들지 못하게하거나 최소한 저장하지 않고 문서를 다시 닫지 않으려면 어떻게해야합니까? 나는 .Documents.Add
을 주석 경우
런타임 오류 '4605'얻을 : 문서 창이 활성화되어 있기 때문에
이 메서드 나 속성을 사용할 수 없습니다. 가장 좋은 대안은 그냥 빨리 만들 때 해당 문서를 닫습니다 그래서
.Documents.Add에 보인다 새로운 빈 문서를 만드는 중입니다. 해당 코드 제거를 시도 했습니까? – mooseman
음, .Documents.Add는 새 문서를 추가하는 경향이 있습니다. 실제로 코드를 수정할 수 있도록 전체 코드를 제공하십시오 (문서를 여는 코드가 없습니다) –
oDoc 대신 appwd에서 MailingLabel 객체를 가져온다면 어떻게 될까요? https://msdn.microsoft.com/en-us/vba/word-vba/articles/mailinglabel-object-word는 그렇게 할 수 있다고 말합니다. – Duston