[Access 97] Ouverture d'un fichier .eml

Ouverture d'un fichier .eml [Access 97] - VB/VBA/VBS - Programmation

Marsh Posté le 18-09-2008 à 15:26:23    

Bonjour,
 
Bon ben voila tout est dans le titre ou presque....
 
pour résumer j'ai une application qui tourne sous access 97, j'ai également dans plusieurs répertoire des fichiers .EML (mail outlook express), le but de la manœuvre  c'est de créer un bouton sur access qui me permette de visualiser un fichier eml dont je donne le nom. En fait mon idée était de reproduire ce qui se passe quand on double clique sur un fichier eml, dans ce cas outlook express  ouvre le mail dans une fenêtre.
j'ai réussi a faire le même genre de truc avec des fichiers word mais je n'y parviens pas avec outlook express.
 
Malheureusement au boulot j'ai un accès internet très limité et mes recherches n'ont rien données.
 
Donc grand merci d'avance à ceux qui voudront bien m'aider.

Reply

Marsh Posté le 18-09-2008 à 15:26:23   

Reply

Marsh Posté le 20-09-2008 à 10:34:01    

Bonjour,
as-tu essayé avec hyperlink? s'il existe en "97"
Cordialement


Message édité par seniorpapou le 20-09-2008 à 10:34:50
Reply

Marsh Posté le 21-09-2008 à 04:32:16    

Tu veux le faire en macro ou en code VBA ?

Reply

Marsh Posté le 21-09-2008 à 07:01:19    

Bonjour,
avec hyperlink cela donne ceci:
Option Compare Database
 
Private Sub Commande0_Click()
 
    CreateHyperlink Me!Commande0, "C:\.......\monfichier.eml", "C:\........\monfichier.eml"
End Sub
 
Sub CreateHyperlink(ctlSelected As Control, _
     strSubAddress As String, Optional strAddress As String)
    Dim hlk As Hyperlink
     
            Set hlk = ctlSelected.Hyperlink
         
                If Not IsMissing(strAddress) Then
                    hlk.Address = strAddress
                Else
                    hlk.Address = ""
                End If
                hlk.SubAddress = strSubAddress
                hlk.Follow
                hlk.Address = ""
            hlk.SubAddress = ""
         
End Sub
Cordialement

Message cité 1 fois
Message édité par seniorpapou le 21-09-2008 à 07:03:13
Reply

Marsh Posté le 22-09-2008 à 08:26:45    

Bonjour a vou deux et merci pour votre aide,
 
 

Idoine a écrit :

Tu veux le faire en macro ou en code VBA ?


 
Alors macro ou vba je prends tout mais j'ai une préférence pour le VBA.  :D  
 

seniorpapou a écrit :

Bonjour,
avec hyperlink cela donne ceci:
Option Compare Database
 
Private Sub Commande0_Click()
 
    CreateHyperlink Me!Commande0, "C:\.......\monfichier.eml", "C:\........\monfichier.eml"
End Sub
 
Sub CreateHyperlink(ctlSelected As Control, _
     strSubAddress As String, Optional strAddress As String)
    Dim hlk As Hyperlink
     
            Set hlk = ctlSelected.Hyperlink
         
                If Not IsMissing(strAddress) Then
                    hlk.Address = strAddress
                Else
                    hlk.Address = ""
                End If
                hlk.SubAddress = strSubAddress
                hlk.Follow
                hlk.Address = ""
            hlk.SubAddress = ""
         
End Sub
Cordialement


 
Bravo ça semble bien je connaissais pas trop l'hyperlink cependant je viens d'essayer et j'ai une erreur "Access ne peut suivre le lien hypertexte"  :sweat:  en voyant ça je me suis dit que mon adresse devait être fausse mais apres vérif et ben non l'adresse et le nom du fichier sont bon donc je comprends pas!!  :heink:  
 
En faisant debogage access me renvoit sur la fonction Sub CreateHyperlink
et il me renvoie a ligne  hlk.Follow pourtant j'ai regarder l'aide d'access et ta fonction est identique à celle de l'aide je ne trouve pas d'erreur  :??:  
 
je vais continuer mes essais avec hyperlink, si vous avez des idées concernant cette foutu erreur je suis preneur.

Reply

Marsh Posté le 22-09-2008 à 08:42:09    

ça marche!!!  :sol:  
 
bon je me répond a moi même en fait l'erreur est dans la fonction createhyperlink la meme erreur existe aussi dans l'aide d'access  :pt1cable:  en fait le problème viens d'un inversement entre l'adresse et le sousadresse,  dans les argument de la fonction la sousadresse est obligatoire et l'adresse optionnel alors que quand on regarde le fonctionnement de liens hyperlink c'est l'inverse l'adresse est toujours existante alors que la sous adresse dépend du document.
 
Dans la fonction createhyperlink si on inverse la sousadresse et l'adresse ça fonctionne...
 
Grand merci a toi seniorpapou

Reply

Marsh Posté le 22-09-2008 à 23:05:00    

:D C'est déjà ça !
Moi j'avais pensé à Shell...

Reply

Marsh Posté le 23-09-2008 à 07:09:00    

Bonjour,
avec shell, la difficulté est de savoir comment passer le nom du fichier à ouvrir par outlook. Si quelqu'un sait, il est le bienvenu.
Cordialement

Reply

Marsh Posté le 23-09-2008 à 08:19:07    

seniorpapou a écrit :

Bonjour,
avec shell, la difficulté est de savoir comment passer le nom du fichier à ouvrir par outlook. Si quelqu'un sait, il est le bienvenu.
Cordialement


 
exactement moi aussi au début je pensais a shell mais j'ai jamais réussi malgré pas mal d'essai,  par contre les liens hypertexte c'est la classe efficace et très rapide ...
 
En plus dans mon cas j'avais pas besoin de quelque chose d'aussi compliqué que ton exemple en 1 ligne c'est réglé le nom du bouton .hypertexte.adress="le nom de mon fichier" éventuellement suivis d'un follow et c'est bon deux lignes  :D


Message édité par nico_du_02 le 23-09-2008 à 08:19:38
Reply

Marsh Posté le 23-09-2008 à 10:40:46    

C'est sûr que moi aussi je vais retenir la simplicité du Hyperlink !  :D  
Pour Shell il faut utiliser ce qu'il y a dans la base de registre, soit le nom complet de l'exe à utiliser, puis un espace, puis le nom complet du fichier à exécuter, le tout dans une chaine en 1er paramètre de Shell
ex. pour un PDF :
 
Dim strAdobe As String
strAdobe = "C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe"
 
idProcessus=Shell(strAdobe & " c:\Les Fichiers AR\FichierAR.pdf",vbNormalFocus)
 
Mais il faudra aussi que je reteste le GetObject, il semble me souvenir que ça marchait bien aussi...

Reply

Marsh Posté le 23-09-2008 à 10:40:46   

Reply

Marsh Posté le 23-09-2008 à 15:14:20    

Idoine a écrit :

C'est sûr que moi aussi je vais retenir la simplicité du Hyperlink !  :D  
Pour Shell il faut utiliser ce qu'il y a dans la base de registre, soit le nom complet de l'exe à utiliser, puis un espace, puis le nom complet du fichier à exécuter, le tout dans une chaine en 1er paramètre de Shell
ex. pour un PDF :
 
Dim strAdobe As String
strAdobe = "C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe"
 
idProcessus=Shell(strAdobe & " c:\Les Fichiers AR\FichierAR.pdf",vbNormalFocus)
 
Mais il faudra aussi que je reteste le GetObject, il semble me souvenir que ça marchait bien aussi...


 
j'étais pas très loin avec l'instruction shell mais j'ai pas utilisé de variable idprocessus reste a voir si ça fonctionne car moi j'ai pas reussi. je suis aussi intéressés par le getobjet ou j'ai pas trouvé d'exemple.
Mais heureusement le lien hypertexte a bien résolu mon problème ...


Message édité par nico_du_02 le 23-09-2008 à 15:36:27
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed