Ошибка createoleobject excel application

qwrty40

0 / 0 / 0

Регистрация: 22.11.2013

Сообщений: 3

1

22.11.2013, 02:54. Показов 10989. Ответов 5

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Доброго времени суток, коллеги!
Имеем:
Win7 Pro, Excel 2010(2007), Delphi XE3 и

Delphi
1
2
3
4
5
6
procedure TForm1.BitBtn1Click (Seder: TObject);
var
   MyExcel : OleVariant;
begin
   MyExcel := CreateOleObject('Excel.Application');
end;

По нажатию кнопки ничего не происходит (Excel не запускается, по ошибке не вываливается и т.д.). Если же Excel предварительно запущен руками, все (работа с книгой, листами, ячейками) отрабатывает корректно. Подскажите, плз, что я делаю не так?



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

22.11.2013, 02:54

Ответы с готовыми решениями:

Регулярка findstr отрабатывает на одном файле, но не отрабатывает на другом
Приветствую !

Сижу, ругаюсь матом в голос потому, что регулярка срабатывает на одном текстовом…

Результат запроса отрабатывает в консоли, но не отрабатывает в модуле
Доброго времени суток!
Собственно проблема в следующем, есть запрос, который возвращает дату…

Undeclared identifier ‘CreateOleObject’
Здравствуйте! помогите разобраться!

я набрал код для экспорта данных из БД а Excel, но…

CreateOleObject Монопольный режим
Помогите пожалуйста решить проблему, есть база данных,есть форма приказ, мне нужно чтобы из делфи…

5

mss

22.11.2013, 09:12

Не по теме:

Цитата
Сообщение от qwrty40
Посмотреть сообщение

ничего не происходит (Excel не запускается

«Видишь суслика ? И я не вижу. А он есть..» (с) ДМБ



0



Mawrat

13097 / 5878 / 1706

Регистрация: 19.09.2009

Сообщений: 8,808

22.11.2013, 13:17

3

Цитата
Сообщение от qwrty40
Посмотреть сообщение

По нажатию кнопки ничего не происходит (Excel не запускается, по ошибке не вываливается и т.д.).

А как определено, что Excel не запускается? Т. е., был открыт диспетчер задач Windows и оказалось, что в списке отсутствует процесс excel.exe? Или окно MS Excel не показалось и это было воспринято, как «Excel не запускается»?
mss намекнул уже выше.

Delphi
1
2
3
4
5
6
7
8
9
10
uses
  ComObj;
 
procedure TForm1.BitBtn1Click (Seder: TObject);
var
  MyExcel : Variant; //В Delphi 5 и более ранних версиях: OleVariant.
begin
  MyExcel := CreateOleObject('Excel.Application');
  MyExcel.Visible := True; //Делаем видимым окно MS Excel.
end;



0



0 / 0 / 0

Регистрация: 22.11.2013

Сообщений: 3

22.11.2013, 21:17

 [ТС]

4

Именно через диспетчер задач.



0



qwrty40

0 / 0 / 0

Регистрация: 22.11.2013

Сообщений: 3

24.11.2013, 00:38

 [ТС]

5

Ответ с другого форума:

Если вы протрассируете метод, то после прохождения строчки

Delphi
1
MyExcel := CreateOleObject('Excel.Application');

увидите, что excel.exe присутствует в списке процессов, но при выходе из метода вариантная переменная автоматически очищается и Excel закрывается.

Соответственно, нужно изменить область видимости переменной MyExcel.

Помогло.



0



Mawrat

13097 / 5878 / 1706

Регистрация: 19.09.2009

Сообщений: 8,808

24.11.2013, 03:48

6

Сейчас проверил — да, точно, при обнулении ссылки Excel выгружается. Здесь, оказывается, есть особенность. Если создать (или загрузить с диска) рабочую книгу, то при обнулении ссылок MS Excel не выгрузится:

Delphi
1
2
3
4
5
6
7
8
9
10
11
uses
  ComObj;
 
procedure TForm1.Button1Click(Sender: TObject);
var
  exApp : Variant;
begin
  exApp := CreateOleObject('Excel.Application');
  exApp.Visible := True;
  exApp.Workbooks.Add;
end;

При выходе из этого метода Excel продолжит работу.
И после выхода из следующего метода работа MS Excel тоже продолжится:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
uses
  ComObj;
 
procedure TForm1.Button1Click(Sender: TObject);
var
  exApp, exBook : Variant;
begin
  exApp := CreateOleObject('Excel.Application');
  exApp.Visible := True;
  exBook := exApp.Workbooks.Add;
  exBook.Close;
end;

Если предполагается, что работа с рабочей книгой будет выполняться в том же методе, где есть вызов CreateOleObject(‘Excel.Application’), то надёжнее будет оставить объявление интерфейсных переменных на локальном уровне.



0



Working with excel in delphi by this way is a bit hard because you can not clearly see the suggestions.

I’ll paste some of the codes I have with Variant and Excel so you can use it.

uses
System.Win.ComObj, Excel2010
...

procedure GerarExcel(ADBGrid: TDBGrid; AQuery: TFDQuery);
var
  Excel: Variant;
  linha, coluna, I, X: Integer;
begin
  {Here you create the Excel Application Object}
  Excel := CreateOleObject('Excel.Application');
  {If you want to open the excel you can set this line to True.
  In case you want to save directly without user intervention you can set to False.}
  Excel.Visible :=True;
  Excel.Workbooks.Add;

  {In this case
  Titles begin on the (4) line and different columns (1-7)}
  Excel.WorkBooks[1].Sheets[1].Cells[4,1].Interior.ColorIndex := 55;
  Excel.WorkBooks[1].Sheets[1].Cells[4,1].Font.ColorIndex := 2;
  Excel.WorkBooks[1].Sheets[1].Cells[4,1].Font.Bold := True;
  Excel.WorkBooks[1].Sheets[1].Cells[4,1].font.size := 10;
  Excel.WorkBooks[1].Sheets[1].Cells[4,1] := 'Your Title 2';
  Excel.WorkBooks[1].Sheets[1].Cells[4,1].ColumnWidth := 15;
  
  ...

  Excel.WorkBooks[1].Sheets[1].Cells[4,7].Interior.ColorIndex := 55;
  Excel.WorkBooks[1].Sheets[1].Cells[4,7].Font.ColorIndex := 2;
  Excel.WorkBooks[1].Sheets[1].Cells[4,7].Font.Bold := True;
  Excel.WorkBooks[1].Sheets[1].Cells[4,7].font.size := 10;
  Excel.WorkBooks[1].Sheets[1].Cells[4,7] := 'Your Title 7';
  Excel.WorkBooks[1].Sheets[1].Cells[4,7].ColumnWidth := 17;
  Excel.WorkBooks[1].Sheets[1].Cells[4,7].HorizontalAlignment := 4;
  Excel.WorkBooks[1].Sheets[1].Cells[4,7].verticalAlignment   := 1;

  I := 1;
  {In case you want to loop through a TClientDateSet to fill in the cells}
  with AQuery do
  begin
    First;
    while not Eof do
    begin
      {To change to a specific format}
      Excel.WorkBooks[1].Sheets[1].Cells[I + 4, 1].NumberFormat := 'dd/mm/aaaa';
      Excel.WorkBooks[1].Sheets[1].Cells[I + 4, 1] := FieldByName(C_DATA).AsDateTime;
      Excel.WorkBooks[1].Sheets[1].Cells[I + 4, 2] := FieldByName(C_CONTA_CREDITO).AsString;
      Excel.WorkBooks[1].Sheets[1].Cells[I + 4, 3] := FieldByName(C_CONTA_DEBITO).AsString;
      Excel.WorkBooks[1].Sheets[1].Cells[I + 4, 4].NumberFormat := 'R$#.##0,00';
      Excel.WorkBooks[1].Sheets[1].Cells[I + 4, 4] := FieldByName(C_VALOR).AsString;
      Excel.WorkBooks[1].Sheets[1].Cells[I + 4, 5] := FieldByName(C_DESCRICAO).AsString;
      Excel.WorkBooks[1].Sheets[1].Cells[I + 4, 6] := FieldByName(C_NOME).AsString;
      Excel.WorkBooks[1].Sheets[1].Cells[I + 4, 7] := FieldByName(C_NOME_MOVIMENTO).AsString;
      Inc(I);

      Next;
    end;
  end;

  {All these variables configure the for landscape printing.}
  Excel.ActiveSheet.PageSetup.RightFooter := 'Página &P de &N';
  Excel.ActiveSheet.PageSetup.LeftFooter := '&D';
  Excel.ActiveSheet.PageSetup.Orientation := 2;
  Excel.ActiveSheet.PageSetup.PaperSize := xlPaperA4;
  Excel.ActiveSheet.PageSetup.FitToPagesTall := False;
  Excel.ActiveSheet.PageSetup.Zoom := False;
  Excel.ActiveSheet.PageSetup.FitToPagesWide := 1;

  {If you want the user to see the excel being opened and save it wherever the user wants
  You are done here.}

  {Save the file automatically
  If you want the user to NOT see the excel being opened and save the file in a specific folder automatically
  In the beginning you need to set Visible := False and then these lines}
  FilePath := 'C:\...\my_excel_file.xlsx';
  if FileExists(FilePath) then
    DeleteFile(FilePath);
  Excel.WorkBooks[1].Sheets[1].SaveAs(FilePath);

  Excel.Quit;
end;

In the VBA API Microsoft documentation you can find more.

    msm.ru

    Нравится ресурс?

    Помоги проекту!

    !
    user posted image

    Пожалуйста, выделяйте текст программы тегом [сode=pas] … [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.

    Соблюдайте общие правила форума

    Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
    1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
    2. Как «свернуть» программу в трей.
    3. Как «скрыться» от Ctrl + Alt + Del (заблокировать их и т.п.)
    4. Как запустить программу/файл? (и дождаться ее завершения)
    5. Как перехватить API-функции, поставить hook? (перехват сообщений от мыши, клавиатуры — внедрение в удаленное адресное прстранство)
    … (продолжение следует) …


    Внимание:
    Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
    Повторная попытка — 60 дней. Последующие попытки — бан.
    Мат в разделе — бан на три месяца…


    Полезные ссылки:
    user posted image MSDN Library user posted image FAQ раздела user posted image Поиск по разделу user posted image Как правильно задавать вопросы


    Выразить свое отношение к модераторам раздела можно здесь: user posted image Rouse_, user posted image Krid

    >
    Ошибка при вызове CreateOleObject()
    , как устранить ошибку?

    • Подписаться на тему
    • Сообщить другу
    • Скачать/распечатать тему

      


    Сообщ.
    #1

    ,

      У меня следующий код:

      ExpandedWrap disabled

        procedure TForm1.Button1Click(Sender: TObject);

        var

          vExcel:Variant;

        begin

          try

            vExcel:=GetActiveOleObject(‘Excel.Application’);

          except

            try

              vExcel:=CreateOleObject(‘Excel.Application’);

            except

              ShowMessage(‘Excel open error’);

            end;

          end;

        end;

      Обе OLE фунции выдают ошику ‘Microsoft Office Excel — обнаружена ошибка. Приложение будет закрыто. Приносим извинения за неудобства’.

      Как выяснилось ошибку генерирует DW32.exe.
      В чем здесь дело и как с этим бороться.

      Master

      Krid



      Сообщ.
      #2

      ,

        Moderator

        ******

        Рейтинг (т): 237

        Цитата y307 @

        Как выяснилось ошибку генерирует DW32.exe

        А что есть DW32.exe ?


        y307



        Сообщ.
        #3

        ,

          Находится в Program Files\Common Files\Microsoft Shared\DW\DW20.EXE и назывыется
          «Microsoft Application Error Reporting»
          Можно также эапустить утилитой 2003-го офиса «Восстановление приложений Microsoft Office»

          Master

          Krid



          Сообщ.
          #4

          ,

            Moderator

            ******

            Рейтинг (т): 237

            Понятно. А офис переустановить не пробовал?


            Mr.Delphist



            Сообщ.
            #5

            ,

              DW32 — это Доктор Ватсон, системная тулза, которая рапортует об ошибках.
              Попробуй
              vExcel: OLEVariant;
              Если не поможет — пробуй на сыром API вызвать CreateInstance и посмотреть HRESULT-код ошибки. Возможно, в самом деле надо офис переустановить.

              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)

              0 пользователей:

              • Предыдущая тема
              • Delphi: Система, Windows API
              • Следующая тема

              Рейтинг@Mail.ru

              [ Script execution time: 0,0583 ]   [ 16 queries used ]   [ Generated: 22.09.23, 11:20 GMT ]  

               
              denary
               
              (2003-03-14 01:30)
              [0]

              Undeclared identifier: «CreateOleObject» Уважаемые мастера, помогите утопающему! Не могу выкинуть DataSet в Excel.

              Что ему сделать, чтоб оно заработало? Вот текст процедуры:

              uses ….. Variants, Excel2000, ADODB;

              …..

              procedure TForm2.ToExcelClick(Sender: TObject);

              var

              BeginCol, BeginRow, j :integer;

              RowCount, ColCount :integer;

              ExcelApp, Workbook, Range, Cell1, Cell2, ArrayData :Variant;

              Begin

              BeginCol:=1;

              BeginRow:=9;

              RowCount:=Form2.Query1.RecordCount;

              ColCount:=Form2.Query1.FieldDefs.Count;

              ExcelApp := CreateOleObject(«Excel.Application»); — не работает, выдает ошибку

              {ExcelOLEObject1.Create(Query1);

              ExcelApp := ExcelOLEObject1.Copy;}

              ExcelApp.Application.EnableEvents:=false;

              Workbook:=ExcelApp.WorkBooks.Add(«D:\users\Geo1.xls»);

              ArrayData:=VarArrayCreate([1, RowCount, 1, ColCount], varVariant);

              Form2.Query1.DisableControls;

              Form2.Query1.First;

              While Not Form2.Query1.Eof do

              begin

              for J:=1 to Form2.Query1.FieldDefs.Count do

              begin

              ArrayData[Form2.Query1.RecNo, J]:=Form2.Query1.Fields[j-1].Value;

              End;

              Form2.Query1.Next;

              End;

              Form2.Query1.EnableControls;

              Cell1 :=WorkBook.WorkSheets[1].Cells[BeginRow, BeginCol];

              Cell2 :=WorkBook.WorkSheets[1].Cells[BeginRow + RowCount -1, BeginCol + ColCount -1];

              Range:= WorkBook.WorkSheets[1].Range[Cell1, Cell2];

              Range.Value:=ArrayData;

              ExcelApp.Visible:=true;

              end;


               
              theodor_iv
               
              (2003-03-14 03:51)
              [1]

              В uses дописать модуль ComObj


               
              denary
               
              (2003-03-18 00:55)
              [2]

              В uses дописал все, что можно было. Не работает!

              Может кто-нибудь объяснить?


               
              theodor_iv
               
              (2003-03-18 03:38)
              [3]



              > ExcelApp := CreateOleObject(«Excel.Application»); — не работает,

              > выдает ошибку



              Может, хотя бы скажешь, какая ошибка?


               
              denary
               
              (2003-03-21 01:17)
              [4]

              Ошибку написал в самом начале:

              Undeclared identifier: «CreateOleObject»


               
              Palladin
               
              (2003-03-21 01:37)
              [5]



              > denary (21.03.03 01:17)



              тебе в самом начале ответили

              uses comobj;


               
              denary
               
              (2003-03-22 01:00)
              [6]

              Спасибо за помощь, работает.

              Была грамматическая ошибка.

              Господа мастера, извините за тупость :(


              You are not logged in. Please login or register.

              Active topics Unanswered topics

              Ошибка при выполнении приложения-сервера, ProgID: «Excel.Application»

              Pages 1

              You must login or register to post a reply

              1 2019-07-22 17:28:37

              • mikhail_a
              • Member
              • Offline
              • Registered: 2017-05-30
              • Posts: 254

              Topic: Ошибка при выполнении приложения-сервера, ProgID: «Excel.Application»

              Данная ошибка возникает при попытке импорта или экспорта таблицы в Excel.
              Переустановка Office ничего не дала.
              Трехнедельные танцы с бубнами по найденным в инете идеям в виде внесения изменений в реестр, изменения прав доступа к объектам и тому подобное, успехов не принесли.
              Более того, оказывается сама microsoft открещивается от своего офиса в вопросах автоматизации: https://support.microsoft.com/ru-ru/hel … -of-office
              Т.е. она говорит, что при использовании механизма OLE обращение к Office может сработать, а может и нет.
              Прямо как у меня — на некоторых ПК все работает нормально, а на одном — возникает ошибка.
              Кстати, к Ворду тоже обращение не проходит.
              Для эксперимента повторил модуль экспорта на Delphi (создание файла Excel).
              Запустил два раза — создание файлов прошло нормально, а третий раз — ошибка приложения-сервера.
              И теперь всегда только ошибка возникает.
              Вообще — фантастика! Как будто где-то пробка smile

              Как рекомендует Microsoft, надо работать с Excel без OLE.
              На эту тему нашел готовый модуль для Delphi: http://www.delphisources.ru/pages/faq/b … t_ole.html
              Поскольку сам я не силен в Delphi, просьба  проверить работу этого кода и если работает включить его в MVD.

              2 Reply by mikhail_a 2019-07-23 08:31:02

              • mikhail_a
              • Member
              • Offline
              • Registered: 2017-05-30
              • Posts: 254

              Re: Ошибка при выполнении приложения-сервера, ProgID: «Excel.Application»

              Ну да, может неверно названо.
              У меня проблема в том, что независимо от того, установлен Excel на ПК или нет, детектирование наличия Excel средствами MVD или Delphi  всегда дает положительный результат.
              Т.е. Result := (CLSIDFromProgID(‘Excel.Application’, CLSID) = S_OK);  всегда возвращает ОК.
              А вот дальше механизм OLE не срабатывает.
              Спотыкается на CreateOleObject(‘Excel.Application’);
              Причем, это самое OLE не работает и для Ворда.

              Но, проблема оказалась еще шире.
              У меня есть кнопка, которая открывает файл, указанный в соотв. поле файла.
              Т.е. есть такая команда: OpenFile(Form1.DBFile_1.Text);
              Эта команда открывает файл документа программой, который ассоциирован с данным расширением файла.
              Так вот оказывается, если у меня установлена ассоциация расширения .doc с, например, LibreOffice, то файл открывается нормально.
              Но, если .doc ассоциирован с Вордом, то открытия файла не происходит.
              Но и никакой ошибки не появляется.
              При этом, сам Ворд и Excel работают нормально и  как положено открывают файлы из проводника.
              Вообще ничего не понимаю.
              Может у кого есть идеи?

              3 Reply by mikhail_a 2019-07-23 09:24:45

              • mikhail_a
              • Member
              • Offline
              • Registered: 2017-05-30
              • Posts: 254

              Re: Ошибка при выполнении приложения-сервера, ProgID: «Excel.Application»

              Да, наверно, проблему можно решить чисткой реестра от офиса.
              Но, я о другом — существующие в MVD (Delphi) средства работы с офисом через OLE не рекомендуются самим Microsoft.
              И как доказательство обоснованности их опасений — проблемы на моем ПК.
              Я сам разрабатываю программу для работы нескольких пользователей и имею возможность попытаться пофиксить на своем ПК проблемы реестра windows.
              Но, если такие же проблемы будут у тех, кто будет пользоваться моей программой, то это станет неразрешимой проблемой.
              Хотелось бы иметь в MVD такое решение экспорта-импорта в Excel, которое было бы независимо от OLE, если его Microsoft не рекомендует.
              Сейчас же я не могу добиться того, чтобы MVD(Delphi) проверяло бы реальную работоспособность OLE механизма на конкретном ПК и если есть какие-то проблемы с этим, то хотя бы сообщало об этом, а не зависала бы на длительный срок с последующим выпаданием в исключение.

              4 Reply by mikhail_a 2019-07-23 11:47:27

              • mikhail_a
              • Member
              • Offline
              • Registered: 2017-05-30
              • Posts: 254

              Re: Ошибка при выполнении приложения-сервера, ProgID: «Excel.Application»

              Try не спасает.
              На коде CreateOleObject Delphi зависает на две минуты (засекал), а потом выдает свое исключение.
              Поймать его своей обработкой ошибки заключив этот код в Try не получается.
              Да и ждать появления обработки в течение двух минут не лучший вариант.

              5 Reply by DriveSoft 2019-07-24 10:04:07

              • DriveSoft
              • DriveSoft
              • Administrator
              • Offline
              • Registered: 2014-02-14
              • Posts: 10,294

              Re: Ошибка при выполнении приложения-сервера, ProgID: «Excel.Application»

              Почему просто не использовать отчеты для експорта данных в Excel или OpenOffice?

              Dmitry.

              6 Reply by mikhail_a 2019-07-24 11:09:10

              • mikhail_a
              • Member
              • Offline
              • Registered: 2017-05-30
              • Posts: 254

              Re: Ошибка при выполнении приложения-сервера, ProgID: «Excel.Application»

              Отчеты не получается использовать для экспорта напрямую в Excel по той же причине — они общаются с Excel через OLE.
              Попытка экспорта из отчета в Excel дает ту же ошибку.

              Однако, если делать экспорт отчета в Open Document Spreadsheet (т.е. в файл .ods) и, при этом, ассоциировать расширение ods с Excel, то после диалога сохранения файла успешно открывается Excel и в нем корректно отражены все данные.
              Т.е. проблема экспорта в Excel действительно может быть решена с помощью отчетов.

              Подскажите, пожалуйста, как передать данные с формы из таблицы в отчет без его отображения (чтобы был выбран экспорт в Open Document Spreadsheet) и  сразу открылся диалог сохранения ods файла, а потом открылся Excel?

              И есть ли еще какой-то альтернативный способ импорта данных из xls и xlsx файлов, который бы не использовал Excel?

              7 Reply by DriveSoft 2019-07-25 10:44:46

              • DriveSoft
              • DriveSoft
              • Administrator
              • Offline
              • Registered: 2014-02-14
              • Posts: 10,294

              Re: Ошибка при выполнении приложения-сервера, ProgID: «Excel.Application»

              mikhail_a wrote:

              Подскажите, пожалуйста, как передать данные с формы из таблицы в отчет без его отображения (чтобы был выбран экспорт в Open Document Spreadsheet) и  сразу открылся диалог сохранения ods файла, а потом открылся Excel?

              В настройках кнопки выберитк OpenOffice (ods)

              procedure Form1_bReport_OnAfterClick (Sender: string);
              begin
                  OpenFile(Form1.frxODSExport1.FileName); // в данном свойстве будет имя ods файла
              end;
              
              begin
                  Form1.frxODSExport1.OpenAfterExport := False;
              end.

              Dmitry.

              8 Reply by mikhail_a 2019-07-26 15:31:29 (edited by mikhail_a 2019-07-26 15:33:51)

              • mikhail_a
              • Member
              • Offline
              • Registered: 2017-05-30
              • Posts: 254

              Re: Ошибка при выполнении приложения-сервера, ProgID: «Excel.Application»

              Удалось решить проблему с экспортом в Excel.
              Оказывается причиной проблем был китайский WPS Office.
              Это самый сильный конкурент Microsoft Office.
              Видимо при инсталляции он себя где-то прописывает и в результате подменяет собой Excel.
              На втором ПК у нас стоит WPS2019 и при экспорте в Excel открывается именно WPS2019.
              Т.е. у WPS2019 полностью совпадает с Excel способ общения по OLE.
              А у меня стоял WPS2016, который я установил после деинсталляции WPS2019 (он мне не очень понравился и я откатился на версию 2016).
              Стоило мне деинсталлировать WPS2016, как сразу стал нормально работать экспорт в Excel.
              Безобразие китайское…
              Но, осталось наследие в отношении Ворда — не открываются файлы doc командой OpenFile, если ассоциация таких файлов связана с Word.
              Никаких ошибок не выпадает. Просто ничего не происходит когда кликаешь по кнопке, которая должна открыть файл doc.
              Если же ассоциировать файлы doc с LibreOffice — то они нормально открываются Либроофисом.
              Есть ли у кого-нибудь идеи как заставить OpenFile открывать файлы именно Вордом?

              9 Reply by mikhail_a 2019-07-29 17:16:02

              • mikhail_a
              • Member
              • Offline
              • Registered: 2017-05-30
              • Posts: 254

              Re: Ошибка при выполнении приложения-сервера, ProgID: «Excel.Application»

              Оба предложенных варианта открытия файлов с помощью ворда работают.
              Однако, файл договора может быть не только в ворде, но и в pdf или, вообще, в картинке.
              Т.е. надо определять расширение файла перед открытием и либо открывать файл универсальной командой OpenFile (Filename) либо (если doc или docx) открывать командой OpenFile(Filename, ‘winword’).
              Существует ли функция для определения расширения файла?
              Или надо разбирать текстовое название файла, чтобы понять его расширение?

              10 Reply by DriveSoft 2019-07-29 17:26:16

              • DriveSoft
              • DriveSoft
              • Administrator
              • Offline
              • Registered: 2014-02-14
              • Posts: 10,294

              Re: Ошибка при выполнении приложения-сервера, ProgID: «Excel.Application»

              Posts: 10

              Pages 1

              You must login or register to post a reply

              Понравилась статья? Поделить с друзьями:

              Интересное по теме:

            • Ошибка createservice failed with 1072 easyanticheat
            • Ошибка createprocess сбой код 740
            • Ошибка createprocess returned 2e4
            • Ошибка createprocess returned 2 minecraft dungeons
            • Ошибка create2dtexture call of duty modern warfare remastered

            • Добавить комментарий

              ;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: