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.NET Discussion :

Récupérer des paramètres en entrée


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Récupérer des paramètres en entrée
    Bonjour,

    Depuis "Visual studio tools Office", j'ai crée un nouveau Workbook.

    Maintenant dans le code vb.net, j'aimerais pouvoir récupérer des paramètres envoyés lors de l'ouverture du fichier excel.

    ex : Nomfichier.xlsm "param1=test1"
    J'aimerais récupérer "param1"

    voici un bout de code fonctionnant avec VBA :

    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
    Private Declare Function GetCommandLine Lib "kernel32" Alias "GetCommandLineA" () As Long
     
        Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As any) As Long
     
        Private Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" (ByVal lpString1 As any, ByVal lpString2 As any) As Long
     
        'fonction proposée par Tony Proctor sur le forum public de Microsoft : microsoft.public.vb.winapi
        Private Function GetCmd() As String
            Dim lpCmd As Long
            lpCmd = GetCommandLine()
            GetCmd = lpCmd
     
            GetCmd = Space$(lstrlen(byval lpCmd))
            lstrcpy(byval GetCmd, byval  lpCmd)
        End Function
    Voici les erreurs de ce code :
    Erreur 1 'As Any' n'est pas pris en charge dans les instructions 'Declare'.
    Erreur 4 Expression attendue. Space$(lstrlen(byval lpCmd))
    Merci d'avance pour vos réponses

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    291
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 291
    Points : 390
    Points
    390
    Par défaut
    Bonjour,

    Vous utilisez les déclaration des API WIN32 pour VB6, forcément ça ne va pas marcher.

    Il faut transformer les long en integer, dans un premier temps, ensuite le passage de chaine (lpstring) doit être marshallé ...(AS ANY n'est pas pris en charge)

    Un conseil : faire une recherche sur la MSDN avec "déclarer les fonctions API"
    Et bon courage !!

    A+

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Points : 5
    Points
    5
    Par défaut solution
    Première chose :

    Le marshaling du type de données, car comme cité dans la première réponse le "AS any" n'existe plus en vb.net.

    Solution retenue :

    Le plus simple pour récupérer la ligne de commande permettant d'ouvrir le fichier Excel.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Declare Function GetCommandLine Lib "kernel32" Alias "GetCommandLineA" () As String
    ...

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    291
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 291
    Points : 390
    Points
    390
    Par défaut
    Bonjour,

    Ca ne va pas marcher !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GetCommandLine Lib "kernel32" Alias "GetCommandLineA" () As String
    Il faut marshaller la valeur de retour.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Geo2A Voir le message
    Bonjour,

    Ca ne va pas marcher !



    Il faut marshaller la valeur de retour.
    Après avoir testé, j'obtiens bien la commande d'exécution d'ouverture de mon fichier Excel.

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

Discussions similaires

  1. récupérer des paramètres entre fenêtres
    Par thierrybatlle dans le forum WinDev
    Réponses: 2
    Dernier message: 13/07/2007, 19h10
  2. Réponses: 4
    Dernier message: 29/03/2007, 10h10
  3. récupérer des paramètres
    Par Alec6 dans le forum JSF
    Réponses: 2
    Dernier message: 16/01/2007, 09h26
  4. Réponses: 1
    Dernier message: 29/03/2006, 11h05
  5. Récupérer des paramètres HTML dans un ActiveX
    Par mr.saucisse dans le forum MFC
    Réponses: 26
    Dernier message: 02/02/2006, 16h25

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