[BUG] Creation Zip VBS

Creation Zip VBS [BUG] - VB/VBA/VBS - Programmation

Marsh Posté le 11-09-2007 à 09:31:38    

Bonjour à tous,
 
je rencontre un problème pour créer un VBS me générant des zip sur mes dossiers
 
Pour un dossier il n'y a aucuns problèmes, par contre, dès que je veux en générer plusieurs par le bias d'une boucle c'est une autre affaire.
 
voici le code :
 

Code :
  1. '
  2. '
  3. Const ForReading = 1, ForWriting = 2, ForAppending = 8
  4. Dim Source, Destination, MyHex, MyBinary, i, j
  5. Dim oShell, oApp, oFolder, oCTF, oFile
  6. Dim oFileSys
  7. Source1 = "C:\Mes documents\BAK"
  8. Source2 = "C:\Mes documents\DL\vnc-E4_3_1-x86_x64_win32"
  9. Destination1 = "C:\Mes documents\BAK.zip"
  10. Destination2 = "C:\Mes documents\vnc-E4_3_1-x86_x64_win32.zip"
  11. MyHex = _
  12. Array(80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
  13. For i = 0 To UBound(MyHex)
  14.     MyBinary = MyBinary & Chr(MyHex(i))
  15. Next
  16.  
  17. 'For j = 1 to 2
  18.  
  19. Set oShell = CreateObject("WScript.Shell" )
  20. Set oFileSys = CreateObject("Scripting.FileSystemObject" )
  21. 'Creation du zip
  22. Set oCTF = oFileSys.CreateTextFile(Destination(j), True)
  23. oCTF.Write MyBinary
  24. oCTF.Close
  25. Set oCTF = Nothing
  26. Set oApp = CreateObject("Shell.Application" )
  27. Set oFolder = oApp.NameSpace(Source(j))
  28. If Not oFolder Is Nothing Then _
  29.     oApp.NameSpace(Destination(j)).CopyHere oFolder.Items
  30. wScript.Sleep 5000
  31. Set oFile = Nothing
  32. On Error Resume Next
  33. Do While (oFile Is Nothing)
  34.     'Attention: provoque une erreur 70 si un des fichiers à zipper
  35.     'est toujours ouvert.
  36.     Set oFile = oFileSys.OpenTextFile(Destination(j), ForAppending, False)
  37.    
  38.     If Err.Number <> 0 Then
  39.         Err.Clear
  40.         wScript.Sleep 3000
  41.     End If
  42. Loop
  43. 'Next
  44. Set oFile = Nothing
  45. Set oFileSys = Nothing


 
J'ai mis en commentaire la boucle For car ça bug dès que je la met et que je rajoute une variable à mes constante source et destination
 
Merci de votre aide


Message édité par Kayanwan le 11-09-2007 à 09:32:07

---------------
www.pixelyoz.com - www.eyeofworld.pixelyoz.com - www.emotionofday.pixelyoz.com - www.footproject.pixelyoz.com
Reply

Marsh Posté le 11-09-2007 à 09:31:38   

Reply

Marsh Posté le 11-09-2007 à 10:01:48    

Problème réglé.
 
Il fallait que je declare mes variables comem des tableaux

Reply

Marsh Posté le 11-09-2007 à 12:00:18    

le script marche bien sous Windows XP.
 
Par cotnre, sous Windos 2000, j'ai une notification poru la creation du fichier. je ne trouve pas le paramètre pour l'enlever.
 
Une idée ?

Reply

Marsh Posté le 11-09-2007 à 13:39:54    

T'as essayé un Application.DisplayAlerts = False ?


---------------
Ch'titeS venteS ! ~ "S'il n'y a pas de solution, c'est qu'il n'y a pas de probleme" Devise ShadokS.
Reply

Marsh Posté le 11-09-2007 à 14:07:37    

euh... tu peux m'en dire plus ? j'ai essayé, mais j'ai une erreur avec displayalerts

Reply

Marsh Posté le 11-09-2007 à 14:38:43    

Je suis pas un expert en VB, je débute. Regarde l'aide de VB
 
cette instruction permet de zapper les messages d'alerte Windows ...  
 
Rajoute un  Application.DisplayAlerts = True en fin de macro si jamais ca viens de là.
 


---------------
Ch'titeS venteS ! ~ "S'il n'y a pas de solution, c'est qu'il n'y a pas de probleme" Devise ShadokS.
Reply

Marsh Posté le 12-09-2007 à 10:43:32    

Je ne me susi pas emmerdé, piur la creation du zip. je suis passé par un compresseur en ligne de commande, et pour le reste, je fais en vbs.
 
merci de ton aide
 
A+

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed