티스토리 뷰
VB 6.0으로 엑셀 핸들링하기 - 행 복사 붙여넣기, 셀 테두리선 설정 편
nwairr 2011. 4. 12. 18:59하는 거 같다....
반갑기까지 한데 ㅎㅎㅎ
오늘은 VB 6.0으로 엑셀 핸들링하기에 대해서
좀 기록을 남겨볼까 한다.
이게 그리 어려운건 아닌데, 안하면 자꾸 까먹는다..
-_-;;
자주자주 봐 줘야 하는데, 그게 잘 안되네..쩝..
.
.
.
우선
기본적인 준비물. 폼을 한개 열어주고,
엑셀개체를 참조한다.
그리고 다음의 문장을 사용해서 엑셀개체를 호출한다.
아는 사람은(& 눈치빠른 사람은 ㅋㅋㅋ) 다 알겠지만, 간단히 위 코드를 설명하자면 다음과 같다.
여기까지 했으면 50%는 끝났다.
그 다음으로 오늘 하려고 하는 행 복사와 셀 테두리에 대해서 정리하겠다.
1. 행복사
위 그림에서 보이듯 1~3의 모든 행을 복사해서 4~6행으로 몽땅 붙여넣기를 할 작정이다.
이렇게 하려면 다음과 같은 코드를 사용하면 된다. 주석을 바로 달겠다.
''// EntireRow.Copy.. 말 그대로 전체행을 복사하겠단 뜻. 그래서 Range의 시작점은 중요하지만, 끝점은 중요하지 않다.)
ExcelDB.Range(ExcelDB.Cells(1, 1), ExcelDB.Cells(1, 10)).EntireRow.Copy
''// 여기서는 PasteSpecial (xlPasteAll)이 키포인트. xlPasteAll에서 알 수 있듯이 그냥 닥치고 Ctrl+v란 뜻...
ExcelDB.Range(4, 1), ExcelDB.Cells(4, 10)).EntireRow.PasteSpecial (xlPasteAll)
※참고로 PasteSpecial의 인자값으로 들어가는 속성 즉, XLPasteType은 다음과 같다.
Const xlPasteAll = -4104 (&HFFFFEFF8)
Const xlPasteAllExceptBorders = 7
Const xlPasteAllUsingSourceTheme = 13
Const xlPasteColumnWidths = 8
Const xlPasteComments = -4144 (&HFFFFEFD0)
Const xlPasteFormats = -4122 (&HFFFFEFE6)
Const xlPasteFormulas = -4123 (&HFFFFEFE5)
Const xlPasteFormulasAndNumberFormats = 11
Const xlPasteValidation = 6
Const xlPasteValues = -4163 (&HFFFFEFBD)
Const xlPasteValuesAndNumberFormats = 12
이 상수들이 무엇을 뜻하는지는 역시 눈치빠른 사람은 알아 챌 것이다.
한번쯤 생각해 보고 아래를 펼쳐보도록.
2. 셀 테두리선 설정
셀 테두리도 복사해서 붙여넣기와 별반 다를게 없다.
하지만, 테두리는 사각형 기준 왼쪽, 오른쪽, 위쪽, 아래쪽 네군데를 생각해야 하고
또, 테두리 속성(선 굵기와 선 종류)까지 생각해야 하기 때문에,
자신이 구상한 그림이 나오려면 조금은 더 신경을 써야 한다.
테두리 속성을 위한 코드는 다음과 같다.
ExcelDB.Range(ExcelDB.Cells(1, 1), ExcelDB.Cells(5, 5)).Borders(xlEdgeTop).LineStyle = xlDot
ExcelDB.Range(ExcelDB.Cells(1, 1), ExcelDB.Cells(5, 5)).Borders(xlEdgeTop).Weight = xlHairline
ExcelDB.Range(ExcelDB.Cells(1, 1), ExcelDB.Cells(5, 5)).Borders(xlEdgeBottom).LineStyle = xlContinuous
ExcelDB.Range(ExcelDB.Cells(1, 1), ExcelDB.Cells(5, 5)).Borders(xlEdgeBottom).Weight = xlThin
ExcelDB.Range(ExcelDB.Cells(1, 1), ExcelDB.Cells(5, 5)).Borders(xlEdgeLeft).LineStyle = xlContinuous
ExcelDB.Range(ExcelDB.Cells(1, 1), ExcelDB.Cells(5, 5)).Borders(xlEdgeLeft).Weight = xlThin
ExcelDB.Range(ExcelDB.Cells(1, 1), ExcelDB.Cells(5, 5)).Borders(xlEdgeRight).LineStyle = xlContinuous
ExcelDB.Range(ExcelDB.Cells(1, 1), ExcelDB.Cells(5, 5)).Borders(xlEdgeRight).Weight = xlThin
여기에서 포인트는 Borders의 인자값으로 들어가는 xlEdgeTop, Bottom, Left, Right
네가지 속성과 선의 종류 LineStyle, 선 굵기 Weight 정도 이니 이해하기를 바란다.
그냥 봐도 중학교수준의 영어단어를 알고 있다면(요즘은 초등학교 무시하면 안되지만...)
그리어렵지는 않을 것이다.
그럼 LineSytle속성 상수값과 Weight속성의 상수값을 정리 해 보겠다.
(솔직히 top,bottom,left,right는 안해도 되잖아...)
==========================================================
LineStyle
Const xlContinuous = 1
Const xlDash = -4115 (&HFFFFEFED)
Const xlDashDot = 4
Const xlDashDotDot = 5
Const xlDot = -4118 (&HFFFFEFEA)
Const xlDouble = -4119 (&HFFFFEFE9)
Const xlLineStyleNone = -4142 (&HFFFFEFD2)
Const xlSlantDashDot = 13
==========================================================
Weight
Const xlHairline = 1
Const xlMedium = -4138 (&HFFFFEFD6)
Const xlThick = 4
Const xlThin = 2
역시 위 상수값들이 무얼 뜻하는지는 따로 설명하지 않겠다.
급하면 다 되게되어있다. ㅎㅎㅎ
위에서도 말했지만 해봐야 는다...
우왕....
간만에 좀 의미있는 포스팅을 해서 나름대로 뿌듯하다.
일하면서 정리하는 거라 내용이 좀 두서가 없지만 그래도 좋다...ㅋ
'VB 6.0 & java(JSP, Servlet) etc' 카테고리의 다른 글
vb 구성요소 추가시 에러-File Not Found ieframe.dll\1 (0) | 2012.04.12 |
---|---|
윈도우(DOS)와 유닉스(리눅스)간 이기종 통신문제 - 마음의 눈으로 봐야 보인다.. -_-;;; (0) | 2011.04.25 |
FM20.DLL파일 재배포 관련 에러 - 시스템 오류가 발생하였습니다. 지정된 모듈을 찾을 수 없습니다. - 의 해결법 (0) | 2010.11.05 |
[VB 6.0] Color 속성의 헥사값을 RGB값으로 변환하기 (0) | 2009.12.03 |
[VB 6.0]VB 사용자를 위한 또 하나의 깨알같은 팁 - 파일 핸들링 (0) | 2009.10.22 |
- Total
- Today
- Yesterday
- 플래쉬 게임
- 플래쉬게임
- C
- 플래시 게임
- 추억의 게임
- MS-SQL
- 8비트
- 엑셀
- xml강좌
- XML
- 틀린그림찾기
- 고전게임
- 플래쉬
- 브롤스타즈
- 플래시
- J.S Bach
- SQL
- c#
- brawlstars
- Excel
- 중독성짱게임
- 레트로게임
- 8비트상성
- XML Programming with VB 6.0
- 플래시게임
- 좀비게임
- 고전명작
- 오락실게임
- 오락실 게임
- 다른그림찾기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |