Как открыть файлы в соответствующих приложениях через VB?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
SHoK
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 19.11.2004 (Пт) 23:43

Как открыть файлы в соответствующих приложениях через VB?

Сообщение SHoK » 26.11.2004 (Пт) 22:25

Хочу на форме разместить несколько, скажем commandbutton

как при нажатии на соответствующую кнопку открыть файл в соответствующем приложении
скажем:

commandbutton1 открывает документ ворд в microsoft word
commandbutton2 открывает mydb.mdb в microsoft access
commandbutton3 открывает myERD.er1 в ERWIN

(естественно MsOffice и ERWIN установлены на компе!)

можно это как-то сделать, как обычно они обычно открываются в проводнике по клику мыши? то есть не писать такого C:\Program Files\MSWORD.exe document.doc, постольку поскольку пути к пакету МС Оффис на разных компах - разные!

Заранее благодарен!

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 26.11.2004 (Пт) 22:32

ShellExecute

SHoK
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 19.11.2004 (Пт) 23:43

Сообщение SHoK » 26.11.2004 (Пт) 22:41

Private Sub Commandbutton1_Click()
shellExecute ".\document.doc"
End Sub

так?

SHoK
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 19.11.2004 (Пт) 23:43

Сообщение SHoK » 26.11.2004 (Пт) 22:45

он говорит на ShellExecute - sub or function not defined

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 26.11.2004 (Пт) 22:49

Ясен пень, потому что это функция API, а не VB. Про оператор Declare слыхал? Вот он здесь и нужен. Запускай API Viewer (или лезь в API-Guide, если есть - а должен быть) и оттуда вытаскивай объявление этой функции. После чего все будет нормально работать...

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 26.11.2004 (Пт) 22:51

Код: Выделить всё
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Const SW_SHOWNORMAL = 1

Private Sub Form_Load()
    ShellExecute Me.hwnd, vbNullString, App.Path & "\document.doc", vbNullString, App.Path, SW_SHOWNORMAL
End Sub

SHoK
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 19.11.2004 (Пт) 23:43

Сообщение SHoK » 26.11.2004 (Пт) 22:57

Спасибо большое, всё отлично работает!

Janyzak
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 08.08.2005 (Пн) 22:45
Откуда: Kyrgyzstan, Bishkek

Сообщение Janyzak » 08.08.2005 (Пн) 23:18

Точно такой же вопрос у меня.
Тут я написал маленький учебник по вводу в компьютер национальной раскладки клавиатуры и установки кыргызских шрифтов.
Книжка с компакт-диском задумана.
Компашку хотел сделать CD-run.

Перепробовал несколько таких программ, которые делают запуск.
AutoPlay Menu Builder v4.1 , например.
Но они создают меню с caption, а мне бы хотелось, чтобы было чисто, как у Alexsoft'а..

Вот картинка программки CD_run на VB:

Изображение

Книжка двуязычная. Тут я нажимаю на кнопку "Учебник", что должна была бы открыть учебный файл 1.htm, но ссылка не идет.
И не знаю, как открыть программно в VB файл учебника 1.htm в том же каталоге, где программка CD_run.

Вот запись кодов для тех, кто может помочь сделать ссылку на файл "1.htm".

Option Explicit
Private Sub Image1_Click()
End
End Sub
------------

Private Sub Image3_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image3.Picture = _
LoadPicture("D:\ my_doc\ buisnes\_my_business\my_kitep\1_my_book\bk_kbd\CD_vb_run\button\oku_kg_3.gif")
Image3.Visible = True

End Sub
--------------

Private Sub Image3_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image3.Picture = _
LoadPicture("D:\ my_doc\ buisnes\_my_business\my_kitep\1_my_book\bk_kbd\CD_vb_run\button\oku_kg_2.gif")
Image3.Visible = True

End Sub
---------------------


Private Sub Image2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim sFileName As String
Image2.Picture = _
LoadPicture("D:\ my_doc\ buisnes\_my_business\my_kitep\1_my_book\bk_kbd\CD_vb_run\button\oku_ru_3.gif")
Image2.Visible = True

ShellExecute Me.hwnd, vbNullString, App.Path & "\1.htm", vbNullString, App.Path, SW_SHOWNORMAL (Это была попытка использования Вашей рекомендации, но увы..)
End Sub
-------------------

Private Sub Image2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image2.Picture = _
LoadPicture("D:\ my_doc\ buisnes\_my_business\my_kitep\1_my_book\bk_kbd\CD_vb_run\button\oku_ru_2.gif")
Image2.Visible = True

End Sub


И вообще:
как сделать ссылки на внешние файлы в VB?

Спасибо за возможные ответы.
Janyzak
iz Kyrgyzstana


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 128

    TopList