Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.23;
Скачать: CL | DM;

Вниз

Открыть файл Word   Найти похожие ветки 

 
Кашперук Иван   (2006-03-18 04:48) [0]

Как произвести открытие файла - знаю путь к нему - через ShellExecute?

Разрешение - .doc

Пишу

uses ShellApi;

ShellExecute(Application.Handle, "open", PAnsiChar(filePath + "file.doc"), "", "", SW_SHOWNORMAL);


Не ругается никак, но и Ворд не открывает.

Как отрыть файл указанный в Ворде?
Спасибо


 
Чародей ©   (2006-03-18 14:38) [1]

ShellExecute(Application.Handle, "open", PAnsiChar("C:\1\file.doc"), "", "", SW_SHOWNORMAL);
Работает. Может в filePath слеш забыл?


 
Кашперук Иван   (2006-03-18 17:01) [2]

Нет, \ не забыл.

Решил только что наконец эту проблему, после того, как прочитал ваше сообщение - хоть убедился, что я еще не туплю. :)

Оказывается, все дело было в (8 + 3) пути к файлу - он какой-то очень странный, как по мне, видимо из-за русских символов.

Настоящий путь к файлу:
E:\Учеба\Защита информации\Расчетка\Answer3.doc

Тот, который выдает GetShortPathName() {кстати, несколько разных модификаций перепробовал - одной и той же функции полностью, пока наконец она начала выдавать непустую строку}

E:\A669~1\37C5~1\8A03~1\Answer3.doc

Просто уничтожило мое понимание перевода длинного пути в короткий :))


 
TStas ©   (2006-03-18 20:48) [3]

Можно же через СОМ открыть ворд , а в нем открыть файл, раз путь известен


 
YurikGL ©   (2006-03-18 21:28) [4]

>ShellExecute(Application.Handle, "open", PAnsiChar("C:\1\file.doc"), "", "", SW_SHOWNORMAL);

попробуй
ShellExecute(Application.Handle, "open", PAnsiChar(""C:\1\file.doc""), "", "", SW_SHOWNORMAL);

т.е. весь путь заключи в двойные кавычки....


 
TStas ©   (2006-03-19 17:21) [5]

Вот у меня однажды двойные кавычки проблему решили. Почему- не знаю. Наверно, что-то с сишным синтаксисосм связано


 
YurikGL ©   (2006-03-19 17:29) [6]


> Вот у меня однажды двойные кавычки проблему решили. Почему-
>  не знаю. Наверно, что-то с сишным синтаксисосм связано

Да нет.... просто в винде, когда в пути к файлу содержатся пробелы, его (путь) надо передвать в кавычках...

Возможно, кроме пробелов, там есть еще какие-нибудь символы, требующие кавычки, но я уже этого не помню...


 
Andrey.Ru   (2006-03-19 18:12) [7]

ShellExecute(Application.Handle, "open", PAnsiChar(""C:\1\file.doc""), nil, nil, SW_SHOWNORMAL);


 
Andrey.Ru   (2006-03-19 18:15) [8]

сорри здесь ненадо двойных ковычек

ShellExecute(Application.Handle, "open", PAnsiChar(You_path + "file.doc"), nil, nil, SW_NORMAL);

Если не получается проверь свой путь сделай бональный ШоуМессадж
ShowMessage(You_path + "file.doc");
Проверь наличие всех слешей...



Страницы: 1 вся ветка

Текущий архив: 2006.04.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
6-1136898146
Wiz@rd
2006-01-10 16:02
2006.04.23
шЫрина канала...


9-1128061133
КиТаЯц
2005-09-30 10:18
2006.04.23
Quark with GLScene using OpenBSP (есть кто шарит в Quark?)


3-1141387721
[AleX]
2006-03-03 15:08
2006.04.23
DBGrid & ADO и не только....


15-1144042354
Ega23
2006-04-03 09:32
2006.04.23
С Днём рождения! 1 апреля


2-1144249234
Khim
2006-04-05 19:00
2006.04.23
FastNet и MNSMTP