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 :

Utilisation d'un script d'extraction de data depuis un .xls, dans un gadget windows


Sujet :

VBScript

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Utilisation d'un script d'extraction de data depuis un .xls, dans un gadget windows
    bonjour,

    Je suis en train de developé un gadget sidebar windows, et j'ai besoin que celui-ci récupère tout seul des donné contenues dans un fichier .xls. J'ai trouvé sur internet un script VB (language que je ne maitrise pas du tout).

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    Option Explicit
    REM We use "Option Explicit" to help us check for coding mistakes
     
    REM the Excel Application
    Dim objExcel
    REM the path to the excel file
    Dim excelPath
    REM how many worksheets are in the current excel file
    Dim worksheetCount
    Dim counter
    REM the worksheet we are currently getting data from
    Dim currentWorkSheet
    REM the number of columns in the current worksheet that have data in them
    Dim usedColumnsCount
    REM the number of rows in the current worksheet that have data in them
    Dim usedRowsCount
    Dim row
    Dim column
    REM the topmost row in the current worksheet that has data in it
    Dim top
    REM the leftmost row in the current worksheet that has data in it
    Dim left
    Dim Cells
    REM the current row and column of the current worksheet we are reading
    Dim curCol
    Dim curRow
    REM the value of the current row and column of the current worksheet we are reading
    Dim word
     
    WScript.Echo "Reading Data from " & excelPath
     
    REM where is the Excel file located?
    excelPath = "C:\ExcelFiles\Book2.xls"
     
    REM Create an invisible version of Excel
    Set objExcel = CreateObject("Excel.Application")
     
    REM don't display any messages about documents needing to be converted
    REM from  old Excel file formats
    objExcel.DisplayAlerts = 0
     
    REM open the excel document as read-only
    REM open (path, confirmconversions, readonly)
    objExcel.Workbooks.open excelPath, false, true
     
     
    REM How many worksheets are in this Excel documents
    workSheetCount = objExcel.Worksheets.Count
     
    WScript.Echo "We have " & workSheetCount & " worksheets"
     
    REM Loop through each worksheet
    For counter = 1 to workSheetCount
    	WScript.Echo "-----------------------------------------------"
    	WScript.Echo "Reading data from worksheet " & counter & vbCRLF
     
    	Set currentWorkSheet = objExcel.ActiveWorkbook.Worksheets(counter)
    	REM how many columns are used in the current worksheet
    	usedColumnsCount = currentWorkSheet.UsedRange.Columns.Count
    	REM how many rows are used in the current worksheet
    	usedRowsCount = currentWorkSheet.UsedRange.Rows.Count
     
    	REM What is the topmost row in the spreadsheet that has data in it
    	top = currentWorksheet.UsedRange.Row
    	REM What is the leftmost column in the spreadsheet that has data in it
    	left = currentWorksheet.UsedRange.Column
     
     
    	Set Cells = currentWorksheet.Cells
    	REM Loop through each row in the worksheet 
    	For row = 0 to (usedRowsCount-1)
     
    		REM Loop through each column in the worksheet 
    		For column = 0 to usedColumnsCount-1
    			REM only look at rows that are in the "used" range
    			curRow = row+top
    			REM only look at columns that are in the "used" range
    			curCol = column+left
    			REM get the value/word that is in the cell 
    			word = Cells(curRow,curCol).Value
    			REM display the column on the screen
    			WScript.Echo (word)
    		Next
    	Next
     
    	REM We are done with the current worksheet, release the memory
    	Set currentWorkSheet = Nothing
    Next
     
    objExcel.Workbooks(1).Close
    objExcel.Quit
     
    Set currentWorkSheet = Nothing
    REM We are done with the Excel object, release it from memory
    Set objExcel = Nothing
    Son utilisation est simple, on ouvre le commandprompt et on utilise la commande cscript ficher.vbs (ficher.vbs contenant le script) dans le bon dossier. Voici un screen de ce que ça donne:



    Mes questions sont:

    - Le gadget étant developé à base de html/JS, comment puis-je insérer l'utilsation de ce script avec de tels languages ?
    - et comment récupérer les infos extraites du fichier .xls qui sont affichée sur la console (aaaa et bbbb, qui sont ce que contient la 1ere ligne de mes 2 premieres colone dans mon fichier .xls test).

    merci d'avance !

  2. #2
    Membre régulier
    Inscrit en
    Septembre 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 63
    Points : 76
    Points
    76
    Par défaut
    Essayes de voir si tu sais intègrer ce vbscript à un gadget basé sur du html de la même façon que tu intègrerais un JS, carrément à la place d'un JS comme cela peut se faire dans une page html.
    Le script peut être utilisé dans une page html ou hta pas seulement via cscript ou wscript et je crois qu'il peut être aussi utilisé dans un gadget mais je n'ai jamais essayé.
    Si non tu fait écrire le résultat dans un fichier text qui sera lu juste après par le gadget et tu lance le vbs avec wscript.exe, en supprimant tout les WScript.Echo pour qu'il reste invisible.

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    merci pour ton aide !

    Je suis complétement débutant en VB (en fait je suis en stage chez microsoft vietnam et je dois developper un dashboard, donc je suis completement libre dans le choix de mes techno du moment que ça marche. Du coup je me noies dans tous les languages), donc si tu pouvais me décrire de façon plus précise ce que tu me suggere de faire ça serait super

    Essayes de voir si tu sais intègrer ce vbscript à un gadget basé sur du html de la même façon que tu intègrerais un JS, carrément à la place d'un JS comme cela peut se faire dans une page html.
    qqch comme <script type="?" src="qqch.vbs"></script> ? et où les informations contenues dans le fichier .xls seraient-elles récupérées dans ce cas ?

    Le script peut être utilisé dans une page html ou hta pas seulement via cscript ou wscript et je crois qu'il peut être aussi utilisé dans un gadget mais je n'ai jamais essayé.
    Aurais-tu une idée d'où je pourrai trouver des pistes ? parce que j'ai déjà passer un sacré moment à chercher cette réponse sur le net sans résultat avant de me décider à poster sur ce forum

    Si non tu fait écrire le résultat dans un fichier text qui sera lu juste après par le gadget et tu lance le vbs avec wscript.exe, en supprimant tout les WScript.Echo pour qu'il reste invisible.
    c'est là que je te perds si tu pouvais me décrire la procédure plus précisement je t'en serai vraiment reconnaissant !

    merci d'avance !

  4. #4
    Membre régulier
    Inscrit en
    Septembre 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 63
    Points : 76
    Points
    76
    Par défaut
    Ceci est un example simplifié de vbscript dans une application hta.
    Sauve le fichier en xyz.hta.
    Pour en faire un html, supprime la ligne avec <HTA... et sauve en xyz.htm.

    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
    <html>
    <head>
    <HTA:APPLICATION ID="template" APPLICATIONNAME="htatemplate">
    <title>Hta Template 0.2</title>
    <script language="vbscript">
    Public fso, iTimerID, MyTitle
     
    Sub window_onLoad()
    MyTitle = document.Title
    End Sub
     
    Sub Go
    '...
    End Sub
    </script>
    </head>
    <body>
     
    <input id="BtnGo" type="button" value="Go" onclick="Go">
    ... etc
    </body>
    </html>
    Ici un example pour écrire dansun fichier en vbs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set OutputFile = fso.OpenTextFile("temp.txt", 2, -1)
    OutputFile.WriteLine "Hello World"
    OutputFile.Close
    Sur les moteurs de recherche sur internet cherches:
    vbscript FileSystemObject
    vbscript WScript.Shell
    vbscript tutorial ou tutoriel
    hta tutorial ou tutoriel

    J'ai tout trouvé par moi même et en anglais on trouve plus facilement ce qu'on cherche.
    Evidement ça ne se fait pas e 5 minutes.
    Ca m'étonne que chez Microsoft on vous laisse tant dans le vague mais bon...
    Peut être devrais-je postuler chez Microsoft comme assistant script pour leur dévelopeurs

    quelques liens
    Tout les langages scripts
    http://www.w3schools.com/
    http://www.tizag.com/

    WMI
    http://msdn.microsoft.com/en-us/libr...36(VS.85).aspx
    http://www.computerperformance.co.uk..._who_logon.htm

  5. #5
    Membre régulier
    Inscrit en
    Septembre 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 63
    Points : 76
    Points
    76
    Par défaut
    pour lancer un vbscript avec wscript.exe, il faut le sauvé sous xyz.vbs puis doublecliquer dessus. Normalement ça marche sinon associer ce type de fichier à wscript.exe.
    cscript.exe fait marcher le script dans une console DOS alors que wscript.exe le fait marcher "sous windows".
    Pour les hta, idem: sauver en xyz.hta puis doublecliquer. Si nécessaire associer les fichiers hta avec mshta.exe.

    Mais je pense que si un gadget peut être écrit en html, le vbscript peut être inclus dans cete html comme dans l'example plus haut.
    Tu peux aussi bien le mettre dans un fichier séparé comme tu l'as montré. C'est au choix.

  6. #6
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    je ne suis que stagiaire dans un centre MS axé uniquement marketing/vente, je developpe ça pour eux pour améliorer le fonctionnement en interne donc je n'ai pas les contraintes d'un vrai dev MS

    Merci beaucoup pour tout ça ! je vais prendre le temps de tout décortiquer et je pense que tu m'a donné suffisement de matière pour que j'arrive à mes fins

Discussions similaires

  1. Utilisation de Microsoft Script Editor
    Par Claude l'ancien dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/03/2006, 12h27
  2. [VB]Utiliser plusieurs table liées avec un contrôle Data
    Par yangoal25 dans le forum VB 6 et antérieur
    Réponses: 25
    Dernier message: 21/02/2006, 16h36
  3. Utilisation d'un script en ligne de commande
    Par Thylia dans le forum Langage
    Réponses: 5
    Dernier message: 23/01/2006, 17h28
  4. [langage] Quel langage utiliser pour un script de CHAT ?
    Par Manu0086 dans le forum Général Conception Web
    Réponses: 15
    Dernier message: 11/11/2005, 20h14
  5. Réponses: 8
    Dernier message: 19/10/2005, 16h06

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