Форум: "Основная";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];
ВнизОткрыть файл 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.012 c