Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Iiaison vba excel et un fichier HelpNDoc .chm

cw79

XLDnaute Nouveau
Bonjour,

Après des recherches sur le web je n'ai pas trouvé de solution pour lier un fichier vba excel avec un fichier d'aide .chm produit par HelpNDoc.
La technique qui consiste à faire appel aux instructions suivantes ne fonctionne pas :

VB:
 Dim myHelpFile As String
 
myHelpFile = "D:\OneDrive\Documents\HelpNDoc\Output\Build chm documentation\Tutoriel HelpNDoc.chm"
HTMLHelp 0, myHelpFile, HH_HELP_CONTEXT, 0
avec un contexte d'aide identique dans la procédure d'affichage de l'aide en vba et dans le code généré par HelpNDoc.

Précisions complémentaires l'interfaçage suivant fonctionne mais ne me convient pas (code récup. sur le web) :

Code:
Private Sub CommandButton1_Click()

' source Laurent OTT DVP
' Ouvre le fichier .chm de l'application situé dans le répertoire de l'application.

    Dim StrAide As String
    Dim NomApplication As String

  ' Mémorise le nom de l'application sans son extension:
    NomApplication = Left(ThisWorkbook.Name, InStr(1, ThisWorkbook.Name, ".") - 1)
    StrAide = Application.ThisWorkbook.Path & "\" & NomApplication & ".chm"

    ' Ouvre l'aide si elle est trouvée ou affiche un message d'erreur:
    If Dir(StrAide) = "" Then
        MsgBox "Désolé le fichier d'aide" & StrAide & "n'a pas été trouvé dans le répertoire de l'application:" _
             & Chr(10) & Chr(13) & Chr(10) & Chr(13) _
             & StrAide, vbCritical + vbOKOnly, "Fichier d'aide non trouvé"
    Else
        Application.Help StrAide
    End If
End Sub

D'autre part le compilateur de fichiers d'aide de microsoft est présent sur mon pc. et les fichiers chm générer sont fonctionnel et ils s'ouvrent normalement sur un clic.
Enfin la méthode avec l'utilisation de HTMLHELP fonctionnait encore récemment.

Merci d'avance pour votre aide.
 

patricktoulon

XLDnaute Barbatruc
tu a trouvé la syntaxe ?
exemple
les doubles et triple guillemet à la fin c'est parce que dans le chemin complet il y a des espaces
VB:
Sub test()
Shell ("hh.exe ""C:\Users\polux\DeskTop\exemple et demo api.chm"""), vbNormalNoFocus
End Sub

si on variabilise le chemin
VB:
Sub test()
chemin = "C:\Users\polux\DeskTop\exemple et demo api.chm"
Shell ("hh.exe """ & chemin & """"), vbNormalNoFocus
End Sub
 
Dernière édition:

Discussions similaires

Réponses
7
Affichages
555
Réponses
2
Affichages
619
  • Question
Microsoft 365 Code VBA
Réponses
10
Affichages
718
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…