Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 03.04.2015, 17:21   #1
romantik1993
Пользователь
 
Регистрация: 12.03.2012
Сообщений: 99
По умолчанию Delphi - открытие ворда

открываю файл ворд вот так
Код:
ExeWord(w,wdDoc,pathSelf+'/tmp'+'/Отчет'+edit24.text+'.doc',true);
но если расширение docx то ошибка, как сделать чтобы либо учесть тут расшинение, или как то вообще без расширения
сама процедура вот
Код:
procedure ExeWord(var Word,WDoc : OleVariant; FileName : String; Visible : boolean);
var
  str  : String;
  flag : Boolean;
  i    : Integer;
begin
  try
    Word := GetActiveOleObject('Word.Application');
    if Word.Documents.Count = 0 then Word.Documents.Open(FileName)
    else begin
      str := getFileName(FileName);
      flag := True;
      for i := 1 to Word.Documents.Count do
        if Word.Documents.Item(i).Name = str then begin
          Word.Documents.Item(i).Activate;
          Flag := False;
          Break;
        end;
      if flag then Word.Documents.Open(FileName);
    end;
  except
    Word :=CreateOleObject('Word.Application');
    Word.Visible := Visible;
    Word.Documents.Open(FileName);
  end;
  WDoc := Word.ActiveDocument;
end;

Последний раз редактировалось romantik1993; 03.04.2015 в 17:32.
romantik1993 вне форума
Старый 03.04.2015, 17:38   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Сильно секретная ошибка?
Цитата:
или как то вообще без расширения
Расширение это часть имени файла. Хоть file.abc назовите, ворду все равно, это не влияет на содержимое.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума
Старый 03.04.2015, 17:40   #3
romantik1993
Пользователь
 
Регистрация: 12.03.2012
Сообщений: 99
По умолчанию

ну а как сделать чтобы он когда нужно docx открывал docx, а когда нужно docоткрывал бы doc
romantik1993 вне форума
Старый 03.04.2015, 17:41   #4
romantik1993
Пользователь
 
Регистрация: 12.03.2012
Сообщений: 99
По умолчанию

если вообще убрать расширение то открываются только файлы doc, а docx ошибка
romantik1993 вне форума
Старый 03.04.2015, 17:47   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,430
По умолчанию

Цитата:
но если расширение docx то ошибка, как сделать чтобы либо учесть тут расшинение, или как то вообще без расширения
Не копипастить с интернета бездумно код, а писать свой.
Полезнее для карьеры и мозгов, если хотите чуточку все же быть ПРОграммистом, не повылетав с пары тройки хороших рабочих мест ещё на испытательном сроке.

решается так:
Код:
if (ExtractFileExt(FileName) = '.docx') then 
begin
raise Exception("DOCX формат не поддерживается установленным у вас пакетом MS Office.");
exit;
end;
куда вписать сами подумайте.
Человек_Борща вне форума
Старый 03.04.2015, 17:50   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Зачем у вас в edit24 (крутое имя, кстати, вы там не путаетесь в них?) вводится имя без расширения? Откуда оно там берется? Если выбирается TOpenFileDialog, то там ж полный путь сразу.

И ошибка-то какая? Может у вас офис 2003, тогда конечно никакого docx.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума
Старый 03.04.2015, 17:55   #7
romantik1993
Пользователь
 
Регистрация: 12.03.2012
Сообщений: 99
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Зачем у вас в edit24 (крутое имя, кстати, вы там не путаетесь в них?) вводится имя без расширения? Откуда оно там берется? Если выбирается TOpenFileDialog, то там ж полный путь сразу.

И ошибка-то какая? Может у вас офис 2003, тогда конечно никакого docx.
тут не ошибка
просто если вот так ExeWord(w,wdDoc,pathSelf+'/tmp'+'/Отчет'+edit24.text+'.doc',true); то открывается только ворд 2003
а если вот так ExeWord(w,wdDoc,pathSelf+'/tmp'+'/Отчет'+edit24.text+'.docx',true); то только 2007 а на 2003 ошибка
romantik1993 вне форума
Старый 03.04.2015, 17:56   #8
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,430
По умолчанию

Цитата:
тут не ошибка
просто если вот так ExeWord(w,wdDoc,pathSelf+'/tmp'+'/Отчет'+edit24.text+'.doc',true); то открывается только ворд 2003
а если вот так ExeWord(w,wdDoc,pathSelf+'/tmp'+'/Отчет'+edit24.text+'.docx',true); то только 2007 а на 2003 ошибка
Читать пост и код в посте #5 вдумчиво и внимательно.
Человек_Борща вне форума
Старый 03.04.2015, 17:56   #9
romantik1993
Пользователь
 
Регистрация: 12.03.2012
Сообщений: 99
По умолчанию

не понял ни чего в 5 посте
romantik1993 вне форума
Старый 03.04.2015, 18:01   #10
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Дык у него не то, что в #5 (не считая первого абзаца до кода). Он не может понять, что буквы в имени файла после точки точно так же является частью имени файла, как и то, что до точки, и сама точка. Внезапно имя файла может быть вообще без расширения и это не помешает ворду его открыть. Так что скорее #6 читать.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 03.04.2015 в 18:04.
Alex11223 вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие BMP в Delphi FoggySpurs Фриланс 2 21.05.2013 10:52
Delphi - Вставить и достать файл ворда в БД Access game_Racer Помощь студентам 3 31.03.2012 13:52
открытие окна в Delphi R11 Помощь студентам 3 14.02.2008 16:23
открытие окна в delphi dima00 Общие вопросы Delphi 14 27.06.2007 23:25
Открытие папок из Delphi 7 ByteMan Общие вопросы Delphi 2 20.06.2007 11:19