begin process at 2012 02 15 10:55:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

VBA

 > 

Vba Excel: Comment utiliser la fonction Command() ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Vba Excel: Comment utiliser la fonction Command() ?

mercredi 18 janvier 2006 à 17:48:06 | Vba Excel: Comment utiliser la fonction Command() ?

Zacland

Membre Club

Bonjour,

Si je suis là, c'est que je sèche franchement alors je me penche vers vous pour soliciter des idées sur mon problèmes.

Sous Excel, il est apparement possible de pouvoir récupérer des arguments passés en ligne de commande, même qu'un exemple de fonction est donné pour parser ces commandes dans un tableau...

Jusque-là, pas de problème, voici même l'exemple qui est donné:

Function GetCommandLine(Optional MaxArgs)
    ' Déclare les variables.
    Dim C, CmdLine, CmdLnLen, InArg, I, NumArgs
    ' Vérifie si MaxArgs a été spécifié.
    If IsMissing(MaxArgs) Then MaxArgs = 10
    ' Définit un tableau au format approprié.
    ReDim ArgArray(MaxArgs)
    NumArgs = 0: InArg = False
    ' Récupère les arguments de ligne de commande.
    CmdLine = Command()
    CmdLnLen = Len(CmdLine)
    ' Analyse de la ligne de commande caractère par caractère.
    For I = 1 To CmdLnLen
        C = Mid(CmdLine, I, 1)
        ' Analyse de caractères d'espacement ou de tabulations.
        If (C <> " " And C <> vbTab) Then
            ' Ni espace ni tabulation.
            ' Vérifie une éventuelle présence dans l'argument.
            If Not InArg Then
            ' Le nouvel argument commence.
            ' Vérifie si les arguments ne sont pas trop nombreux.
                If NumArgs = MaxArgs Then Exit For
                    NumArgs = NumArgs + 1
                    InArg = True
                End If
            ' Concatène un caractère à l'argument courant.
            ArgArray(NumArgs) = ArgArray(NumArgs) & C
        Else
            ' Recherche un espace ou une tabulation.
            ' L'indicateur InArg prend la valeur False.
            InArg = False
        End If
    Next I
    ' Redimensionne le tableau pour qu'il puisse
    ' juste contenir les arguments.
    ReDim Preserve ArgArray(NumArgs)
    ' Renvoie le tableau dans le nom de fonction.
    GetCommandLine = ArgArray()
End Function


Hors, j'ai beau appeler mon fichier Excel de diverses façons, j'ai toujours rien en sortie de ma fonction...

En fait, je ne sais pas comment passer ma ligne de commande à  mon fichier xls pour récupérer ces arguments dans la fonction donnée par Micro$oft...

voilà toutes les lignes que j'ai essayé depuis ma console dos:

C:\Program Files\Microsoft Office\OFFICE11>EXCEL.EXE c:\fichier.xls toto.txt
C:\Program Files\Microsoft Office\OFFICE11>EXCEL.EXE c:\fichier.xls toto.txt
C:\Program Files\Microsoft Office\OFFICE11>EXCEL.EXE c:\fichier.xls /fichier=toto.txt
C:\Program Files\Microsoft Office\OFFICE11>EXCEL.EXE c:\fichier.xls /fichier=toto.txt
C:\Program Files\Microsoft Office\OFFICE11>EXCEL.EXE c:\fichier.xls /fichier=toto.txt
C:\Program Files\Microsoft Office\OFFICE11>EXCEL.EXE c:\fichier.xls /cmd toto.txt

en fait, en retour de ma fonction, je veux retrouver: toto.txt

Quelqu'un aurait-il une idée... si vous avez compris mon problème ... ?!

Merci d'avance...


-=Zac
Que le source soit avec vous ...
mercredi 18 janvier 2006 à 18:33:30 | Re : Vba Excel: Comment utiliser la fonction Command() ?

jack

Administrateur CodeS-SourceS
Salut
Tout ce"ci est bien compliqué.
Pour séparer les arguments, il faut détecter les espaces (attention aux noms de fichier ou de répertoire qui en contiennent !)
Dim Tablo() As String
Tablo = Split(Command(), " ")
Et tu auras la liste des mots séparés par des espaces dans Tablo(0) à Tablo(UBound(Tablo)).
A toi de les analyser pour savoir si un espace est un séparateur ou un espace dans un nom de fichier ou répertoire

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
mercredi 18 janvier 2006 à 18:35:02 | Re : Vba Excel: Comment utiliser la fonction Command() ?

jack

Administrateur CodeS-SourceS
Dans ton esemple, "toto.txt" se trouveras dans    Tablo(UBound(Tablo))
mercredi 18 janvier 2006 à 21:46:29 | Re : Vba Excel: Comment utiliser la fonction Command() ?

CTAC

Réponse acceptée !
Bonjour,

L'exemple fournit dans Xl ne fonctionne pas.
Regarder ici!
http://xcell05.free.fr/pages/prog/parametres.htm

ctac
jeudi 19 janvier 2006 à 09:35:59 | Re : Vba Excel: Comment utiliser la fonction Command() ?

Zacland

Membre Club
Merciiiiiii !!! ^^


Cette discussion est classée dans : fichier, fonction, excel, xls, numargs


Répondre à ce message

Sujets en rapport avec ce message

Fonction Command() dans vba Excel [ par Zacland ] Bonjour, Si je suis là, c'est que je sèche franchement alors je me penche vers vous pour soliciter des idées sur mon problèmes. Sous Excel, il est a Fonction Command() en vba Excel [ par Zacland ] Bonjour, Si je suis là, c'est que je sèche franchement alors je me penche vers vous pour soliciter des idées sur mon problèmes. Sous Excel, il est a !!! URGENT !!! URGENT !!! Fichier excel [ par pino ] Bonjour,J'aimerais lorsque j'ouvre un fichier excel nommé "A".xls par exemple actionner automatiquement une macro.Cette macro devra aller voir la date !!! URGENT !!! URGENT !!! Fichier excel [ par pino ] Bonjour,J'aimerais lorsque j'ouvre un fichier excel nommé "A".xls par exemple actionner automatiquement une macro.Cette macro devra aller voir la date Excel.Application - VBA [ par oliv76n ] J'essai d'ouvrir Excel avec vba, de la façon suivante :Dim Excel_Application As New Excel.Application Excel_Application.Visible = TrueExcel_Applicatio Problème pour écrire dans un fichier excel [ par ibra04 ] Qui pourrais voir svp pourquoi ça bug. Le but c que quand je clique sur mon boutton, il m'ouvre le fichier excel (FnumEmp.xls) et qu'il m'écrive ceque excel et vb [ par wafavb ] bonjourpour un projet j'ai récupéré un fichier excel ou il y des macros que je dois utiliser pour récupérer des informations nécessaires pour mon trav Convertir un Fichier CSV en XLS [ par Sebby59 ] Bonjour à tous !Voilà mon petit problème : Je souhaite que mon fichier CSV soit correctement représenté dans Excel. Je m'explique plus clairement, mon Lecture fichier xls sans l'ouvrir [ par houseclubber ] bonjour,j'aimerai savoir comment faire pour copier dans le fichier Excel ouvert, une cellule voir une colonne à partir d'un autre fichier Excel sans l MACRO EXCEL: ouverture fichier [ par ChtiBreizh ] bonjour,j'ouvre une boite de dialogue pour ouvrir un fichier par Application.GetOpenFilename("Fichiers Excel (*.xls), *.xls")Je voudrai que seul le fi


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 8,330 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales