Zdravím a prosím o pomoc,
mám následující zdánlivě jednoduchý problém. Mám soubor nápovědy Napoveda.chm, mám na listě tlačítko. Na stisk tlačítka chci zobrazit zmíněnou nápovědu. Dělal jsem to takto
Těch 1001 je číslo topicu, tak jak jsem si ho vytvořil při návrhu nápovědyPrivate Sub CommandButton1_Click()
Application.Help "c:\Temp\Napoveda.chm", 1001
End Sub
Problém je v tom, že se nápověda sice otevře, ale otevře se v okně nápovědy Excelu, tzn. v okně s captionem "Nápověda pro Microsoft Excel" (chci tím říct, že to prostředí je jiné, než když bych tu svou nápovědu otevřel standartně dvojklikem/enterem přímo ve Woknech) což by ještě tak ani nevadilo, ale hlavní problém je v tom, že jsou tam jiné záložky než jsem si definoval ve své nápovědě (měl jsem tam obsah, index a vyhledávání): zde je "Answer wizard" a "index", které se vztahují nikoli k mé nápovědě, ale k nápovědě Excelu (prostě to nevyhledává v mé nápovědě, ale v té Excelovské). Jediné co je správně, tak je záložka Obsah, ale to je asi tak vše. A nemluvím o tom, že jsem si některá standartní tlačítka ve své nápovědě zakázal (zobrazit, skrýt, možnosti...) a nechal jsem si tam jen dopředu, dozadu a tisk. No a v tomto zobrazení jsou tlačítka, která používá excel.
Šel jsem na to tedy jinak. Přes Api.
Problém je, že to hlásí: "...buď není soubor nápovědy, nebo je poškozen"Public Const HELP_CONTEXT = &H1 ' Display topic in ulTopic
Public Const HELP_QUIT = &H2 ' Terminate help
Public Const HELP_INDEX = &H3 ' Display index
Public Const HELP_CONTENTS = &H3&
Public Const HELP_HELPONHELP = &H4 ' Display help on using help
Public Const HELP_SETINDEX = &H5 ' Set current Index for multi index help
Public Const HELP_SETCONTENTS = &H5&
Public Const HELP_CONTEXTPOPUP = &H8&
Public Const HELP_FORCEFILE = &H9&
Public Const HELP_KEY = &H101 ' Display topic for keyword in offabData
Public Const HELP_COMMAND = &H102&
Public Const HELP_PARTIALKEY = &H105&
Public Const HELP_MULTIKEY = &H201&
Public Const HELP_SETWINPOS = &H203&
Public Declare Function WinHelp Lib "user32" Alias "WinHelpA" _
(ByVal hWnd As Long, _
ByVal lpHelpFile As String, _
ByVal wCommand As Long, _
ByVal dwData As Long) _
As Long
Sub MyNapoveda()
Dim iTemp As Long
Dim iContextID As Long
Dim strHelpFile As String
strHelpFile = "c:\Temp\Napoveda.chm"
iContextID = 1010
iTemp = WinHelp(0, strHelpFile, HELP_CONTEXT, iContextID)
End Sub
Private Sub CommandButton1_Click()
MyNapoveda
End Sub
zde jsem se dočetl, že s podporou chm formátu to v Excelu není tak žhavé. Nechce se mi to předělávat do hlp
1)Poradí mi někdo jak na stisk tlačítka tu nápovědu zobrazit
2)Dá se nějak udělat, aby se VŽDY defaultně zobrazovala záložka "Obsah", buď přímo při návrhu nápovědy (používám Help & Manual + HTML workshop), nebo prostřednictvím VBA