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

Macros et VBA Excel Discussion :

Impossibilité d'utiliser CreateObject("Scripting.FileSystemObject")


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2007
    Messages : 220
    Points : 177
    Points
    177
    Par défaut Impossibilité d'utiliser CreateObject("Scripting.FileSystemObject")
    Bonjour à tous

    j'ai trouvé un code permettant d'insérer une signature existante lors de la création d'un mail via vba Excel. Mais pour cela, il faut utiliser lé code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set fso = CreateObject("Scripting.FileSystemObject")
    Mais rien ne se passe, il saute la ligne sans rien faire. J'ai pourtant bien coché la référence Microsoft Scripting Runtime.

    Est-ce que quelqu'un peut m'aider ? Je ne sais pas où se trouve le problème.

    Merci d'avance

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Du dois le déclarer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim FSO As Scripting.FileSystemObject
         Set FSO = CreateObject("Scripting.FileSystemObject")

  3. #3
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2007
    Messages : 220
    Points : 177
    Points
    177
    Par défaut
    merci ousk'el.

    Déjà déclarée ma variable...

    Pour plus de précisions, voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Public Function GetBoiler(ByVal sFile As String) As String
        Dim fso As Scripting.FileSystemObject
        Dim ts As Object
     
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2)
     
        GetBoiler = ts.readall
        ts.Close
    End Function

  4. #4
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    bonsoir,


    si tu coche la référence à microsoft scripting ... tu peu aussi écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim FSO As New Scripting.FileSystemObject
    pas besoin du create.

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Si tu ne la coches pas, teste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Public Function GetBoiler(ByVal sFile As String) As String
        Dim fso As Object 'Scripting.FileSystemObject
        Dim ts As Object
     
        Set fso = CreateObject("Scripting.FileSystemObject")
        '...

  6. #6
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2007
    Messages : 220
    Points : 177
    Points
    177
    Par défaut
    Merci beaucoup pour vos conseils précieux. La référence est cochée et j'ai testé avec As Object et As Scripting.FileSystemObject.

    Je n'ai vraiment aucune idée de quoi le problème peut venir.

  7. #7
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2007
    Messages : 220
    Points : 177
    Points
    177
    Par défaut
    Je viens de modifier mon code en ne créant pas de fonction mais en mettant les lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If Dir(SigString) <> "" Then
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set ts = fso.GetFile(SigString).OpenAsTextStream(1, -2)
        Signature = ts.readall
    Else
        Signature = ""
    End If
    directement dans le code principal. Dans ce cas il ne saute pas les lignes mais j'obtiens fso = nothing et ts = nothing, bien que j'ai coché les bonnes références et bien déclaré mes 2 variables en tant qu'objet ou bien en tant que New Scripting.FileSystemObject.

    Est-ce qu'il y a une manip que j'ai zappée ??

    Merci 1000 fois d'avance.

Discussions similaires

  1. [AC-2003] Utilisation de Scripting.FileSystemObject
    Par ggvert dans le forum VBA Access
    Réponses: 2
    Dernier message: 27/04/2010, 21h06
  2. Réponses: 3
    Dernier message: 20/06/2009, 15h34
  3. Gérer du script entre quote
    Par Alexino2 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 13/07/2006, 23h44

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