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

VBScript Discussion :

Transformer VBA en VBS


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 36
    Par défaut Transformer VBA en VBS
    Bonjour à toutes et à tous,

    Le titre de mon message est un peu vague mais mon problème est très spécifique.

    J'ai récupérer un bout de code qui permet de piloter l'application Business Object et d'enregistrer un rapport au format .CSV.

    Le problème est que ce code est en VBA.

    J'ai besoin qu'il se lance automatiquement tous les matins (j'utilise le planificateur de taches windows), je dois donc l'adapter en VBS et c'est là que je coince ...

    Voici le code :

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    Sub Save_CSV()
     
        Dim strOutputFileName As String
     
        'création objet application
        Set appBO = CreateObject(Class:="businessobjects.application")
        'login : "user","mot de passe", "mode offline"
        appBO.LoginAs "", "", False
     
        appBO.Interactive = False
     
        'ouverture de mon rapport BO
        Set docBO = appBO.Documents.Open("C:\fichier_entrée.rep")
     
        'passage des paramètres à mes invites créées sous BO
        'docBO.Variables.Item("Couleur ?").Value = "Black"
        'raffraichissement du rapport
        docBO.Refresh
        'sauvegarde du rapport raffraichi
        docBO.Save
     
     
        'sélection du premier fournisseur de données
        Set boDP = docBO.DataProviders.Item(1)
        'déclaration de mon chemin de création du CSV
        strOutputFileName = "C:\fichier_sortie.csv"
        'export des données du fournisseur vers les formats suivants (ici le 5, export csv)
        '1 ni csv ni Excel, 2 Excel .XLS, 3 inconnu, 4 exportCSVTabs, 5 "ExportCSV,", 6 Excel .XLS, 7 erreur
        'le second param est le numéro du microcube, 0 indiquant tous les microcubes du fournisseur
        Call boDP.ConvertTo(5, 0, strOutputFileName)
     
     
        'fermeture et désinstanciation des objets
        appBO.Quit
        Set boDP = Nothing
        Set docBO = Nothing
        Set appBO = Nothing
     
    End Sub
    Quelqu'un peut-il m'aider à adapter ce code en VBS ?

    D'avance, merci de votre aide.

  2. #2
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 302
    Par défaut
    bonjour,
    vite fait je dirais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim strOutputFileName As String
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set appBO = CreateObject(Class:="businessobjects.application")
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 36
    Par défaut
    Bonjour Omen99 et merci pour cette réponse,

    Ça fonctionne ! (Il faut vraiment que je me mette au VBS car c'était pas grand chose au final ...)


    Dernières petites questions :

    Il me sort un CSV avec la virgule comme délimiteur.

    Est-il possible de forcer le point virgule ?


    De plus, est-il possible de supprimer la première ligne du fichier CSV généré ? Car cette ligne contient le nom de mes colonnes ...


    Encore merci !

  4. #4
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 302
    Par défaut
    si la fonction convertTo ne gère pas directement le CSV "français", il faut gérer la conversion au stade du fichier déjà créé,
    c'est à dire ouvrir le fichier texte, utiliser la fonction Replace pour remplacer les virgules par des points-virgules
    et même la 1ère ligne (avec le crlf) si celle-ci est constante et pour finir le sauvegarder
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 36
    Par défaut
    Merci, je devrais pouvoir m'en sortir avec tout ça.


    Bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. convertir vba en vbs
    Par PUARAI dans le forum VBScript
    Réponses: 13
    Dernier message: 20/03/2010, 15h40
  2. Adaptation méthode "AutoFilter" de VBA vers VBS
    Par orducom1 dans le forum VBScript
    Réponses: 2
    Dernier message: 23/04/2009, 08h09
  3. Transformer un code VBA en VBS
    Par GENI36 dans le forum VBScript
    Réponses: 3
    Dernier message: 17/10/2008, 12h59
  4. Macro VBA vers VBS
    Par harlockbaz dans le forum VBScript
    Réponses: 3
    Dernier message: 17/02/2008, 21h53
  5. VBA vers VBS syntaxe
    Par Eric dans le forum VBScript
    Réponses: 4
    Dernier message: 22/02/2007, 09h41

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