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
- 더블탭스 22SS 정글 01 셔츠 WTAPS JUNGLE 01 GREIGE M
- 오토비 AZ100TR 32G 전후방 FHD 2채널 트럭 화물차 전용 블랙박스 보증기간 2년 20m케이블 포함 후방 적외선 방수 AS 2년보장
- 남쪽나무 세면대 세면대 세트 (스마트거울) 벽걸이세면대 이케아세면대 세면기
- 네스파 다야몬드은박 후드티
- 샤오미 미밴드 7 스마트밴드
- 긍정
- 톰브라운 명품톰브라운 23SS 더블페이스 니트 아우터형 포켓 셔츠 MJT291A 07545 415
- [제이앤제나] 허리에 무리없는 신생아부터 역류방지쿠션_앨리펀블루 역류방지쿠션
- 잡잡 NBR 요가매트 스탠다드 운동매트 10mm 퍼플
- 22FW 이바나 빈티지 체크 셔츠 더스트핑크 8054631
- ChatGPT
- 리빙앤트리 펠리컨 박스 대
- 러버메이드 벤티드 브루트(75L) 원형 컨테이너 리빙박스
- 대림디움 대림바스플랜 PL-3070 탑카운터형 세면대/욕실/화장실/세면도기
- 올리비아 스텐 세면대 세트
- 굿아이템 양면오픈형 투명 접이식 리빙박스 폴딩박스 옷정리함 수납박스 펜트리수납함
- 내셔널지오그래픽 피너스 빅로고 라운드넥 긴팔 티셔츠 카본 블랙
- 코멧 접이식 투명 리빙박스 56L 대형 2개입
- 위드리빙 대용량 옷 수납 방수 바구니
- 23SS 스트라이프 오버핏 셔츠 723033 V2L30 9066
- list #pop #remove #del #append #insert #list형 #파이썬 파이썬 기본 문법 #파이썬 list
- 반스 올드스쿨 VN000D3HY28
- 8052 블랙라인 정사각 세면기
- 1개
- 두칸 프릴 오버핏 후드티
- 삼성 갤럭시워치5
- 22FW 로고 패치 포켓 체크 셔츠 2F000 03 M2359 F41
- 봄봄 골드라인 4023G 탑볼세면대 화이트골드 카운타 도기볼 카페세면대
- 미네 리빙다이닝 6인 원목 코너형 식탁세트(소파형)
- ipTIME 유무선공유기
Archives
- Today
- Total
냥집사의 개발일지
VBA - VBA로 표 생성하기 (from Excel to Word) 본문
반응형
안녕하세요~ 오늘은 VBA로 Word에서 표를 생성해볼 겁니다.
사실 Excel에서는 Excel 자체가 거대한 표이기 때문에 각 셀에 접근해서 데이터를 입력하면
그 자체가 표라고 할 수 있는데요. 그 방법도 어렵지 않아
Excel에서 표를 만드는 방법은 구글링 하면 쉽게 찾을 수도 있습니다.
다만, Word에서는 범위(Range)를 설정하는 방법 및 표를 직접 생성(추가)해줘야 하는 만큼
Excel에서 표를 생성하는 법 보단 까다로운 부분이 있습니다.
(혹시 저만 어려운 건가요? ㅎ)
1가지 예제를 통해 Excel에서 Word 파일에 표를 추가해보겠습니다.
예제 1. 표 1개 생성하기 하고 표 안에 데이터 삽입하기
Alt+F11 눌러서 VBA 편집기 실행 후 아래 코드를 적어줍니다.
2022.08.28 - [VBA] - VBA - VBA를 이용하여 Excel에서 Word로 데이터 복사하기
저번 포스팅을 보면 아래 코드를 이해하기 쉬워요~~
Sub add_table()
'Declare part
Dim wd_app As Word.Application
Dim wd_doc As Word.Document
Dim wd_range
Dim wd_table
'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 wd_doc = wd_app.Documents.Add()
Set wd_range = wd_doc.Range(Start:=0, End:=0)
wd_doc.Tables.Add Range:=wd_range, NumRows:=3, NumColumns:=4
Set wd_table = wd_doc.Tables(1)
'Enable the borders of table using table object.
wd_table.Borders.Enable = True
'Fill the data in table
wd_table.Cell(1, 1).Range.Text = "Hello"
'saving the document
wd_doc.SaveAs2 "add_table"
End Sub
저번 포스팅의 코드와 대동소이하기에 핵심 코드만 살펴보겠습니다.
Set wd_range = wd_doc.Range(Start:=0, End:=0)
먼저 Word의 Range를 설정해주어야합니다.
저는 Word 파일의 가장 첫 부분에 표를 삽입하기 위해
Range를 (Range(start:=0,End:=0))로 설정하였습니다.
(Range(0,0) or Range 도 가능!!)
(https://docs.microsoft.com/en-us/office/vba/api/word.range)
위의 링크에서 Range에 기본 사용법을 참고하세요~
wd_doc.Tables.Add Range:=wd_range, NumRows:=3, NumColumns:=4
Add 함수를 통해 표를 삽입하였습니다.
저는 3행 4열의 표를 만들었습니다.
Add 함수의 사용법 : Add 범위, 행의 개수, 열의 개수
Set wd_table = wd_doc.Tables(1)
생성한 표를 계속해서 접근할 수 있도록 wd_table변수에 저장해줍니다.
Word에 표는 Tables(index) 로 접근 가능합니다.
wd_table.Borders.Enable = True
Borders.Enable에 True를 대입하면 표에 테두리가 생성됩니다.
False면 테두리가 없는 상태의 표가 생성됩니다!!
wd_table.Cell(1, 1).Range.Text = "Hello"
Cell property를 이용해 표의 세부 위치를 특정한 후 Text property에 대입할 문자를 입력합니다.
저는 Hello를 입력해보겠습니다!!
3행 4열의 표가 생성되고 표의 1행 1열에 Hello 문자가 삽입된 것까지 확인할 수 있었습니다!!
다음 포스팅은 표 2개 이상을 삽입하는 방법을 공유해드리려고 합니다.
표 1개도 생성했는데 2개도 쉽겠지라고 생각했다가 많이 헤맸습니다 ㅠ
(혹시 이것도 나만? 어려운 건가 ㅜ)
긴 포스팅 읽어주셔서 감사합니다.
좋은 하루 보내세요~~
'VBA' 카테고리의 다른 글
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를 이용하여 Excel에서 Word로 데이터 복사하기 (0) | 2022.08.28 |
VBA - VBA 코딩 시 소소한 tips (0) | 2022.08.26 |
Comments