Тема: Открытие файла справки/инструкции для чтения пользователю

Добрый вечер!
Как в меню (*.mnu) открыть файл справки?
Т.е. выбирает пользователь пункт меню, а там открывается документ со справкой (текст и картинки, хоть в каком-нибудь формате)
Или путь не через меню, ну через Vba-формочку  (либо объект, который отображает документ, или какой-другой функцией).

Re: Открытие файла справки/инструкции для чтения пользователю

> Mbus
В определенной степени зависит от формата этого самого файла Справки.
Если Справка в формате Word.doc
-------------------------------------------------------------------------------

    Dim WordApp As Object
    Dim MyDoc As Object
    On Error Resume Next
    Set WordApp = CreateObject("Word.Application")
    'получить полное имя файла
    Dim FullName As String
   FullName = "D:\Help\MyHelp.doc"
    WordApp.Documents.Open (FullName)
    WordApp.Visible = True

-------------------------------------------------------------------------------
Если Справка в формате .chm

'запустить исполняемый файл
FullName = "D:\Help\MyHelp.chm"
Dim retval As Double
retval = 0
retval = Shell(FullName)

-------------------------------------------------------------------------------
Вариант при котором вся программа на VB скомпонована в виде исполняемого exe-файла.
Справочную систему загоняем в ресурсы. Здесь использованы растровые файлы в формате .gif.
К проекту необходимо подключить библиотеку: MS Internet Controls

'заполнить массив элементов для отображения
    ImgArray(0) = "img0.gif"
    ImgArray(1) = "img1.gif"
    ImgArray(2) = "img2.gif"
    ImgArray(3) = "img3.gif"
'подключить справочную систему
    path = App.path & "\" & App.EXEName & ".exe/HTML/"
    Me.WebBrowser_Help.Resizable = True

Кроме того, можно настроить соответствующим образом проект. В Свойствах проекта в поле Help File Name указать имя исполняемого файла Справки. В этом случае файл открывается по клавише F1.

Re: Открытие файла справки/инструкции для чтения пользователю

Вдогонку.
Упустил главную процедуру по работе со Справкой в ресурсах.
Вот она:

Private Sub ImgNavigate(i As Integer)
    Me.WebBrowser_Help.Navigate "res://" & path & ImgArray(i)
End Sub

Re: Открытие файла справки/инструкции для чтения пользователю

> LeonidSN
Спасибо!
Для тех, кто тоже самое  ищет. Я еще вот такой способ нашла:

Option Explicit
Private Declare Function ShellExecute Lib "Shell32.dll" Alias "ShellExecuteA" (ByVal hWnd&, ByVal lpOperation$, ByVal lpFile$, ByVal lpParameters$, ByVal lpDirectory$, ByVal nShowCmd&) As Long
'открытие файла
Sub OpenFile(f As String)
Call ShellExecute(0, "open", f, "", "",1)
End Sub

в переменную f передается путь к любому (с любым расширением) файлу.

Re: Открытие файла справки/инструкции для чтения пользователю

> Mbus
Для проверки исполнения можно использовать возвращаемое значение функции, например:

Dim retval As Long
    retval = 0
    If (FullName <> "") Then
       retval = ShellExecute(0, "open", FullName, "", "", SW_SHOWNORMAL)
       If Not (retval > 32) Then
            MsgBox "Help is fail." & vbCrLf & "Try to start an file: " & FullName & " manually"
        End If
    End If