Q&A

  • [질문]EXCEL 메모 삽입, 삭제 ? Comment까진 찾았는데...
Worksheet의  Comments 컬렉션이 있다는데...

ltExcelApp := CreateOLEObject('excel.application');요걸로 EXCEL을 불러들였습니다..

계속 지원하지 않는 메서드라고 뜨네요...

메모삽입, 삭제에 관해서 아시는분.. 간절히 도움을 원합니다...
5  COMMENTS
  • Profile
    최용일 2008.11.11 23:43
    엑셀작업은 직접 엑셀에서 매크로를 만들어서 해보시는것이 쉽습니다.
    아래 내용을 적절하게 델파이로 바꾸어서 쓰세요.

    Range("A1").AddComment
    Range("A1").Comment.Visible = False
    Range("A1").Comment.Text Text:="메모를추가합니다."
  • Profile
    flywing 2008.11.12 00:20
    ^^ 최용일님 답변 감사합니다...

    MSDN찾아보면서 VB나 C++로 된걸 봤는데 스킬부족으로 컨버팅에 실폐를...

    일단 다시 해보겠습니다...
  • Profile
    flywing 2008.11.12 01:35
    역시나 스킬 부족으로이거.. 글 올리기 전에 삽질을 계속 하고 있네요...ㅠ.ㅠ

    Worksheet.Comments ? 여기서 처리하는건가요?

    Worksheet.Range('~~').AddComment('AAAAAA');

    왜 저는 계속 지원하지 않는 메서드라고 나올까요...-.-; 힘들다 진짜...이럴때 진짜 ... 멍함을 느낀다....
  • Profile
    최용일 2008.11.12 05:51
    음.... 쩝~
    델파이에 있는 엑셀 관련 유닛( ExcelXP.pas 혹은 Excel200?.pas)와 매크로를 같이 참고하면서 델파이로 변경을 하세요. 두개가 문법이 약간은 다르니까요.

    아래와 같이 해보세요. 아래는 그냥 ActiveSheet의 A1셀에 메모를 추가하는 것입니다. 이것만 응용하시면 원하는 셀,범위 등 다양하게 쓸 수 있을겁니다.


    procedure TfrmMain.AddCommentButtonClick(Sender: TObject);
    var
    XLApp: OleVariant;
    begin
    XLApp := CreateOLEObject('excel.application');
    XLApp.WorkBooks.Add;
    XLApp.DisplayAlerts := False;

    // 코맨트 추가하는 부분
    XLApp.Range['A1'].AddComment;
    XLApp.Range['A1'].Comment.Visible := False;
    XLApp.Range['A1'].Comment.Text('메모를 추가합니다.');

    XLApp.ActiveWorkbook.SaveAs('c:\file.xls');
    XLApp.ActiveWorkbook.Close;
    XLApp.Quit;
    end;
  • Profile
    flywing 2008.11.12 17:07
    감사합니다. 좀더 노력해야겠습니다.

    삽도 좋은 삽으로 바꿔야겠어요..

    성의있는 답변 진심으로 감사의 말씀드립니다..

    오늘도 좋은하루 되세요...