Q&A

  • 저장시 열려있는 파일일 경우 에러가 발생
저장시에 해당파일에 덮어 쓸려구하는데...
파일이(엑셀파일) 열려있는지 어떻게 확인할수 있죠...

알려주세요...
1  COMMENTS
  • Profile
    구창민 2002.12.24 21:32
    아래처럼 한번 해 보세요..

    function IsFileInUse(fName: string): boolean;
    var
      HFileRes: HFILE;
    begin
      Result:= false;
      if not FileExists(fName) then
        exit;
      HFileRes:= CreateFile(pchar(fName), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
      Result:= (HFileRes = INVALID_HANDLE_VALUE);
      if not Result then
        CloseHandle(HFileRes);
    end;


    procedure TForm1.Button1Click(Sender: TObject);
    begin
      if IsFileInUse('c:a.xls') then
      begin
        ShowMessage('사용중');
      end
      else
      begin
        ShowMessage('미 사용중');
      end;
    end;