Автор вопроса: iprog | Web-сайт:usprogs.atheo-club.ru
Здравствуйте. У меня такое дело: пишу код, который записывает в реестр настройки открытия файла в программе. Но, когда я запускаю программу, а потом пробую открыть такой файл (в Проводнике), то у меня появляется окно выбора программы для открытия этого файла. Я выбираю там свою программу, она запускается, но файл в ней не открывается. Скажите, пожалуйста, может ОС передаёт моей программе что-то об этом файле и если да, то подскажите, пожалуйста, какой код нужно написать для этого? Заранее спасибо.
Элементарно. Открываеш Регэдит, в нём папку Hkey_Classes_Root тама выбираеш папку ,название которой является форматом файла, открываеш её ,и смотриш, что система может тебе рассказать об этом формате.
Winand, я посмотрел, что эта функция возвращает путь и имя файла, но возвращает вот так:
D:\МОИ ДОК~1\ИЛЬЯ\ПРОГРА~1\V.6745~B\ и т.д. Из-за этого и не работает: оператор OPEN открыть файл по такому пути не может.
Извини, я не специалист по API и реестру. С этим кодом мне тоже помогли, я просто убрал лишнее. Могу сказать однозначно, что в моих программах он работает следующим образом: при запуске программы автоматически выполняется этот код, затем программу можно закрыть. Впоследствии, при двойном щелчке по файлу, с указанным в этом коде расширением файла, открывается моя программа, и ей в качестве параметра командной строки передается имя файла, его программа "вылавливает" с помощью VBA.Command
Winand, извините, но в каком виде Вы получали путь, передаваемый функцией Command$?
П.С.: у меня VBA.Command передает путь в таком же виде, что и Command$.
Кстати, у меня в полученном моей программой пути было "обрублено" расширение файла. В смысле, было расширение в 4 символа (без точки), а в этом пути было только первые 3 символа.