Programmation VBA

Programmation VBA - VB/VBA/VBS - Programmation

Marsh Posté le 14-02-2005 à 12:32:17    

Bonjour, je cherche comment zipper un dossier depuis VBA pour ensuite pouvoir l'envoyer par mail. Je me remets gentiement dans la programmation Visual Basic mais ai un peu de peine. Si qqn pouvait me venir en aide, ce serait super!  
Merci
f.giuliano

Reply

Marsh Posté le 14-02-2005 à 12:32:17   

Reply

Marsh Posté le 14-02-2005 à 12:42:38    

tu peux par exemple utiliser winzip en ligne de commande via la commande shell:
shell(tacommande);

Reply

Marsh Posté le 14-02-2005 à 18:02:18    

Pour utiliser Winzip en lignes de commande, il te faudra WinZip ® Command Line que tu peux télécharger ici : http://http2.winzip.com/wzcline.exe :D

Reply

Marsh Posté le 15-02-2005 à 08:18:46    

c'est ce que j'ai essayé de faire mais ça n'a pas jouer... J'imagine que je ne dois pas rentrer le bonne commande...

Reply

Marsh Posté le 15-02-2005 à 08:20:05    

Je n'ai pas pu télécharger Winzip Commande line car je n'ai pas la version 9.0 de Winzip...
f.giuliano

Reply

Marsh Posté le 15-02-2005 à 08:44:12    

moi personnelement j'utilise 7-zip qui est gratuit et dedie a la ligne de commande.
si il est installe sur le C tu devras utiliser une ligne de commande du type:
Shell("C:\Program Files\7-Zip\"7z.exe a -r TonArchive.zip LesFichiersAzipper)

Reply

Marsh Posté le 15-02-2005 à 08:52:16    

ok je vais essayer alors. Merci!
f.giuliano

Reply

Marsh Posté le 15-02-2005 à 09:22:35    

Alors j'ai essayé cette commande, ça compile mais ne fait rien...
Shell ("""C:\Program Files\7-Zip\7z.exe"" a -r Fichiers.zip \Fichiers\*.*" )

Reply

Marsh Posté le 15-02-2005 à 09:41:48    

c'est bien le chemin d'installation de 7-zip?

Reply

Marsh Posté le 15-02-2005 à 09:42:53    

oui

Reply

Marsh Posté le 15-02-2005 à 09:42:53   

Reply

Marsh Posté le 15-02-2005 à 10:07:21    

moi en fait ce qu je fais c'est que j'appele un .bat via shell qui contient:
cd cheminrepertoire
"C:\Program Files\7-Zip\7z.exe" a -r Fichiers.zip *.*"

Reply

Marsh Posté le 15-02-2005 à 10:07:36    

shell(chemindubat)

Reply

Marsh Posté le 15-02-2005 à 10:20:33    

Si cela ne fonctionne pas : Il faut que la fonction Shell() retournée soit dans le même répertoire que l'exécutable. En clair, dans le programme il faudrait avoir cela :

Code :
  1. ChDir = "C:\Program Files\7-Zip\"
  2. Shell(7z.exe a -r TonArchive.zip LesFichiersAzipper)

Voila

Reply

Marsh Posté le 15-02-2005 à 10:38:28    

ok alors ça fonctionne déjà bcp mieux mais lorsque je veux ouvrir mon fichier zip, il me met une erreur_
"Cannot open file: if does not appear to be a valid archive.
If you downloaded this file, try downloading the file again"

Reply

Marsh Posté le 15-02-2005 à 14:26:58    

Ok alors merci pour l'aide, avec un peu de concentration et vos idées, tout fonctionne à merveille!

Reply

Marsh Posté le 13-07-2005 à 22:01:50    

Avez vous une petit idées de comment faire a partir de Access ?
 
merci


---------------
Ne prenez pas la vie trop au sérieux: de toute façon, vous n'en sortirez pas vivant.
Reply

Marsh Posté le 14-07-2005 à 09:08:45    

dans ton vba:
shell(chemindubat)

Reply

Marsh Posté le 19-07-2005 à 19:10:29    

humm  access 2002 ne réagit pas comme vous...
 
j'ai créé un fichier .bat  comme suit :
===========================================
ChDir = "J:\11-IMPLANTATION\Formation\Gestion\BD-Formation\convocations\"  
Shell(WZZIP.exe a -r Convocations1.zip *.html)
=============================================
Quand je call mon fichier ZIPTOUS.BAT
 
Test = Shell("J:\11-IMPLANTATION\Formation\Gestion\BD-Formation\convocations\ZIPTOUS.BAT", vbHide)
       
j'ai pas d'erreur mais pas de fichier zippé non plus meme si je vois la fenêtre Dos apparaitre  !?  il est ou le probleme ( je sais 30 cm devant l'écrant) :o)      dans mon code  
merci de votre aide !
 


---------------
Ne prenez pas la vie trop au sérieux: de toute façon, vous n'en sortirez pas vivant.
Reply

Marsh Posté le 20-07-2005 à 19:18:56    

et en passant pas dans le bat pour tester, ca donne quoi ?


---------------
now : do nothing
Reply

Marsh Posté le 22-07-2005 à 15:43:53    

c'est pire !


---------------
Ne prenez pas la vie trop au sérieux: de toute façon, vous n'en sortirez pas vivant.
Reply

Marsh Posté le 22-07-2005 à 18:52:53    

humm ok


---------------
now : do nothing
Reply

Marsh Posté le 17-08-2007 à 22:55:00    

Je saurais pas t'aider moi j'ai un pb tout simple.
 
J'ai besoin d'extraire un fichier "TOTO.doc" de mon archive "Archive.zip" qui contient plein de trucs.
 
C'est quoi la commande a taper pour extraire ca ?
 
Je regarde pour vos trucs mais c'est chaud.


---------------
Beau Gosse
Reply

Marsh Posté le 17-08-2007 à 23:01:53    

Je sais que pour le shell vos mieux mettre '//'  que '\' enfin faut tester mais moi pour la commande mkdir par exemplej'en ai eu besoin.
J'ai mis 2 heures a trouver  ....


---------------
Beau Gosse
Reply

Marsh Posté le 18-08-2007 à 10:40:32    

wzunzip C:\Test.ZIP @TEst.BMP C:\Test

Reply

Marsh Posté le 02-10-2007 à 12:54:44    

Bonjour,  
 
Je ne poste jamais sur les forums mais là j'ai besoin d'un renseignement.  
 
J'avais acheté un logiciel sur le Kéno en version cd rom.  
 
Dans ce cd rom, il y a un fichier cab contenant tous les fichiers d'installations du logiciel.  
 
Ce logiciel met tout seul les tirages à jour du kéno et pour cela, il y a dans le fichier cab du cd rom du logiciel, un dossier pour la mise à jour des tirages que je vais appeler dossier A.  
 
Si un jour je dois formater mon disque dur, il faudrait que je prend le dossier A dans le fichier cab du cd rom (de la mise à jour des tirages ) et que je le sauvegarde de façon à ce-que je puisse reglisser ce dossier dans (programs files de windows et dans le nom du logiciel) pour que les tirages soit mis à jour à partir du jour où j'aurais formater mon disque dur.  
 
Mais faire cela à chaque fois c'est un peu embêtant car je sais qu'il serait possible de remettre à chaque fois le dossier A de la mise à jour des tirages (du fichier cab) directement dans le fichier cab du cd rom car comme çà lorsque je réinstalle le logiciel, les tirages serait à jour directement à partir du jour ou j'aurais formater mon disque dur.  
 
J'ai bien évidement réussir à prendre le fichier cab du cd rom et de le modifier pour y réinsérer dedans le fichier A de la mise à jour des tirages et j'ai gravé le tout et quand j'installe le logiciel, je constate que les tirages du logiciel ne sont pas à jour (à partir du jour où j'ai sauvegardé le dossier A (de la mise à jour des tirages), c'est à dire qu'il ne prend pas en charge mon dossier A (de la mise à jour des tirages) qui est dans ce fichier cab.  
 
On m'a dit une fois qu'il fallait un genre de compileur de fichier cab ou un compresseur de fichier cab afin que le logiciel soit à jour à partir du jour où que j'aurais mis à jour le fichier cab du fichier de la mise à jour des tirages.  
 
Ma question est donc :  
 
Comment faire pour que le cd rom du logiciel prend en compte ce dossier A (de la mise à jour des tirages) à chaque fois que je l'insère dans le fichier cab ? de façon à ce-que les tirages soit à jour (à partir de ce dossier A) que j'aurais mis dans le fichier cab du cd rom.  
 
J'espère que vous aurez compris mon souçi car sinon vous pouvez me contactez sur msn à steph6000@hotmail.fr afin que je vous explique mieux cela.  
 
Merçi de vos réponses.  
 
Stéphane  

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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