Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 미네 리빙다이닝 6인 원목 코너형 식탁세트(소파형)
- 반스 올드스쿨 VN000D3HY28
- 톰브라운 명품톰브라운 23SS 더블페이스 니트 아우터형 포켓 셔츠 MJT291A 07545 415
- ipTIME 유무선공유기
- 1개
- 삼성 갤럭시워치5
- list #pop #remove #del #append #insert #list형 #파이썬 파이썬 기본 문법 #파이썬 list
- 코멧 접이식 투명 리빙박스 56L 대형 2개입
- 22FW 이바나 빈티지 체크 셔츠 더스트핑크 8054631
- 올리비아 스텐 세면대 세트
- 22FW 로고 패치 포켓 체크 셔츠 2F000 03 M2359 F41
- [제이앤제나] 허리에 무리없는 신생아부터 역류방지쿠션_앨리펀블루 역류방지쿠션
- 잡잡 NBR 요가매트 스탠다드 운동매트 10mm 퍼플
- ChatGPT
- 굿아이템 양면오픈형 투명 접이식 리빙박스 폴딩박스 옷정리함 수납박스 펜트리수납함
- 두칸 프릴 오버핏 후드티
- 네스파 다야몬드은박 후드티
- 8052 블랙라인 정사각 세면기
- 대림디움 대림바스플랜 PL-3070 탑카운터형 세면대/욕실/화장실/세면도기
- 리빙앤트리 펠리컨 박스 대
- 남쪽나무 세면대 세면대 세트 (스마트거울) 벽걸이세면대 이케아세면대 세면기
- 봄봄 골드라인 4023G 탑볼세면대 화이트골드 카운타 도기볼 카페세면대
- 위드리빙 대용량 옷 수납 방수 바구니
- 23SS 스트라이프 오버핏 셔츠 723033 V2L30 9066
- 샤오미 미밴드 7 스마트밴드
- 내셔널지오그래픽 피너스 빅로고 라운드넥 긴팔 티셔츠 카본 블랙
- 긍정
- 러버메이드 벤티드 브루트(75L) 원형 컨테이너 리빙박스
- 더블탭스 22SS 정글 01 셔츠 WTAPS JUNGLE 01 GREIGE M
- 오토비 AZ100TR 32G 전후방 FHD 2채널 트럭 화물차 전용 블랙박스 보증기간 2년 20m케이블 포함 후방 적외선 방수 AS 2년보장
Archives
- Today
- Total
냥집사의 개발일지
VBA - VBA로 페이지 생성 (Excel to Word) 본문
반응형
안녕하세요 오늘은 Excel에서 Word로 VBA를 이용해 페이지를 생성하는 법을 알아보겠습니다.
사실 단순히 page를 생성하는 함수(Ctrl + Enter)가 있을 줄 알았는데 제가 못 찾는 건지 없는 건지 모르겠네요ㅠㅠ
대신에 Range의 property 中 page를 삽입하는 InsertBreak를 사용하여
페이지를 생성하는 것과 같은 코드를 작성해 보았습니다.
2022.08.28 - [VBA] - VBA - VBA를 이용하여 Excel에서 Word로 데이터 복사하기
아래 코드를 이해하기 쉽게 위의 포스팅을 참조해주세요!!
Sub ExcelToWord()
Dim wd_app As Word.Application
Dim wd_doc As Word.Document
'Creating a new instance of word only if there no other instances
Set wd_app = New Word.Application
'Make word window visible on monitor
wd_app.Visible = True
'Creating a new document
Set mydoc = wd_app.Documents.Add()
'copying the content from excel sheet
ThisWorkbook.Worksheets("sheet1").Range("A1:C3").Copy
'Pasting on the document
mydoc.Range.PasteExcelTable LinkedToExcel:=False, WordFormatting:=False, RTF:=False
'Set range and create new page
Set myrange = mydoc.Range(0, 0)
myrange.InsertBreak
'saving the document
mydoc.SaveAs2 "MyDoc"
End Sub
추가된 것은 아래 코드 입니다.
'Set range and create new page
Set myrange = mydoc.Range(0, 0)
myrange.InsertBreak
Range를 설정해 페이지 삽입을 시작할 부분을 정해주고
InsertBreak를 이용해 페이지를 삽입해주었습니다.
위 그림처럼 생성된 Word 파일은 2Page가 생성되었습니다.
페이지 삽입에 대해 자세한 설명은 아래 코드를 보면 더 자세히 알 수 있습니다.
역시 Range를 설정해주고
Collapse Direction property를 통해 선택한 Range에서 커서의 위치를 특정할 수 있습니다.
InsertBreak는 위의 예제 처럼 페이지 삽입도 가능하지만 섹션 및 열(Column) 등의 삽입도 가능합니다.
Set myRange = ActiveDocument.Paragraphs(2).Range
With myRange
.Collapse Direction:=wdCollapseEnd
.InsertBreak Type:=wdPageBreak
End With
오늘은 Excel에서 Word로 VBA를 이용해 페이지를 생성하는 법을 알아보았는데요.
Word VBA는 정말 정보가 없어서 쉽지 않네요. 혹시 더 좋은 방법이 있으면 알려주시면 감사하겠습니다
좋은 하루 보내세요!!
'VBA' 카테고리의 다른 글
VBA - VBA로 셀 병합 및 색깔 입히기 (Excel) (0) | 2022.09.02 |
---|---|
VBA - VBA로 셀 테두리 꾸미기 (Word) (2) | 2022.09.01 |
VBA - VBA로 셀 테두리 꾸미기 (Excel) (0) | 2022.08.31 |
VBA - VBA로 표 2개 이상 생성하기 (from Excel to Word) (0) | 2022.08.30 |
VBA - VBA로 표 생성하기 (from Excel to Word) (4) | 2022.08.29 |
Comments