|
[답변]엑셀오토메이션을 이용한 프린트 | 2005-08-21 오후 2:13:13 |
박기태 (ktp98) | 번호: 538449 |
안녕하세요~ 저도 이문제로 엄청고생한적이 있습니다. 엑셀오토메이션을 쓰시는 분이 별로 없어서인지는 몰라도 데브에도 자료가 잘 없더라구요. 우선 프린트를 하실려면 sheet.Printout을 하면 안됩니다. 안되는게 아니라 하니깐 안되더라구요 ㅡㅡ;; 대신 이렇게 해주시면 됩니다. 프린트 하시려는 sheet의 영역을 선택해주신다음 프린트를 하는겁니다. 대략 소스는 다음과 같이 되겠지요.
========
COleVariant VShort0; COleVariant VShort1; COleVariant VBoolFalse; COleVariant VBoolTrue; COleVariant VOptional;
VShort1 = (short)1; VBoolFalse = (long)FALSE; VBoolTrue = (long)TRUE; VOptional.ChangeType(VT_ERROR, m5);
sheet = sheets.GetItem(COleVariant((short)i)); range = sheet.GetRange(COleVariant("A1"), COleVariant("G46"));
range._PrintOut(VShort1, // From (page #). VShort1, // To (page #). VShort1, // Copies. VBoolFalse, // Preview. VOptional, // ActivePrinter. VBoolFalse, // PrintToFile. VBoolTrue); // Collate.
========
문제 해결의 요지는 sheet의 Printout을 사용하는게 아니라 range의 _PrintOut를 사용하셔야 된다는 점이죠. sheet의 PrintOut이 동작하지 않는 이유는 저도 아직 ㅡㅡa 문제가 해결됐으면 합니다. 즐프하세요~^^ |