IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Traitement fichier excel avec vb6


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 14
    Points : 10
    Points
    10
    Par défaut Traitement fichier excel avec vb6
    Bonjour à tous et merci pour votre aide,
    Je souhaite lire un fichier excel via un raccourci dont l'extension est lnk? Pourriez-vous m'indiquer une piste pour résoudre ce problème ?
    Bonne journée
    Saïd

  2. #2
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 32
    Points : 32
    Points
    32
    Par défaut
    Peut-etre recuperer le chemin reel du fichier en lisant les proprietes du raccourci. ca doit etre possible (je suppose) avec le FyleSystemObject.

    Ainsi tu pourras ouvrir le fichier excel.

    Zaal

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Bonjour Zaal,
    Je suis d'accord avec toi sur le principe qu'il faut récupérer le chemin du fichier dans les propriétés du fichier raccourci , mais je n'arrive pas à trouver la syntaxe de "fylesystemobject" ni dans l'aide dans vb6 ni sur le net.

    Comment faire pour récupérer le chemin du fichier cible dans un raccourci soit à l'aide de "fylesystemobject" ou autre moyen merci à vous et bonne journée
    Saïd

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonjour

    voici une aute possibilité pour declencher un raccourci bureau à partir de son nom

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Sub lancerRaccourciBureau()
        '
        'Nécessite d'activer la référence
        '"Microsoft Shell Controls and Automation"
        '
        Const Cible = &H10 'Bureau
        '
        Dim objShell As Shell32.Shell
        Dim objFolder As Shell32.Folder
        Dim colItems As Shell32.FolderItems
        Dim objItem As Shell32.FolderItem
     
        Set objShell = CreateObject("Shell.Application")
        Set objFolder = objShell.NameSpace(Cible)
        Set colItems = objFolder.Items
     
        For Each objItem In colItems
            If objItem.IsLink Then
                If objItem.Name = "Raccourci vers monClasseur.xls" Then _
                objItem.InvokeVerb
            End If
        Next
    End Sub

    bon apres midi
    michel

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Bonsoir Michel,
    En faite je n'ai pas besoin de déclencher le raccourci, mais de récupérer le nom et chemin du fichier auquel il est lié afin de faire des traitements excel avec vb6 sur ce fichier.
    Bonne réception
    Saïd

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonsoir Saïd

    dans ce cas tu peux adapter la procedure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        For Each objItem In colItems
            If objItem.IsLink Then
                If objItem.Name = "Raccourci vers monClasseur.xls" Then _
                MsgBox objItem.GetLink.Path
            End If
        Next

    bonne soiree
    michel

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Bonjour Michel et à tous,
    Ca ne fonctionne pas mais je pense qu'on y est presque à la fameuse solution.
    La référence : "Microsoft Shell Controls and Automation" n'est existe pas et je l'ai remplacer par "microsoft dialog automation objects".
    Je rencontre l'erreur suivante due je pense au mauvais choix de la référence :
    erreur de compilation: type défini par l'utilisateur non défini
    Quelle serait donc la référence la plus appropriée ?
    Merci pour toute l'aide apportée.
    Saïd

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Sub lancerRaccourciBureau()
    '
    'Nécessite d'activer la référence
    '"Microsoft Shell Controls and Automation"
    '
    Const Cible = &H10 'Bureau
    '
    ' l'erreur se rapporte a la ligne suivante:
    Dim objShell As Shell32.Shell
    Dim objFolder As Shell32.Folder
    Dim colItems As Shell32.FolderItems
    Dim objItem As Shell32.FolderItem
     
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.NameSpace(Cible)
    Set colItems = objFolder.Items
     
    For Each objItem In colItems
    If objItem.IsLink Then
    If objItem.Name = "Raccourci vers monClasseur.xls" Then _
    MsgBox objItem.GetLink.Path
    End If
    Next
    End Sub

  8. #8
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    est tu sur de ne pas trouver "Microsoft shell controls et automation" shell32.dll ?

    sous excel 2000.. cela marche sans référence, il suffit de ne pas "typer" les variables :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    Sub MonTest()
        Const Cible = &H10 'Bureau
    '
        Dim objShell 'As Shell32.Shell
        Dim objFolder 'As Shell32.Folder
        Dim colItems 'As Shell32.FolderItems
        Dim objItem 'As Shell32.FolderItem
     
        Set objShell = CreateObject("Shell.Application")
        Set objFolder = objShell.NameSpace(Cible)
        Set colItems = objFolder.Items
     
        For Each objItem In colItems
            If objItem.IsLink Then
                If objItem.Name = "Raccourci vers monClasseur.xls" Then _
                           Debug.Print objItem.Path
            End If
        Next
    End Sub

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Bonjour à tous,
    es-tu sur de ne pas trouver "Microsoft shell controls et automation" shell32.dll ?
    Réponse: j'ai vérifié une nouvelle fois et je n'ai rien trouvé se rapportant à ces références. Pourtant, j'ai fait la recherche de "shell32.dll" et il est bien présent sur mon disque.
    Le code que m'a proposé BBIL me génère l'erreur:
    erreur d'exécution 429: le composant activex ne peut créer l'objet
    le curseur se positionne sur la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set objShell = CreateObject("Shell.Application")
    .
    Merci de m'aider à trouver une piste pour règler ces sous.
    A très bientôt
    Saïd

  10. #10
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    ton shell32.dll tu la trouvé ou ..?

    voir s'il ne faut pas l'enregistrer par un démarrer/exécuter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    regsvr32 c:\windows\system32\shell32.dll

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    "shell32.dll" est bien dans le répertoire c:\winnt\system32. Je pense qu'il est bien enregistré car je l'ai déplacé et par erreur j'ai redémarré l'ordinateur. windows m'a signalé l'absence de "shell32.dll". Et lorsque je lance la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    regsvr32 c:\winnt\system32\shell32.dll
    j'ai un message en anglais que je ne peux décodé.
    Pour simplifier mon problème: mes racourcis seront installés dans différents endroits c'est-à-dire pas sur le bureau mais dans des répertoires particuliers. Le but pour moi est de récupérer uniquement le nom du fichier auquel le raccourci se rapporte. Mon raccourci a l'extension "lnk".
    Excusez-moi pour ces embêtements mais je suis très bloqué.
    Saïd

  12. #12
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par couscoussier
    ".... j'ai un message en anglais que je ne peux décodé...
    Saïd
    ben poste le codé

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Salut à tous,
    Citation Envoyé par bbil
    ton shell32.dll tu la trouvé ou ..?

    voir s'il ne faut pas l'enregistrer par un démarrer/exécuter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    regsvr32 c:\windows\system32\shell32.dll
    Voilà le résultat de la commande


    Remarque je travaille sur nt 4.0. Par cotre j’ai 355 références dans vb6.
    A+
    Saïd

Discussions similaires

  1. Traitement fichier Excel avec insertion en base
    Par luvtribe dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 23/11/2011, 17h48
  2. Traitement de fichiers Excel avec MySql
    Par buzz73 dans le forum Débuter
    Réponses: 7
    Dernier message: 26/08/2008, 16h56
  3. Probleme de lecture d'un fichier excel avec VB6
    Par Ora92_IDS dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 10/04/2008, 15h17
  4. Entré de données dans fichier excel avec Form VB6
    Par avyrex dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 17/05/2007, 15h08
  5. ouvrir un fichier excel avec VB6
    Par sweety2094 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 05/04/2007, 14h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo