본문 바로가기
책갈피

운영체제

김승곤 |2008.08.13 16:00
조회 106 |추천 0

// 객체 및 변수 선언

_Application gObjApplication;
Workbooks   gObjWorkbooks;
_Workbook   gObjWorkbook;
Range         gObjRange;
Worksheets  gObjWorksheets;
_Worksheet  gObjWorksheet;
Comment     objComment;

 

Font   font;
Borders  borders;
Border  bdLeft, bdTop, bdRight, bdBottom;
Interior interior;
Shapes  objShapes;
Shape   objShape;

 

COleVariant oleVariant((long) DISP_E_PARAMNOTFOUND, VT_ERROR);
COleVariant VFalse((short)FALSE);

CString strStartCell, strEndCell; // 셀의 좌표
CString strText;

 

// 엑셀 프로세스 시작 및 쉬트 객체를 얻음

gObjApplication.CreateDispatch("Excel.Application")

gObjWorkbooks = gObjApplication.GetWorkbooks();
gObjWorkbook = gObjWorkbooks.Add(oleVariant);
gObjWorksheets = gObjWorkbook.GetWorksheets();
gObjWorksheet = gObjWorksheets.GetItem(COleVariant((short) 1));
  
// 파일(strFileName)로 저장
gObjWorkbook.SaveAs(COleVariant(strFileName), COleVariant((long)1), COleVariant("", VT_BSTR), COleVariant("", VT_BSTR), VFalse, VFalse, 1, COleVariant((long) 1), oleVariant, oleVariant, oleVariant);

 

// 엑셀 프로그램 실행
gObjApplication.SetVisible(TRUE);
gObjApplication.SetUserControl(TRUE);
    
// Sheet Name 설정
String strSheetName;
strSheetName = "Sheet";
gObjWorksheet.SetName(LPCTSTR(strSheetName));
  
// Cell Merge
strStartCell = "A1";
strEndCell = "C1";
gObjRange = gObjWorksheet.GetRange(COleVariant(strStartCell), COleVariant(strEndCell));    
gObjRange.SetColumnWidth(COleVariant(10.33));  // 100 pixel

 

// Text Insert
strText = "Test";
gObjRange.SetValue(COleVariant(strText));


// 좌기준 : -4131, 가운데기준 : -4108, 우기준 : -4152
gObjRange.SetVerticalAlignment(COleVariant((short)-4108));  // 수직 가운데기준
gObjRange.SetHorizontalAlignment(COleVariant((short)-4152)); // 수평 우기준

 

// Font : size 10, 굴림체, Bold, Italic
gObjRange = gObjWorksheet.GetRange(COleVariant(strStartCell), COleVariant(strEndCell));
font = gObjRange.GetFont();
font.SetSize(COleVariant((short)10));
font.SetName(COleVariant("굴림체"));
font.SetBold(COleVariant((short)1));
font.SetItalic(COleVariant((short)1));

 

// 셀 서식 : 텍스트
gObjRange.SetNumberFormatLocal(COleVariant("@")); 

 

// 셀 테두리(border)


// 모든 테두리
gObjRange = gObjWorksheet.GetRange(COleVariant(strStartCell), COleVariant(strEndCell));
borders = gObjRange.GetBorders();
borders.SetLineStyle(COleVariant((short)1));   // single line

 

// 바깥쪽 테두리
gObjRange = gObjWorksheet.GetRange(COleVariant(strStartCell), COleVariant(strEndCell));
borders = gObjRange.GetBorders();

 

// left=7, top=8, right=10, bottom=9
bdLeft = borders.GetItem((long)7);
bdLeft.SetLineStyle(COleVariant((short)1)); 

bdTop = borders.GetItem((long)8);
bdTop.SetLineStyle(COleVariant((short)1));  

bdRight = borders.GetItem((long)10);
bdRight.SetLineStyle(COleVariant((short)1));

bdBottom = borders.GetItem((long)9);
bdBottom.SetLineStyle(COleVariant((short)1));

COLORREF color = RGB(255, 255, 255);
interior = gObjRange.GetInterior();
interior.SetColor(COleVariant((double)color));

 

// 그림 삽입 및 크기 설정
objShapes = gObjWorksheet.GetShapes();
objShape = objShapes.AddPicture(strPictureName, // Filename
                (long)0,    // LinkToFile
                (long)-1,    // SaveWithDocument
                (float)left,  // Left
                (float)top,   // Top
                (float)width,  // Width
                (float)height); // Height
                
objShape.SetWidth((float)width);
objShape.SetHeight((float)height);

추천수0
반대수0

공감많은 뉴스 시사

더보기

뉴스 플러스