Lors de la programmation dans Microsoft Office Visual Basic pour Applications (VBA), il est parfois nécessaire d'ouvrir ou appeler d'autres programmes à partir de Word, Excel ou Access. La meilleure façon d'effectuer cette tâche est à travers la commande VBA SHELL. Cette commande lance un autre programme de ligne Windows ou commande à exécuter indépendante du programme Office. Une fois que l'autre programme est en marche, le programme Office peut continuer à effectuer d'autres tâches. Utiliser une technique facile à exécuter Winzip et archiver un ensemble de fichiers à l'aide d'un formulaire Microsoft Access.
Ouvrez Microsoft Access (2000 ou plus tard) et de créer une nouvelle base de données appelée ZipSample.
Créer un nouveau formulaire indépendant appelé ZipForm. Ce formulaire n'a pas de table qui lui est associée. Au lieu de cela, il acceptera dossier et de fichier zip noms indexés par l'utilisateur puis les fichiers zip lorsque le bouton est cliqué.
Ajoutez deux zones de texte et un bouton sur le formulaire.
Nommez la première zone de texte "nom de dossier" et de lui donner la légende "Dossier:"
Nommez la deuxième zone de texte "ZipFile" et de lui donner la légende "Fichier Zip:"
Changer l'étiquette sur le bouton pour "Zip."
Faites un clic droit sur le bouton Zip et choisissez Build suivie par CODE. Cela va ouvrir la fenêtre Visual Basic avec une nouvelle méthode vide. A l'intérieur du corps de la méthode (sur la ligne vide au-dessus End Sub) entrez le code suivant:
SHELL """c: Program Files WinZip WinZip32"" --min --a -r " & ZipFile & " " & Nom de dossier & "*. *"
Lorsque évaluées par l'interprète VBA, ce code va passer le texte suivant à l'interpréteur de commandes:
"c: Program Files WinZip WinZip32" --min --a --r zipfile.zip folderName *. *
WinZip peut fonctionner avec un certain nombre de paramètres de ligne de commande. Dans ce cas, la commande demande WinZip pour ajouter tous les fichiers dans le dossier folderName à l'archive zipFile.zip. L'argument --min dit WinZip pour Exécuter réduit (dans le fond), -a indique qu'il est d'ajouter des fichiers à l'archive et -R indique que tous les fichiers dans des sous-dossiers de ce dossier devraient également être ajoutés. Voir le site de WinZip (voir Ressources) pour les options de ligne de commande et une liste complète des arguments de ligne de commande.
Enregistrez et fermez la fenêtre Visual Basic, enregistrez le formulaire puis passer à former vue. La forme apparaît avec les deux zones de texte et un bouton. Remplissez le formulaire et cliquez sur le bouton Zip pour tester le formulaire.