Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Help.chm.............kill

6 réponses
Avatar
jfd
Bonsoir
Access 2003
Deux fichiers d’aide en chm, l’ un français l’autre Anglais.
Sur click :

Private Sub Commande52_Click()
On Error GoTo Err_Commande52_Click
DoCmd.SetWarnings False
If Dir("C:\Program Files\NRS\recettes.chm") <> "" Then
Kill ("C:\Program Files\NRS\recettes.chm")
' "C:\Program Files\NRS\NRCab\Pictures.EXE"/C /T:"C:\Program
Files\NRS\NRPhotos"
Call Shell("""C:\Program Files\NRS\NRCab\Frchm.EXE""/C /T:""C:\Program
Files\NRS""", 1)
DoCmd.SetWarnings True
End If
Exit_Commande52_Click:
Exit Sub
Err_Commande52_Click:
MsgBox "Fermer le fichier d'aide. / Close the help file. ",
vbInformation + vbOKOnly, "Net-Recipe"
Resume Exit_Commande52_Click
Premier click tout est ok chargement du fichier FR ou EN OK mais après il
doit rester en mémoire quelque part et sur le gestionnaire de tache « Aller
dans le processus » me renvoi sous « MSACCESS.exe »
J’ai essayé « Kill » pour hh,htlm,… mais pas kill ACCESS quandmême !!!:-)
Est-ce quelqu’un à une idée pour cela.
Merci

6 réponses

Avatar
Gilbert
Bonjour,

Je n'ai pas d'idée mais je n'ai pas compris non plus.
Que se passe-t-il au deuxième clic?

--
Cordialement,

Gilbert


"jfd" a écrit dans le message de
news:
Bonsoir
Access 2003
Deux fichiers d'aide en chm, l' un français l'autre Anglais.
Sur click :

Private Sub Commande52_Click()
On Error GoTo Err_Commande52_Click
DoCmd.SetWarnings False
If Dir("C:Program FilesNRSrecettes.chm") <> "" Then
Kill ("C:Program FilesNRSrecettes.chm")
' "C:Program FilesNRSNRCabPictures.EXE"/C /T:"C:Program
FilesNRSNRPhotos"
Call Shell("""C:Program FilesNRSNRCabFrchm.EXE""/C /T:""C:Program
FilesNRS""", 1)
DoCmd.SetWarnings True
End If
Exit_Commande52_Click:
Exit Sub
Err_Commande52_Click:
MsgBox "Fermer le fichier d'aide. / Close the help file. ",
vbInformation + vbOKOnly, "Net-Recipe"
Resume Exit_Commande52_Click
Premier click tout est ok chargement du fichier FR ou EN OK mais après il
doit rester en mémoire quelque part et sur le gestionnaire de tache «


Aller
dans le processus » me renvoi sous « MSACCESS.exe »
J'ai essayé « Kill » pour hh,htlm,. mais pas kill ACCESS quandmême !!!:-)
Est-ce quelqu'un à une idée pour cela.
Merci



Avatar
jfd
Bonjour Gilbert et merci
Au deuxième clic ou clic autre langue
Mon message : MsgBox "Fermer le fichier d'aide. / Close the help file. "
Mais il est déjà fermé.
Observations :
1_Si j’ouvre mon fichier d’aide par mon application et que je regarde dans
le gestionnaire de tache le fichier d’aide apparait sur l’onglet application,
si je clique dessus option « aller dans le processus » il pointe sur
MSACCESS.EXE
2_Si j’ouvre le même fichier d’aide directement en cliquant sur mon fichier
chm et que je regarde dans le gestionnaire de tache le fichier d’aide
apparait sur l’onglet application, si je clique dessus option « aller dans
le processus » il pointe sur hh.EXE
Voila pourquoi je ne peux pas changer de langue une deuxième fois, je
n’arrive pas à fermer le processus « fichier aide » puisqu’il semble être lu
directement par ACCESS
Alors je reste à l’écoute de toutes suggestions.
Bonne journée
jfd

"Gilbert" a écrit :

Bonjour,

Je n'ai pas d'idée mais je n'ai pas compris non plus.
Que se passe-t-il au deuxième clic?

--
Cordialement,

Gilbert


"jfd" a écrit dans le message de
news:
> Bonsoir
> Access 2003
> Deux fichiers d'aide en chm, l' un français l'autre Anglais.
> Sur click :
>
> Private Sub Commande52_Click()
> On Error GoTo Err_Commande52_Click
> DoCmd.SetWarnings False
> If Dir("C:Program FilesNRSrecettes.chm") <> "" Then
> Kill ("C:Program FilesNRSrecettes.chm")
> ' "C:Program FilesNRSNRCabPictures.EXE"/C /T:"C:Program
> FilesNRSNRPhotos"
> Call Shell("""C:Program FilesNRSNRCabFrchm.EXE""/C /T:""C:Program
> FilesNRS""", 1)
> DoCmd.SetWarnings True
> End If
> Exit_Commande52_Click:
> Exit Sub
> Err_Commande52_Click:
> MsgBox "Fermer le fichier d'aide. / Close the help file. ",
> vbInformation + vbOKOnly, "Net-Recipe"
> Resume Exit_Commande52_Click
> Premier click tout est ok chargement du fichier FR ou EN OK mais après il
> doit rester en mémoire quelque part et sur le gestionnaire de tache «
Aller
> dans le processus » me renvoi sous « MSACCESS.exe »
> J'ai essayé « Kill » pour hh,htlm,. mais pas kill ACCESS quandmême !!!:-)
> Est-ce quelqu'un à une idée pour cela.
> Merci
>





Avatar
Gilbert
Je n'ai jamais essayé de changer de fichier d'aide dans une application,
mais voici comment je procède:

*************
Pour ouvrir le fichier d'aide à partir du menu ou d'un bouton j'utilise
Private Sub Cmd_Aide_Click()
Afficher_Rubriques_Aide (Me.hwnd)
End Sub

La procédure appelée (dans un module) qui utilise
Public Sub Afficher_Rubriques_Aide(ByVal hwnd As Long)
Dim r%
r% = WinHelp(hwnd, Fichier_Aide, Help_Finder, ByVal 0&)
End Sub

et la déclaration (dans le même ou un autre module)
Declare Function WinHelp Lib "user32" Alias "WinHelpA" (ByVal hwnd As Long,
ByVal HlpFile As String, ByVal wCmd As Long, dwData As Any) As Long

*************
Pour ouvrir l'aide sur une page spécifique (à un formulaire par exemple)
j'utilise

Private Sub Form_Open(Cancel As Integer)
Me.HelpFile = Fichier_Aide
End Sub

Private Sub Cmd_Aide_Click()
AfficherAideAPI
End Sub

Function AfficherAideAPI() As Boolean
' Cette procédure est utilisée par le bouton Montrez-moi dans diverses
' barres d'outils de Solutions du développeur. Elle utilise la fonction
' API WinHelp de telle sorte que le bouton Montrez-moi apportera une
aide
' contextuelle par rapport à l'état courant de l'objet. Vérifiez que
' le fichier d'aide est bien dans le même répertoire que la base de
' données Solutions du développeur

Dim lnghWnd As Long
Dim chFichierAide As String
Dim lngContext As Long
Dim lngValRet As Long
Dim obj As Object

On Error Resume Next
Const conContextAide = &H1
Set obj = Screen.ActiveForm

If err = 2475 Then
' L'objet actif n'est pas un formulaire.
' Réinitialise Err et teste si c'est un état.
err = 0
Set obj = Screen.ActiveReport
If err = 2476 Then
' L'objet courant n'est ni un état, ni un formulaire.
MsgBox "Sélectionnez un formulaire ou un état avant de
demander de l'aide.", vbExclamation
AfficherAideAPI = False
Exit Function
End If
End If

With obj
' Récupère le hWnd, le FichierAide et la propriété ContextAideID de
l'objet courant.
lnghWnd = .hwnd
chFichierAide = .HelpFile
lngContext = .HelpContextId
End With

lngValRet = WinHelp(lnghWnd, chFichierAide, conContextAide, lngContext)
AfficherAideAPI = True
Set obj = Nothing
End Function

************
A l'ouverture de la base j'initialise la variable
Fichier_Aide = Dossier & "Fichier.hlp"
Rien n'empêche de réinitialiser cette variable à tout moment pour utiliser
une autre langue comme tu veux le faire.

--
Cordialement,

Gilbert


"jfd" a écrit dans le message de
news:
Bonjour Gilbert et merci
Au deuxième clic ou clic autre langue
Mon message : MsgBox "Fermer le fichier d'aide. / Close the help file. "
Mais il est déjà fermé.
Observations :
1_Si j'ouvre mon fichier d'aide par mon application et que je regarde


dans
le gestionnaire de tache le fichier d'aide apparait sur l'onglet


application,
si je clique dessus option « aller dans le processus » il pointe sur
MSACCESS.EXE
2_Si j'ouvre le même fichier d'aide directement en cliquant sur mon


fichier
chm et que je regarde dans le gestionnaire de tache le fichier d'aide
apparait sur l'onglet application, si je clique dessus option « aller


dans
le processus » il pointe sur hh.EXE
Voila pourquoi je ne peux pas changer de langue une deuxième fois, je
n'arrive pas à fermer le processus « fichier aide » puisqu'il semble être


lu
directement par ACCESS
Alors je reste à l'écoute de toutes suggestions.
Bonne journée
jfd

"Gilbert" a écrit :

> Bonjour,
>
> Je n'ai pas d'idée mais je n'ai pas compris non plus.
> Que se passe-t-il au deuxième clic?
>
> --
> Cordialement,
>
> Gilbert
>
>
> "jfd" a écrit dans le message de
> news:
> > Bonsoir
> > Access 2003
> > Deux fichiers d'aide en chm, l' un français l'autre Anglais.
> > Sur click :
> >
> > Private Sub Commande52_Click()
> > On Error GoTo Err_Commande52_Click
> > DoCmd.SetWarnings False
> > If Dir("C:Program FilesNRSrecettes.chm") <> "" Then
> > Kill ("C:Program FilesNRSrecettes.chm")
> > ' "C:Program FilesNRSNRCabPictures.EXE"/C /T:"C:Program
> > FilesNRSNRPhotos"
> > Call Shell("""C:Program FilesNRSNRCabFrchm.EXE""/C


/T:""C:Program
> > FilesNRS""", 1)
> > DoCmd.SetWarnings True
> > End If
> > Exit_Commande52_Click:
> > Exit Sub
> > Err_Commande52_Click:
> > MsgBox "Fermer le fichier d'aide. / Close the help file. ",
> > vbInformation + vbOKOnly, "Net-Recipe"
> > Resume Exit_Commande52_Click
> > Premier click tout est ok chargement du fichier FR ou EN OK mais après


il
> > doit rester en mémoire quelque part et sur le gestionnaire de tache «
> Aller
> > dans le processus » me renvoi sous « MSACCESS.exe »
> > J'ai essayé « Kill » pour hh,htlm,. mais pas kill ACCESS quandmême


!!!:-)
> > Est-ce quelqu'un à une idée pour cela.
> > Merci
> >
>
>
>


Avatar
jfd
Re bonjour Gilbert et merci de ton aide
Cette réponse m’à fait rechercher comment était appelé mon fichier et
surtout me fait entrevoir une autre solution
-------------
Private Sub Commande1641_Click()
Help_Show CurrentProject.Path & "recettes.chm", 104
End Sub
---------------
Comment puis-je remplacer le «recettes.chm» par la valeur d’une zone de
texte, contenue dans mon formulaire principal (toujours ouvert) ?
L’idée étant clic sur drapeau 1 Zone de texte valeur FRrecettes.chm, clic
sur drapeau 2 Zone de texte valeur ENrecettes.chm. Je dois savoir faire cela
mais le «recettes.chm» me pose problème.
Merci de ton aide
jfd


"Gilbert" a écrit :

Je n'ai jamais essayé de changer de fichier d'aide dans une application,
mais voici comment je procède:

*************
Pour ouvrir le fichier d'aide à partir du menu ou d'un bouton j'utilise
Private Sub Cmd_Aide_Click()
Afficher_Rubriques_Aide (Me.hwnd)
End Sub

La procédure appelée (dans un module) qui utilise
Public Sub Afficher_Rubriques_Aide(ByVal hwnd As Long)
Dim r%
r% = WinHelp(hwnd, Fichier_Aide, Help_Finder, ByVal 0&)
End Sub

et la déclaration (dans le même ou un autre module)
Declare Function WinHelp Lib "user32" Alias "WinHelpA" (ByVal hwnd As Long,
ByVal HlpFile As String, ByVal wCmd As Long, dwData As Any) As Long

*************
Pour ouvrir l'aide sur une page spécifique (à un formulaire par exemple)
j'utilise

Private Sub Form_Open(Cancel As Integer)
Me.HelpFile = Fichier_Aide
End Sub

Private Sub Cmd_Aide_Click()
AfficherAideAPI
End Sub

Function AfficherAideAPI() As Boolean
' Cette procédure est utilisée par le bouton Montrez-moi dans diverses
' barres d'outils de Solutions du développeur. Elle utilise la fonction
' API WinHelp de telle sorte que le bouton Montrez-moi apportera une
aide
' contextuelle par rapport à l'état courant de l'objet. Vérifiez que
' le fichier d'aide est bien dans le même répertoire que la base de
' données Solutions du développeur

Dim lnghWnd As Long
Dim chFichierAide As String
Dim lngContext As Long
Dim lngValRet As Long
Dim obj As Object

On Error Resume Next
Const conContextAide = &H1
Set obj = Screen.ActiveForm

If err = 2475 Then
' L'objet actif n'est pas un formulaire.
' Réinitialise Err et teste si c'est un état.
err = 0
Set obj = Screen.ActiveReport
If err = 2476 Then
' L'objet courant n'est ni un état, ni un formulaire.
MsgBox "Sélectionnez un formulaire ou un état avant de
demander de l'aide.", vbExclamation
AfficherAideAPI = False
Exit Function
End If
End If

With obj
' Récupère le hWnd, le FichierAide et la propriété ContextAideID de
l'objet courant.
lnghWnd = .hwnd
chFichierAide = .HelpFile
lngContext = .HelpContextId
End With

lngValRet = WinHelp(lnghWnd, chFichierAide, conContextAide, lngContext)
AfficherAideAPI = True
Set obj = Nothing
End Function

************
A l'ouverture de la base j'initialise la variable
Fichier_Aide = Dossier & "Fichier.hlp"
Rien n'empêche de réinitialiser cette variable à tout moment pour utiliser
une autre langue comme tu veux le faire.

--
Cordialement,

Gilbert


"jfd" a écrit dans le message de
news:
> Bonjour Gilbert et merci
> Au deuxième clic ou clic autre langue
> Mon message : MsgBox "Fermer le fichier d'aide. / Close the help file. "
> Mais il est déjà fermé.
> Observations :
> 1_Si j'ouvre mon fichier d'aide par mon application et que je regarde
dans
> le gestionnaire de tache le fichier d'aide apparait sur l'onglet
application,
> si je clique dessus option « aller dans le processus » il pointe sur
> MSACCESS.EXE
> 2_Si j'ouvre le même fichier d'aide directement en cliquant sur mon
fichier
> chm et que je regarde dans le gestionnaire de tache le fichier d'aide
> apparait sur l'onglet application, si je clique dessus option « aller
dans
> le processus » il pointe sur hh.EXE
> Voila pourquoi je ne peux pas changer de langue une deuxième fois, je
> n'arrive pas à fermer le processus « fichier aide » puisqu'il semble être
lu
> directement par ACCESS
> Alors je reste à l'écoute de toutes suggestions.
> Bonne journée
> jfd
>
> "Gilbert" a écrit :
>
> > Bonjour,
> >
> > Je n'ai pas d'idée mais je n'ai pas compris non plus.
> > Que se passe-t-il au deuxième clic?
> >
> > --
> > Cordialement,
> >
> > Gilbert
> >
> >
> > "jfd" a écrit dans le message de
> > news:
> > > Bonsoir
> > > Access 2003
> > > Deux fichiers d'aide en chm, l' un français l'autre Anglais.
> > > Sur click :
> > >
> > > Private Sub Commande52_Click()
> > > On Error GoTo Err_Commande52_Click
> > > DoCmd.SetWarnings False
> > > If Dir("C:Program FilesNRSrecettes.chm") <> "" Then
> > > Kill ("C:Program FilesNRSrecettes.chm")
> > > ' "C:Program FilesNRSNRCabPictures.EXE"/C /T:"C:Program
> > > FilesNRSNRPhotos"
> > > Call Shell("""C:Program FilesNRSNRCabFrchm.EXE""/C
/T:""C:Program
> > > FilesNRS""", 1)
> > > DoCmd.SetWarnings True
> > > End If
> > > Exit_Commande52_Click:
> > > Exit Sub
> > > Err_Commande52_Click:
> > > MsgBox "Fermer le fichier d'aide. / Close the help file. ",
> > > vbInformation + vbOKOnly, "Net-Recipe"
> > > Resume Exit_Commande52_Click
> > > Premier click tout est ok chargement du fichier FR ou EN OK mais après
il
> > > doit rester en mémoire quelque part et sur le gestionnaire de tache «
> > Aller
> > > dans le processus » me renvoi sous « MSACCESS.exe »
> > > J'ai essayé « Kill » pour hh,htlm,. mais pas kill ACCESS quandmême
!!!:-)
> > > Est-ce quelqu'un à une idée pour cela.
> > > Merci
> > >
> >
> >
> >





Avatar
Gilbert
Soit tu mets
Help_Show CurrentProject.Path & "" & Forms!LeNomDuFormulaire!LaZoneDeTexte,
104


Soit tu déclares une variable globale comme
Dim NomFichierAide as string

Sur clic drapeau 1 tu mets
NomFichierAide = "FRrecettes.chm"
Sur clic drapeau 2 tu mets
NomFichierAide = "ENrecettes.chm"
et tu modifies ta ligne comme ça
Help_Show CurrentProject.Path & "" & NomFichierAide , 104

et dans ce cas tu peux te passer de la zone de texte (si elle ne te sert
qu'à ça)

--
Cordialement,

Gilbert


"jfd" a écrit dans le message de
news:
Re bonjour Gilbert et merci de ton aide
Cette réponse m'à fait rechercher comment était appelé mon fichier et
surtout me fait entrevoir une autre solution
-------------
Private Sub Commande1641_Click()
Help_Show CurrentProject.Path & "recettes.chm", 104
End Sub
---------------
Comment puis-je remplacer le «recettes.chm» par la valeur d'une zone de
texte, contenue dans mon formulaire principal (toujours ouvert) ?
L'idée étant clic sur drapeau 1 Zone de texte valeur FRrecettes.chm, clic
sur drapeau 2 Zone de texte valeur ENrecettes.chm. Je dois savoir faire


cela
mais le «recettes.chm» me pose problème.
Merci de ton aide
jfd


"Gilbert" a écrit :

> Je n'ai jamais essayé de changer de fichier d'aide dans une application,
> mais voici comment je procède:
>
> *************
> Pour ouvrir le fichier d'aide à partir du menu ou d'un bouton j'utilise
> Private Sub Cmd_Aide_Click()
> Afficher_Rubriques_Aide (Me.hwnd)
> End Sub
>
> La procédure appelée (dans un module) qui utilise
> Public Sub Afficher_Rubriques_Aide(ByVal hwnd As Long)
> Dim r%
> r% = WinHelp(hwnd, Fichier_Aide, Help_Finder, ByVal 0&)
> End Sub
>
> et la déclaration (dans le même ou un autre module)
> Declare Function WinHelp Lib "user32" Alias "WinHelpA" (ByVal hwnd As


Long,
> ByVal HlpFile As String, ByVal wCmd As Long, dwData As Any) As Long
>
> *************
> Pour ouvrir l'aide sur une page spécifique (à un formulaire par exemple)
> j'utilise
>
> Private Sub Form_Open(Cancel As Integer)
> Me.HelpFile = Fichier_Aide
> End Sub
>
> Private Sub Cmd_Aide_Click()
> AfficherAideAPI
> End Sub
>
> Function AfficherAideAPI() As Boolean
> ' Cette procédure est utilisée par le bouton Montrez-moi dans


diverses
> ' barres d'outils de Solutions du développeur. Elle utilise la


fonction
> ' API WinHelp de telle sorte que le bouton Montrez-moi apportera une
> aide
> ' contextuelle par rapport à l'état courant de l'objet. Vérifiez que
> ' le fichier d'aide est bien dans le même répertoire que la base de
> ' données Solutions du développeur
>
> Dim lnghWnd As Long
> Dim chFichierAide As String
> Dim lngContext As Long
> Dim lngValRet As Long
> Dim obj As Object
>
> On Error Resume Next
> Const conContextAide = &H1
> Set obj = Screen.ActiveForm
>
> If err = 2475 Then
> ' L'objet actif n'est pas un formulaire.
> ' Réinitialise Err et teste si c'est un état.
> err = 0
> Set obj = Screen.ActiveReport
> If err = 2476 Then
> ' L'objet courant n'est ni un état, ni un formulaire.
> MsgBox "Sélectionnez un formulaire ou un état avant de
> demander de l'aide.", vbExclamation
> AfficherAideAPI = False
> Exit Function
> End If
> End If
>
> With obj
> ' Récupère le hWnd, le FichierAide et la propriété ContextAideID


de
> l'objet courant.
> lnghWnd = .hwnd
> chFichierAide = .HelpFile
> lngContext = .HelpContextId
> End With
>
> lngValRet = WinHelp(lnghWnd, chFichierAide, conContextAide,


lngContext)
> AfficherAideAPI = True
> Set obj = Nothing
> End Function
>
> ************
> A l'ouverture de la base j'initialise la variable
> Fichier_Aide = Dossier & "Fichier.hlp"
> Rien n'empêche de réinitialiser cette variable à tout moment pour


utiliser
> une autre langue comme tu veux le faire.
>
> --
> Cordialement,
>
> Gilbert
>
>
> "jfd" a écrit dans le message de
> news:
> > Bonjour Gilbert et merci
> > Au deuxième clic ou clic autre langue
> > Mon message : MsgBox "Fermer le fichier d'aide. / Close the help file.


"
> > Mais il est déjà fermé.
> > Observations :
> > 1_Si j'ouvre mon fichier d'aide par mon application et que je regarde
> dans
> > le gestionnaire de tache le fichier d'aide apparait sur l'onglet
> application,
> > si je clique dessus option « aller dans le processus » il pointe sur
> > MSACCESS.EXE
> > 2_Si j'ouvre le même fichier d'aide directement en cliquant sur mon
> fichier
> > chm et que je regarde dans le gestionnaire de tache le fichier d'aide
> > apparait sur l'onglet application, si je clique dessus option « aller
> dans
> > le processus » il pointe sur hh.EXE
> > Voila pourquoi je ne peux pas changer de langue une deuxième fois, je
> > n'arrive pas à fermer le processus « fichier aide » puisqu'il semble


être
> lu
> > directement par ACCESS
> > Alors je reste à l'écoute de toutes suggestions.
> > Bonne journée
> > jfd
> >
> > "Gilbert" a écrit :
> >
> > > Bonjour,
> > >
> > > Je n'ai pas d'idée mais je n'ai pas compris non plus.
> > > Que se passe-t-il au deuxième clic?
> > >
> > > --
> > > Cordialement,
> > >
> > > Gilbert
> > >
> > >
> > > "jfd" a écrit dans le message de
> > > news:
> > > > Bonsoir
> > > > Access 2003
> > > > Deux fichiers d'aide en chm, l' un français l'autre Anglais.
> > > > Sur click :
> > > >
> > > > Private Sub Commande52_Click()
> > > > On Error GoTo Err_Commande52_Click
> > > > DoCmd.SetWarnings False
> > > > If Dir("C:Program FilesNRSrecettes.chm") <> "" Then
> > > > Kill ("C:Program FilesNRSrecettes.chm")
> > > > ' "C:Program FilesNRSNRCabPictures.EXE"/C /T:"C:Program
> > > > FilesNRSNRPhotos"
> > > > Call Shell("""C:Program FilesNRSNRCabFrchm.EXE""/C
> /T:""C:Program
> > > > FilesNRS""", 1)
> > > > DoCmd.SetWarnings True
> > > > End If
> > > > Exit_Commande52_Click:
> > > > Exit Sub
> > > > Err_Commande52_Click:
> > > > MsgBox "Fermer le fichier d'aide. / Close the help file. ",
> > > > vbInformation + vbOKOnly, "Net-Recipe"
> > > > Resume Exit_Commande52_Click
> > > > Premier click tout est ok chargement du fichier FR ou EN OK mais


après
> il
> > > > doit rester en mémoire quelque part et sur le gestionnaire de


tache «
> > > Aller
> > > > dans le processus » me renvoi sous « MSACCESS.exe »
> > > > J'ai essayé « Kill » pour hh,htlm,. mais pas kill ACCESS quandmême
> !!!:-)
> > > > Est-ce quelqu'un à une idée pour cela.
> > > > Merci
> > > >
> > >
> > >
> > >
>
>
>


Avatar
jfd
Un grand merci Gilbert pour cette aide.
Je cours essayer cela.
Bonne soirée
Cordialement
jfd


"Gilbert" a écrit :

Soit tu mets
Help_Show CurrentProject.Path & "" & Forms!LeNomDuFormulaire!LaZoneDeTexte,
104


Soit tu déclares une variable globale comme
Dim NomFichierAide as string

Sur clic drapeau 1 tu mets
NomFichierAide = "FRrecettes.chm"
Sur clic drapeau 2 tu mets
NomFichierAide = "ENrecettes.chm"
et tu modifies ta ligne comme ça
Help_Show CurrentProject.Path & "" & NomFichierAide , 104

et dans ce cas tu peux te passer de la zone de texte (si elle ne te sert
qu'à ça)

--
Cordialement,

Gilbert


"jfd" a écrit dans le message de
news:
> Re bonjour Gilbert et merci de ton aide
> Cette réponse m'à fait rechercher comment était appelé mon fichier et
> surtout me fait entrevoir une autre solution
> -------------
> Private Sub Commande1641_Click()
> Help_Show CurrentProject.Path & "recettes.chm", 104
> End Sub
> ---------------
> Comment puis-je remplacer le «recettes.chm» par la valeur d'une zone de
> texte, contenue dans mon formulaire principal (toujours ouvert) ?
> L'idée étant clic sur drapeau 1 Zone de texte valeur FRrecettes.chm, clic
> sur drapeau 2 Zone de texte valeur ENrecettes.chm. Je dois savoir faire
cela
> mais le «recettes.chm» me pose problème.
> Merci de ton aide
> jfd
>
>
> "Gilbert" a écrit :
>
> > Je n'ai jamais essayé de changer de fichier d'aide dans une application,
> > mais voici comment je procède:
> >
> > *************
> > Pour ouvrir le fichier d'aide à partir du menu ou d'un bouton j'utilise
> > Private Sub Cmd_Aide_Click()
> > Afficher_Rubriques_Aide (Me.hwnd)
> > End Sub
> >
> > La procédure appelée (dans un module) qui utilise
> > Public Sub Afficher_Rubriques_Aide(ByVal hwnd As Long)
> > Dim r%
> > r% = WinHelp(hwnd, Fichier_Aide, Help_Finder, ByVal 0&)
> > End Sub
> >
> > et la déclaration (dans le même ou un autre module)
> > Declare Function WinHelp Lib "user32" Alias "WinHelpA" (ByVal hwnd As
Long,
> > ByVal HlpFile As String, ByVal wCmd As Long, dwData As Any) As Long
> >
> > *************
> > Pour ouvrir l'aide sur une page spécifique (à un formulaire par exemple)
> > j'utilise
> >
> > Private Sub Form_Open(Cancel As Integer)
> > Me.HelpFile = Fichier_Aide
> > End Sub
> >
> > Private Sub Cmd_Aide_Click()
> > AfficherAideAPI
> > End Sub
> >
> > Function AfficherAideAPI() As Boolean
> > ' Cette procédure est utilisée par le bouton Montrez-moi dans
diverses
> > ' barres d'outils de Solutions du développeur. Elle utilise la
fonction
> > ' API WinHelp de telle sorte que le bouton Montrez-moi apportera une
> > aide
> > ' contextuelle par rapport à l'état courant de l'objet. Vérifiez que
> > ' le fichier d'aide est bien dans le même répertoire que la base de
> > ' données Solutions du développeur
> >
> > Dim lnghWnd As Long
> > Dim chFichierAide As String
> > Dim lngContext As Long
> > Dim lngValRet As Long
> > Dim obj As Object
> >
> > On Error Resume Next
> > Const conContextAide = &H1
> > Set obj = Screen.ActiveForm
> >
> > If err = 2475 Then
> > ' L'objet actif n'est pas un formulaire.
> > ' Réinitialise Err et teste si c'est un état.
> > err = 0
> > Set obj = Screen.ActiveReport
> > If err = 2476 Then
> > ' L'objet courant n'est ni un état, ni un formulaire.
> > MsgBox "Sélectionnez un formulaire ou un état avant de
> > demander de l'aide.", vbExclamation
> > AfficherAideAPI = False
> > Exit Function
> > End If
> > End If
> >
> > With obj
> > ' Récupère le hWnd, le FichierAide et la propriété ContextAideID
de
> > l'objet courant.
> > lnghWnd = .hwnd
> > chFichierAide = .HelpFile
> > lngContext = .HelpContextId
> > End With
> >
> > lngValRet = WinHelp(lnghWnd, chFichierAide, conContextAide,
lngContext)
> > AfficherAideAPI = True
> > Set obj = Nothing
> > End Function
> >
> > ************
> > A l'ouverture de la base j'initialise la variable
> > Fichier_Aide = Dossier & "Fichier.hlp"
> > Rien n'empêche de réinitialiser cette variable à tout moment pour
utiliser
> > une autre langue comme tu veux le faire.
> >
> > --
> > Cordialement,
> >
> > Gilbert
> >
> >
> > "jfd" a écrit dans le message de
> > news:
> > > Bonjour Gilbert et merci
> > > Au deuxième clic ou clic autre langue
> > > Mon message : MsgBox "Fermer le fichier d'aide. / Close the help file.
"
> > > Mais il est déjà fermé.
> > > Observations :
> > > 1_Si j'ouvre mon fichier d'aide par mon application et que je regarde
> > dans
> > > le gestionnaire de tache le fichier d'aide apparait sur l'onglet
> > application,
> > > si je clique dessus option « aller dans le processus » il pointe sur
> > > MSACCESS.EXE
> > > 2_Si j'ouvre le même fichier d'aide directement en cliquant sur mon
> > fichier
> > > chm et que je regarde dans le gestionnaire de tache le fichier d'aide
> > > apparait sur l'onglet application, si je clique dessus option « aller
> > dans
> > > le processus » il pointe sur hh.EXE
> > > Voila pourquoi je ne peux pas changer de langue une deuxième fois, je
> > > n'arrive pas à fermer le processus « fichier aide » puisqu'il semble
être
> > lu
> > > directement par ACCESS
> > > Alors je reste à l'écoute de toutes suggestions.
> > > Bonne journée
> > > jfd
> > >
> > > "Gilbert" a écrit :
> > >
> > > > Bonjour,
> > > >
> > > > Je n'ai pas d'idée mais je n'ai pas compris non plus.
> > > > Que se passe-t-il au deuxième clic?
> > > >
> > > > --
> > > > Cordialement,
> > > >
> > > > Gilbert
> > > >
> > > >
> > > > "jfd" a écrit dans le message de
> > > > news:
> > > > > Bonsoir
> > > > > Access 2003
> > > > > Deux fichiers d'aide en chm, l' un français l'autre Anglais.
> > > > > Sur click :
> > > > >
> > > > > Private Sub Commande52_Click()
> > > > > On Error GoTo Err_Commande52_Click
> > > > > DoCmd.SetWarnings False
> > > > > If Dir("C:Program FilesNRSrecettes.chm") <> "" Then
> > > > > Kill ("C:Program FilesNRSrecettes.chm")
> > > > > ' "C:Program FilesNRSNRCabPictures.EXE"/C /T:"C:Program
> > > > > FilesNRSNRPhotos"
> > > > > Call Shell("""C:Program FilesNRSNRCabFrchm.EXE""/C
> > /T:""C:Program
> > > > > FilesNRS""", 1)
> > > > > DoCmd.SetWarnings True
> > > > > End If
> > > > > Exit_Commande52_Click:
> > > > > Exit Sub
> > > > > Err_Commande52_Click:
> > > > > MsgBox "Fermer le fichier d'aide. / Close the help file. ",
> > > > > vbInformation + vbOKOnly, "Net-Recipe"
> > > > > Resume Exit_Commande52_Click
> > > > > Premier click tout est ok chargement du fichier FR ou EN OK mais
après
> > il
> > > > > doit rester en mémoire quelque part et sur le gestionnaire de
tache «
> > > > Aller
> > > > > dans le processus » me renvoi sous « MSACCESS.exe »
> > > > > J'ai essayé « Kill » pour hh,htlm,. mais pas kill ACCESS quandmême
> > !!!:-)
> > > > > Est-ce quelqu'un à une idée pour cela.
> > > > > Merci
> > > > >
> > > >
> > > >
> > > >
> >
> >
> >