(역시 기본적으로 Class 마법사로 자동 생성된 Excel 래퍼 클래스를 이용, MFC 환경에서 작업했다)
ch.put_Text("Test !!");
캐스팅을 줄줄줄 하면 코드 자체는 줄일 수 있다. 그것보다도... 이게 제대로 된 방법은 아닌 것 같은데 일단 동작은 한다-_-)
shape의 text에 접근하는 좀 더 단순한 방법이 있을 것으로 추측된다. 실제로 검색을 해 보면 뭔가 더 있을것 같긴 한데... 일단 자동 생성된 헤더에는 없는 것들이었다.
그래도 일단 동작하는 과정
1. 특정 Shape의 TextFrame을 얻어옴.
2. TextFrame에서 Characters를 얻어옴. 이 때 얻어올 수 있는 것들은 Shape 내의 Text의 일부에 해당한다. 파라미터로 시작점 끝점을 지정할 수 있음.
3. Characters에 쓰고 싶은 글을 쓰면 된다.
이 방법에는 일단 문제가 있다. put_Text가 덮어쓰기가 아니라면 ABCD라고 써있는 걸 1234로 바꾸려고 하면 굉장히 코드가 더러워질 것 같다. 덮어쓰기라고 해도 문제인 것이, text를 추가하는 과정이 굉장히 더러워진다.
이번엔 참고도 없음. 구글 뒤져서 대충 때려맞춰서 돌려 봤다.
CShapes shapes;
shapes = excel_sheet.get_Shapes();
CShape tmpShape1 = shapes.AddShape(4L, 50.0f, 50.0f, 100.0f, 100.0f);
CTextFrame ctf = tmpShape2.get_TextFrame();
CCharacters ch = ctf.Characters(COleVariant(0L),COleVariant(0L));
캐스팅을 줄줄줄 하면 코드 자체는 줄일 수 있다. 그것보다도... 이게 제대로 된 방법은 아닌 것 같은데 일단 동작은 한다-_-)
shape의 text에 접근하는 좀 더 단순한 방법이 있을 것으로 추측된다. 실제로 검색을 해 보면 뭔가 더 있을것 같긴 한데... 일단 자동 생성된 헤더에는 없는 것들이었다.
그래도 일단 동작하는 과정
1. 특정 Shape의 TextFrame을 얻어옴.
2. TextFrame에서 Characters를 얻어옴. 이 때 얻어올 수 있는 것들은 Shape 내의 Text의 일부에 해당한다. 파라미터로 시작점 끝점을 지정할 수 있음.
3. Characters에 쓰고 싶은 글을 쓰면 된다.
이 방법에는 일단 문제가 있다. put_Text가 덮어쓰기가 아니라면 ABCD라고 써있는 걸 1234로 바꾸려고 하면 굉장히 코드가 더러워질 것 같다. 덮어쓰기라고 해도 문제인 것이, text를 추가하는 과정이 굉장히 더러워진다.
이번엔 참고도 없음. 구글 뒤져서 대충 때려맞춰서 돌려 봤다.
'개발' 카테고리의 다른 글
| Excel 자동화 자투리(2) (0) | 2012/01/27 |
|---|---|
| Excel 자동화 자투리(1) (0) | 2012/01/26 |
| 페이스북 앱 (0) | 2012/01/17 |
| 홈플러스 어플 설치기 (0) | 2012/01/09 |

