進階使用者: 須具備專家編碼、 互操作性與多重使用者技巧。

這份文件的 Microsoft Access 97 版本,請參閱141621

摘要

顯示 [另一個視窗中的 [應用程式的線上說明] 系統的一個替代方案是在應用程式中的小型、 灰色快顯視窗中顯示。若要這麼做,您可以使用 Windows API WinHelp() 函式,以其 HELP_CONTEXTPOPUP 引數。本文將告訴您,如何實作這類說明系統。本文假設您已熟悉如何使用 Windows 負號,來建立 Windows 說明檔案。

其他相關資訊

Windows API WinHelp() 函式支援大量的選項。[HELP_CONTEXTPOPUP] 選項會開啟陰影的快顯視窗,您可以在其中顯示說明。此視窗是開啟時按一下 [詞彙項目 (綠色、 加底線的文字),Microsoft Access 說明系統中的視窗中的類似。若要實作這項功能,請依照下列步驟執行:

  • 將您表單的 [說明內文識別碼和說明檔案] 屬性設定為有效的 [Windows 說明] 檔案,以建立將使用中的 [說明] 系統。

  • 重新導向 F1 鍵來開啟使用 HELP_CONTEXTPOPUP 選項的 [說明] 檔案的使用者定義函式的呼叫。

請注意,跳過,或正在分支至其他 [說明] 主題,從快顯視窗的 [說明] 視窗不支援本文所述的方法。 下列步驟說明如何建立使用者定義的函數,以開啟快顯視窗的 [說明] 視窗,以及如何重新導向 F1 鍵:注意: 如果您遵循的步驟,在這個範例中,您會修改範例資料庫 Northwind.mdb。您可以備份北風資料庫檔案,並在資料庫的複本上,請遵循下列步驟。

Access 2000、 Access 2002 和 Access 2003

  1. 啟動 Microsoft Access

  2. 開啟樣本資料庫(northwind.mdb) ] 或 [範例專案NorthwindCS.adp。

  3. 在 [資料庫] 視窗中,按一下 [物件] 區段中下的 [模組]。

  4. 按一下 [New]。

  5. 在 Visual Basic 編輯器] 中,輸入或貼上的宣告區段中的下列程式碼:

    Declare Function WinHelp Lib "user32" Alias "WinHelpA" _                 (ByVal hwnd As Long, _                  ByVal lpHelpFile As String, _                  ByVal wCommand As Long, _                  ByVal dwData As Long) As LongPublic Const HELP_CONTEXTPOPUP = &H8&

    附註: 您可能需要一些 Microsoft Windows API 函式定義在現有的 Microsoft Access 程式庫;因此,您的宣告可能會重複項目。如果您收到重複的程序名稱的錯誤訊息,請移除或標記為註解程式碼中的宣告陳述式。

  6. 加入下列程式碼在 Visual Basic 編輯器] 中:

    Function Help32() As Boolean   On Local Error GoTo Help32_Err   Dim Cid As Long, Result As Long   On Error Resume Next   ' Get the HelpContextID of the active control.   ' The error is 2474 if no control is active.   Cid = Screen.ActiveControl.HelpContextId   If Cid = 0 Then      ' There is no control context ID, so check the form and get      ' the HelpContextID of the active form.      ' The error is 2475 if no form is active.      Cid = Screen.ActiveForm.HelpContextId   End If   ' If there is a context ID, open the Help file with context.   ' Specify your custom Help file for the second argument.   ' This example used the default help file NWIND9.HLP located   ' in the Office Samples folder.    ' If the NWIND9.HLP is not available, then replace the    ' specified path with a valid Winhelp file, and modify the code and     ' the HelpContextID of the Forms and Controls accordingly.   If Cid > 0 And Cid < 32767 Then      Result = WinHelp(Application.hWndAccessApp, _      "C:\Program Files\Microsoft Office\Office\Samples\nwind9.hlp", _      HELP_CONTEXTPOPUP, Cid)      Help32 = True   End IfHelp32_End:   Exit FunctionHelp32_Err:   MsgBox Err.Description   Resume Help32_EndEnd Function
  7. 將模組儲存為HelpModule。

  8. 關閉 Visual Basic 編輯器]。

  9. 在 [資料庫] 視窗中,在 [物件] 區段中,按一下巨集。

  10. 按一下 [New]。

  11. 建立下列新的巨集,將重新導向 F1 鍵: Macro Name Action Action Arguments -------------------------------------------------------- {F1} RunCode Function Name: Help32()

  12. 將巨集儲存為AutoKeys,,,然後關閉 [巨集。

  13. 在 [資料庫] 視窗中,在 [物件] 區段中,按一下 [表單]。

  14. 在右窗格中,按兩下 [供應商]。

  15. 請按 F1 鍵。

請注意,Microsoft Access 會顯示說明訊息中,對應至控制項或表單中的,在快顯方塊中的文字串。

Access 2007

  1. 啟動 Microsoft Access

  2. 開啟範例資料庫 Northwind2007.accdb。

  3. 在 [建立] 索引標籤中,按一下下方 [巨集,向下的箭號,然後按一下模組

  4. 在 Visual Basic 編輯器] 中,貼上下列程式碼範例的宣告區段中。

    Declare Function WinHelp Lib "user32" Alias "WinHelpA" _                 (ByVal hwnd As Long, _                  ByVal lpHelpFile As String, _                  ByVal wCommand As Long, _                  ByVal dwData As Long) As LongPublic Const HELP_CONTEXTPOPUP = &H8&

    附註您可能需要一些 Microsoft Windows API 函式定義在現有的 Microsoft Access 程式庫;因此,您的宣告可能會重複項目。如果您收到重複的程序名稱的錯誤訊息,請移除或標記為註解程式碼中的宣告陳述式。

  5. 新增下列程式碼範例在 Visual Basic 編輯器] 中。

    Function Help32() As Boolean   On Local Error GoTo Help32_Err   Dim Cid As Long, Result As Long   On Error Resume Next   ' Get the HelpContextID of the active control.   ' The error is 2474 if no control is active.   Cid = Screen.ActiveControl.HelpContextId   If Cid = 0 Then      ' There is no control context ID, so check the form and get      ' the HelpContextID of the active form.      ' The error is 2475 if no form is active.      Cid = Screen.ActiveForm.HelpContextId   End If   ' If there is a context ID, open the Help file with context.   ' Specify your custom Help file for the second argument.   ' This example used the default help file NWIND9.HLP located   ' in the Office Samples folder.    ' If the NWIND9.HLP is not available, then replace the    ' specified path with a valid Winhelp file, and modify the code and     ' the HelpContextID of the Forms and Controls accordingly.   If Cid > 0 And Cid < 32767 Then      Result = WinHelp(Application.hWndAccessApp, _      "C:\Program Files\Microsoft Office\Office\Samples\nwind9.hlp", _      HELP_CONTEXTPOPUP, Cid)      Help32 = True   End IfHelp32_End:   Exit FunctionHelp32_Err:   MsgBox Err.Description   Resume Help32_EndEnd Function
  6. 將模組儲存為 HelpModule。

  7. 關閉 Visual Basic 編輯器]。

  8. 按一下 [建立] 索引標籤的 [巨集]。

  9. 建立下列新的巨集,將重新導向 F1 鍵: Macro Name Action Action Arguments -------------------------------------------------------- {F1} RunCode Function Name: Help32()

  10. 將巨集儲存為 AutoKeys,,,然後關閉 [巨集。

  11. 按一下左窗格中的 [供應商]。

  12. 在左窗格中,按兩下 [供應商清單]。

  13. 請按 F1 鍵。

請注意,Microsoft Access 會顯示說明訊息中,對應至控制項或表單中的,在快顯方塊中的文字串。

參考

如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

828419如何使用 HTMLHelp API 或 HTML 說明在 Access 中建立 HTML 說明系統

242433如何建立即時線上的 HTML 說明檔

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×