Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 [Résolu] VBA : bizarrerie création de fichier .zip

dionys0s

XLDnaute Impliqué
Bonjour le forum,

via divers recherches (ici notamment), j'ai la fonction suivante qui me permet de créer une archive vide :

VB:
Public Function Create(ByVal ZipFileFullName As String) As Shell32.Folder

  Dim FileNumber As Long

  Let FileNumber = VBA.FreeFile
  Open ZipFileFullName For Output As #FileNumber
  Print #FileNumber, VBA.Chr$(80) & VBA.Chr$(75) & VBA.Chr$(5) & VBA.Chr$(6) & VBA.String$(18, 0)
  Close #FileNumber

  with New Shell32.Shell
    Set Create = .NameSpace(ZipFileFullName)
  End With

End Function

Mon archive est bien crée suite à l'exécution de la fonction. Toutefois, j'observe que lorsque j'ouvre dans 7zip l'archive créée, je ne peux pas ajouter de dossier (clic droit => créer un dossier) : l'option est désactivée.


Et si j'essaie avec le raccourci (F7), j'ai un message d'erreur :


Maintenant, si j'ouvre mon archive dans Notepad++, j'observe qu'il y a 2 lignes dans mon fichiers. La deuxième est vide. Je la supprime, sauvegarde et ferme l'archive dans Notepad++, la réouvre dans 7zip, alors l'option créer dossier est accessible et elle fonctionne normalement.

Comment se fait-il qu'une ligne vide soit ajoutée à la fin du fichier ? Puis-je remédier à ce problème directement dans la fonction ?
D'avance, merci pour votre aide ^^

Edit : résolu, j'ai trouvé la réponse ici : ajouter un point-virgule à la fin de l'instruction Print
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…