여러 번 Excel 파일에서 워드 문서로 데이터를 복사해야합니다. 매크로를 사용하여이 작업을 매우 쉽게 수행 할 수 있습니다. 매크로는 새 / 기존 단어 문서를 열고 내용을 복사 한 다음 단어 문서를 저장하고 닫습니다. 이것이 어떻게 이루어지는 지 봅시다.

사용할 수있는 코드는 – Option Explicit _Sub CreateNewWordDoc ()

Dim i As Integer Dim wrdApp As Object, wrdDoc As Object Set wrdApp = CreateObject ( “Word.Application”)

wrdApp.Visible = True Set wrdDoc = wrdApp.Documents.Add With wrdDoc For i = 1 ~ 100 .Content.InsertAfter“여기에 예제 테스트 줄 #”& i .Content.InsertParagraphAfter Next i If Dir (“B : \ Test \ MyNewWordDoc.docx “) <>” “그런 다음”B : \ Test \ MyNewWordDoc.docx “.SaveAs (“B : \ Test \ MyNewWordDoc.docx “)

Close End With wrdApp.Quit Set wrdDoc = Nothing Set wrdApp = Nothing End Sub_ 위의 코드를 파일에 복사하려면 키보드에서 Alt + F11을 누르십시오. 왼쪽에 Microsoft Excel 개체가 표시됩니다. 마우스 오른쪽 버튼을 클릭하고 삽입을 선택합니다. 그런 다음 모듈을 클릭합니다. * 코드를 오른쪽의 코드 창에 복사합니다. 이제이 코드가 어떻게 작동하는지 살펴 보겠습니다. 먼저 필요한 변수를 정수로 선언하여 각 ​​행을 엑셀 파일에서 doc라는 단어로 채워질 때 각 행을 증가시킵니다. 그런 다음 2 개의 개체 변수 wrdApp 및 wrdDoc, wrdApp은 Word 응용 프로그램 개체이고 wrdDoc은 Word 문서 개체입니다.

_Set wrdApp = CreateObject ( “Word.Application”) _ Word가 이미 시스템에서 실행중인 경우 _CreateObject_는 Word의 새 인스턴스를 생성하므로이 줄은 나중에 코드에서 사용할 수있는 Word 응용 프로그램에 개체 변수 wrdApp을 할당합니다. .

wrdApp.Visible = True 새로 생성 된 Word 인스턴스는 생성시 표시되지 않습니다. 표시하려면 wrdApp.Visible = True를 설정하여 표시되도록해야합니다.

Set wrdDoc = wrdApp.Documents.Add 우리는 word application의 새 인스턴스를 만들었지 만 아직 빈 단어 문서를 열지 않았습니다. 따라서이 명령은 새 단어 문서를 엽니 다. wrdDoc 개체가이 새 문서에 할당되어 나중에 코드에서 사용할 수 있습니다.

새 통합 문서를 열지 않고 기존 통합 문서를 열려면이 줄을 _Set wrdDoc = wrdApp.Documents.Open (“B : \ My Documents \ WordDocs \ Doc1.docx”) _로 바꿀 수 있습니다.이 줄이 열립니다. 지정된 위치에 저장된 기존 워드 문서.

With wrdDoc… .End With 이것은 wrdDoc 객체와 완전히 작동하는 “With”루프입니다.이 루프를 열면이 루프에서 “wrdDoc”텍스트를 다시 반복 할 필요가 없습니다. 다음으로 직접 시작할 수 있습니다. 점 ( “.”)

wrdDoc과 관련된 모든 객체 앞에이 루프는 End With 문으로 끝납니다. End With 문을 입력 한 후에는 “.”만으로 wrdDoc 이후의 개체를 참조 할 수 없습니다.

For i = 1 ~ 100 .Content.InsertAfter“여기에 예제 테스트 라인 #이 있습니다.”& i .Content.InsertParagraphAfter Next i 이것은“For”루프입니다. 1부터 100까지 증가하고 각 증분마다 “Here is a example test line #”이라는 텍스트가있는 줄을 삽입 한 다음 증분 번호를 추가합니다. 그런 다음 줄 바꿈 / 단락 나누기를 삽입하여 다음 증분이 새 단락처럼 다음 줄.

따라서이 프로세스는 100 번 반복됩니다. for 루프는 For i = 1 ~ 100 상태이기 때문입니다. 이것은 여러분이 얻을 출력입니다 –

img2

If Dir ( “B : \ Test \ MyNewWordDoc.Docx”) <> “”Then Kill “B : \ Test \ MyNewWordDoc.docx” _ .SaveAs ( “B : \ Test \ MyNewWordDoc.docx”) _ .Close “For”루프가 완료되면 코드는 MyNewWordDoc.docx 파일이 존재하는지 확인합니다. 존재하는 경우 삭제합니다. 그런 다음 동일한 이름으로 새 파일을 저장하고 파일을 닫습니다.

wrdApp.Quit Set wrdDoc = Nothing Set wrdApp = Nothing 단어 응용 프로그램이 닫히고 생성 된 2 개의 개체가 해제되거나 “Nothing”으로 설정되어 이러한 개체가 차지하는 메모리가 해제됩니다. 이것은 엑셀에서 단어로 내용을 복사하는 전체 코드입니다.

image 48