Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Как обойти безопасний режим открития файла в офисе


Автор: NOCaut 6.10.2014, 10:58
При работе с ексель через оле возникает ошибка: "Система Office обнаружила проблему с этим файлом. Чтобы обеспечить защиту компьютера, этот файл не будет открыт"
После этого файл сохраняется нормально, но теряются настройки печати (сквозные строки, номерация и так дале).

Код

procedure TExprDataToExcel.FileToExcel(SaveFileName: string);
var
  Ap   : OleVariant;
  i,j  : Integer;
  p    : PCellCoord_;
  nCord: PCellCoord_;
  hLine: Boolean;
begin
  Ap := CreateOleObject('Excel.Application');
  MSFx.Position := 0;
  MSFx.SaveToFile(SaveFileName);
  Ap.Workbooks.open(SaveFileName);
  try
    Ap.Visible       := False;
    Ap.DisplayAlerts := False;
    nCord            := CoordList.GetPItem(0);
    for i := 0 to CoordList.Count - 1 do
    begin
      ShowProgress(PRT_SAVE, CoordList.Count, i);
      p := CoordList.GetPItem(i);
      Ap.Sheets[p.Sheet+1].Cells[p.Row+1,p.Col+1] := ValueList[i];
    end;
    Ap.ActiveWorkBook.SaveAs(SaveFileName);
  finally
    Ap.Workbooks.Close;
    Ap.Quit;
    HideProgress;
  end;
end;

Автор: NOCaut 6.10.2014, 16:18
Помогло.Файл->Параметры->Центр управления безопасностью->Параметры центра упраления безопасностью. Выбираете пункт "Надежные расположения" и добавляете директорию, их которой файлы будете обрабатывать.
Теперь буду думать как програмно добавить етот путь.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)