함수 만들 때 Input인자의 변수명을 숫자로 시작하는 이름을 넣었다가 저 에러로 삽질했다.
아래와 같이 시작 text를 숫자로 기입하면 안된다.
함수 만들 때 Input인자의 변수명을 숫자로 시작하는 이름을 넣었다가 저 에러로 삽질했다.
아래와 같이 시작 text를 숫자로 기입하면 안된다.
엑셀을 생성하고 Cell에 값을 쓰는것은 아래를 참고.
https://ansan-survivor.tistory.com/1897
결과부터 보면 아래와 같이 외곽선을 찐하게 칠할 수 있다.
코드)
' 엑셀 obj를 생성
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Add()
Set objWorksheet = objWorkbook.Sheets(1)
' 해더 부분, 첫번째 줄
objWorksheet.Cells(1,1).Value = "Name"
objWorksheet.Cells(1,2).Value = "Age"
objWorksheet.Cells(1,4).Value = "Hello"
' Cell의 가로 길이 늘리기
objWorksheet.Columns(4).ColumnWidth = 30
objWorksheet.Rows(2).RowHeight = 30
' 2번째 줄
objWorksheet.Cells(2,1).Value = "John"
objWorksheet.Cells(2,2).Value = "30"
' 3번째 줄
objWorksheet.Cells(3,1).Value = "Jane"
objWorksheet.Cells(3,2).Value = "25"
' rng에 영역에 경계선 나타내기
Set rng = objWorksheet.Range("A1:K2")
Const xlThin = 2
With rng.Borders
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
' 저장할 경로 지정, 위 데이터를 쓰고 저장됨.
objWorkbook.SaveAs "C:\_workspace\example.xlsx"
' 엑셀 obj를 종료함
objExcel.Quit
아래 부분이 경계선을 만드는 부분.
엑셀을 생성하고 Cell에 값을 쓰는것은 아래를 참고.
https://ansan-survivor.tistory.com/1897
특정 영역의 글자를 모두 두껍게 만드는 코드이다.
코드
' 엑셀 obj를 생성
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Add()
Set objWorksheet = objWorkbook.Sheets(1)
' 해더 부분, 첫번째 줄
objWorksheet.Cells(1,1).Value = "Name"
objWorksheet.Cells(1,2).Value = "Age"
objWorksheet.Cells(1,4).Value = "Hello"
' Cell의 가로 길이 늘리기
objWorksheet.Columns(4).ColumnWidth = 30
objWorksheet.Rows(2).RowHeight = 30
' 2번째 줄
objWorksheet.Cells(2,1).Value = "John"
objWorksheet.Cells(2,2).Value = "30"
' 3번째 줄
objWorksheet.Cells(3,1).Value = "Jane"
objWorksheet.Cells(3,2).Value = "25"
' 폰트 두껍게 설정 (색상 index default는 검정색)
' rng에 해당되는 부분 두껍게
Set rng = objWorksheet.Range("A1:K2")
rng.Font.ColorIndex = xlAutomatic
rng.Font.Bold = True
' 저장할 경로 지정, 위 데이터를 쓰고 저장됨.
objWorkbook.SaveAs "C:\_workspace\example.xlsx"
' 엑셀 obj를 종료함
objExcel.Quit
두껍게 만드는 부분은 아래.
(결과)
A1부터 K2 사이에 모든 Text는 두껍게 표시된다.
엑셀을 생성하고 Cell에 값을 쓰는것은 아래를 참고.
https://ansan-survivor.tistory.com/1897
특정 영역을 잡고, 색상 부여하기
(코드)
' 엑셀 obj를 생성
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Add()
Set objWorksheet = objWorkbook.Sheets(1)
' 상수 지정.
Const YELLOW_COLOR = 65535 ' yellow color
' rng에 해당되는 부분 노란색값 넣기.
Set rng = objWorksheet.Range("A1:K2")
rng.Interior.Color = YELLOW_COLOR
' 해더 부분, 첫번째 줄
objWorksheet.Cells(1,1).Value = "Name"
objWorksheet.Cells(1,2).Value = "Age"
objWorksheet.Cells(1,4).Value = "Hello"
' Cell의 가로 길이 늘리기
objWorksheet.Columns(4).ColumnWidth = 30
objWorksheet.Rows(2).RowHeight = 30
' 2번째 줄
objWorksheet.Cells(2,1).Value = "John"
objWorksheet.Cells(2,2).Value = "30"
' 3번째 줄
objWorksheet.Cells(3,1).Value = "Jane"
objWorksheet.Cells(3,2).Value = "25"
' 저장할 경로 지정, 위 데이터를 쓰고 저장됨.
objWorkbook.SaveAs "C:\_workspace\example.xlsx"
' 엑셀 obj를 종료함
objExcel.Quit
아래가 색상 넣고 영역 지정하는 부분.
(결과)
VBScript로 엑셀 파일을 만들고 값을 쓰는 방법은 아래를 참고.
https://ansan-survivor.tistory.com/1897
Cell의 특정 칸을 지정해서 가로길이를 늘릴 수 있고, 세로길이를 늘릴 수 있다.
코드)
' 엑셀 obj를 생성
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Add()
Set objWorksheet = objWorkbook.Sheets(1)
' 해더 부분, 첫번째 줄
objWorksheet.Cells(1,1).Value = "Name"
objWorksheet.Cells(1,2).Value = "Age"
objWorksheet.Cells(1,4).Value = "Hello"
' Cell의 가로 길이 늘리기
objWorksheet.Columns(4).ColumnWidth = 30
' 2번째 줄
objWorksheet.Cells(2,1).Value = "John"
objWorksheet.Cells(2,2).Value = "30"
' 3번째 줄
objWorksheet.Cells(3,1).Value = "Jane"
objWorksheet.Cells(3,2).Value = "25"
' 저장할 경로 지정, 위 데이터를 쓰고 저장됨.
objWorkbook.SaveAs "C:\_workspace\example.xlsx"
' 엑셀 obj를 종료함
objExcel.Quit
위 코드에서 아래 부분에 어떤 값을 넣느냐에 따라 길이가 달라진다.
코드)
' 엑셀 obj를 생성
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Add()
Set objWorksheet = objWorkbook.Sheets(1)
' 해더 부분, 첫번째 줄
objWorksheet.Cells(1,1).Value = "Name"
objWorksheet.Cells(1,2).Value = "Age"
' objWorksheet.Cells(1,4).Value = "Hello" & vbCrLf & "World"
objWorksheet.Cells(1,4).Value = "Hello"
' Cell의 가로 길이 늘리기
objWorksheet.Columns(4).ColumnWidth = 30
' Cell의 세로 길이 늘리기
objWorksheet.Rows(2).RowHeight = 30
' 2번째 줄
objWorksheet.Cells(2,1).Value = "John"
objWorksheet.Cells(2,2).Value = "30"
' 3번째 줄
objWorksheet.Cells(3,1).Value = "Jane"
objWorksheet.Cells(3,2).Value = "25"
' 저장할 경로 지정, 위 데이터를 쓰고 저장됨.
objWorkbook.SaveAs "C:\_workspace\example.xlsx"
' 엑셀 obj를 종료함
objExcel.Quit
위 코드에서 아래 부분을 추가해서 늘렸다.
즉, 2번째 Row의 높이를 정함.
* 만약 수동 값 입력 없이 현재 Text의 길이를 기준으로 자동 맞추기를 하려면 아래 For문을 활용
아래의 예는 col (Cell가로 길이)가 1번부터 19번까지 Text크기를 보고 자동맞춤 하는 것.
for col=1 to 19
objSheet.columns(col).AutoFit()
next
[Visual Basic] 비주얼베이직 스크립트 (VBScript), 엑셀 글자(text) 두껍게 만들기 (Bold 하기) (0) | 2023.03.29 |
---|---|
[Visual Basic] 비주얼베이직 스크립트 (VBScript), 엑셀 특정 영역에 색상 넣기 (0) | 2023.03.29 |
[Visual Basic] 비주얼베이직 스크립트 (VBScript), 엑셀 가운데 정렬하기 (0) | 2023.03.29 |
[Visual Basic] 비주얼베이직 스크립트 (VBScript), 엑셀 셀 병합하기, 병합 해제 하기 (0) | 2023.03.29 |
[Visual Basic] 비주얼베이직 스크립트 (VBScript), 엑셀 생성하기 (0) | 2023.03.27 |
엑셀을 생성하고 Cell에 값을 쓰는것은 아래를 참고.
https://ansan-survivor.tistory.com/1897
위 포스팅에서 생성한 값을 가운데 정렬 하는 방법.
코드 실행 전.
코드 실행 후,
A1부터 B2까지 드레그하여 가운데정렬이 된것처럼 보인다.
코드.
' 엑셀 obj를 생성
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Add()
Set objWorksheet = objWorkbook.Sheets(1)
' 해더 부분, 첫번째 줄
objWorksheet.Cells(1,1).Value = "Name"
objWorksheet.Cells(1,2).Value = "Age"
' 2번째 줄
objWorksheet.Cells(2,1).Value = "John"
objWorksheet.Cells(2,2).Value = "30"
' 3번째 줄
objWorksheet.Cells(3,1).Value = "Jane"
objWorksheet.Cells(3,2).Value = "25"
' 가운데 정렬 상수값.
Const xlCenter = -4108
' 가로 가운데 정렬.
objWorksheet.Range("A1:B2").HorizontalAlignment = xlCenter
' 세로 가운데 정렬.
objWorksheet.Range("A1:B2").VerticalAlignment = xlCenter
' 저장할 경로 지정, 위 데이터를 쓰고 저장됨.
objWorkbook.SaveAs "C:\_workspace\example.xlsx"
' 엑셀 obj를 종료함
objExcel.Quit
위 코드 중 가운데 정렬을 행하는 코드는.
해당 범위를 드레그하여 정렬하는 과정이다.
엑셀을 생성하고 Cell에 값을 쓰는것은 아래를 참고.
https://ansan-survivor.tistory.com/1897
위 포스팅에서 생성한 엑셀을 아래와 같이 병합하는 예제 코드
병합할 때 사용하는 함수는 아래와 같다.
맨 처음 Workbook object를 불러와서 접근해야 한다.
A1:A2는 드레그를 뜻함. 즉, A1부터 A2까지 드레그해서 Merge(병합) 해라.
예제 코드)
' 엑셀 obj를 생성
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Add()
Set objWorksheet = objWorkbook.Sheets(1)
' 병합하기
objWorksheet.Range("A1:A2").Merge
objWorksheet.Range("B1:C1").Merge
' 해더 부분, 첫번째 줄
objWorksheet.Cells(1,1).Value = "Name"
objWorksheet.Cells(1,2).Value = "Age"
' 2번째 줄
objWorksheet.Cells(2,1).Value = "John"
objWorksheet.Cells(2,2).Value = "30"
' 3번째 줄
objWorksheet.Cells(3,1).Value = "Jane"
objWorksheet.Cells(3,2).Value = "25"
' 저장할 경로 지정, 위 데이터를 쓰고 저장됨.
objWorkbook.SaveAs "C:\_workspace\example.xlsx"
' 엑셀 obj를 종료함
objExcel.Quit
(결과) 아래 줄을 보면 어떻게 병합하는지 알 수 있다.
그러면 병합된 저 Cell을 다시 해제하여 각각의 Cell으로 돌리는 방법.
Merge를 UnMerge로 함수를 사용하면 된다.
위 Merge된 Excel파일에 다시 아래와 같이 코드를 돌리면,
아래와 같이 원래대로 분리 된다.
실행 결과.
아래 간단히 엑셀을 생성하는 코드
' 엑셀 obj를 생성
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Add()
Set objWorksheet = objWorkbook.Sheets(1)
' 해더 부분, 첫번째 줄
objWorksheet.Cells(1,1).Value = "Name"
objWorksheet.Cells(1,2).Value = "Age"
' 2번째 줄
objWorksheet.Cells(2,1).Value = "John"
objWorksheet.Cells(2,2).Value = "30"
' 3번째 줄
objWorksheet.Cells(3,1).Value = "Jane"
objWorksheet.Cells(3,2).Value = "25"
' 저장할 경로 지정, 위 데이터를 쓰고 저장됨.
objWorkbook.SaveAs "C:\example.xlsx"
' 엑셀 obj를 종료함
objExcel.Quit