Написал небольшую программку для составления заявок. Суть такая программа берет MSWord'овский документ изменяет его как надо и сохраняет под другим именем. Проблема в том, как после сохранения открыть папку, где лежит только что сформированный файл и при этом чтобы файл выделился. Т. е. открывается папка и в ней выделен только что созданный программой файл?
пытался делать так (ну +проверка версии офиса, чтобы понять какое расширение добавить к полному имени) (imya - переменная TSrting, в которой находится полный путь к файлу начиная от имени диска)
if (StrToInt(Copy(WordApplication1.Version,1,pos('.',WordApplication1.Version)-1)))<12 then ShellExecute(0, 'open', 'explorer.exe', PChar('/select'+imya+'.doc'), nil, SW_SHOWNORMAL) else ShellExecute(0, 'open', 'explorer.exe', PChar('/select'+imya+'.docx'), nil, SW_SHOWNORMAL);
при таком раскладе дельфи к моему пути добавляет '/select' и путь получается примерно таким /selectC:\Заявки, соответсвенно такой папки нет и ничего не получается открыть. Если делать строку как
ShellExecute(0, 'open', 'explorer.exe', '/select'+imya+'.docx', nil, SW_SHOWNORMAL) или так ShellExecute(0, 'open', 'explorer.exe', '/select'+PChar(imya+'.docx'), nil, SW_SHOWNORMAL)
дельфи жалуется на несовпадение типов String и PAnsiChar. Может я конечно полез не в ту функцию, но просто другого я что-то не нашел, что могло бы мне помочь
Сложение строк работает только для типов string '/select'+imya+'.docx' Необходимо результат привести в Си-типу строк т. е. к PChar('/select'+imya+'.docx')
пытался делать так (ну +проверка версии офиса, чтобы понять какое расширение добавить к полному имени) (imya - переменная TSrting, в которой находится полный путь к файлу начиная от имени диска)
if (StrToInt(Copy(WordApplication1.Version,1,pos('.',WordApplication1.Version)-1)))<12
then ShellExecute(0, 'open', 'explorer.exe', PChar('/select'+imya+'.doc'), nil, SW_SHOWNORMAL)
else ShellExecute(0, 'open', 'explorer.exe', PChar('/select'+imya+'.docx'), nil, SW_SHOWNORMAL);
при таком раскладе дельфи к моему пути добавляет '/select' и путь получается примерно таким /selectC:\Заявки, соответсвенно такой папки нет и ничего не получается открыть. Если делать строку как
ShellExecute(0, 'open', 'explorer.exe', '/select'+imya+'.docx', nil, SW_SHOWNORMAL)
или так
ShellExecute(0, 'open', 'explorer.exe', '/select'+PChar(imya+'.docx'), nil, SW_SHOWNORMAL)
дельфи жалуется на несовпадение типов String и PAnsiChar.
Может я конечно полез не в ту функцию, но просто другого я что-то не нашел, что могло бы мне помочь