Страница: 1 |
Страница: 1 |
Вопрос: открыть файл из приложения VB6
Добавлено: 19.06.08 00:40
Автор вопроса: anatoliy-2
Добрый день(вечер)! Подскажите пожалуйста как из приложения написанного при помощи VB6 открыть файлы типа *.doc; *.xls; *.mdb; *.bmp и любые другие, то есть так, как это происходит при отрытии файла через мой компютер,-выбрали файл,нажали ENTER и по расширению файла запустилось установленное приложение для данного типа файлов. Спасибо за ответ(ы)!
Анатолий.
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
s12
Вопросов: 24
Ответов: 363
Профиль | | #1
Добавлено: 19.06.08 01:22
Вечный вопрос. Его в факу давно пора.
Const SW_MAXIMIZE = 3
Private Sub Command1_Click()
ShellExecute Form1.hwnd, "open", "C:\temp\1.bmp", 0, 0, SW_MAXIMIZE
'Откроет программу, ассоциированную с расширением bmp и развернёт
'её на весь экран
End Sub
Номер ответа: 2
Автор ответа:
Иван
Вопросов: 34
Ответов: 53
Web-сайт:
Профиль | | #2
Добавлено: 19.06.08 18:19
А если такого файла — 1.bmp — не существует, то просто ничего не произойдет.
Номер ответа: 3
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #3
Добавлено: 19.06.08 19:46
Естественно, а ты что хотел? Чтоб посмотреть код ошибки юзаем GetLastError
Номер ответа: 4
Автор ответа:
anatoliy-2
Вопросов: 12
Ответов: 14
Профиль | | #4
Добавлено: 19.06.08 20:51
Огромное спасибо s12!!! Всё работает.
Номер ответа: 5
Автор ответа:
werber
Вопросов: 71
Ответов: 112
Web-сайт:
Профиль | | #5
Добавлено: 24.06.08 10:26
Кстати, вот мой вариант.
Можно использовать функцию ShellExists, она возвращает присутствие (или отсутствие) файла.
If Len(Dir$(strFileName, vbSystem + vbHidden + vbArchive + vbDirectory + vbNormal + vbReadOnly)) Then
FileExists = True
Else
FileExists = False
End If
End Function
Вот. А вызов зарезервированного приложения для данного типа файла можно сделать через функцию Windows ShellExec_RunDLL:
Сохранить
Shell "rundll32.exe shell32.dll,ShellExec_RunDLL %1"
где вместо %1 - путь до файла. Вот такая вот альтернатива.