Accueil
Accueil Le Club Delphi Kylix C C++ Java J2EE DotNET & C# Visual Basic Access Pascal Dev Web PHP ASP XML UML SQLSGBD Windows Linux Autres
logo

precedent    sommaire    suivant   


Comment copier un fichier d'un répertoire à un autre ?
auteur : Frank
 'Déclarer deux variables string pour les emplacements
Dim sEmplacementInitial As String, sEmplacementFinal As String

sEmplacementInitial="c:\MonrepertoireIni\Monfichier.xls"
sEmplacementFinal="D:\Monrepertoirefin\Monfichier.xls"

 'Copie du fichier
FileCopy sEmplacementInitial,sEmplacementFinal

Comment copier un répertoire ?
auteur : Romain Puyfoulhoux
Ce source copie le contenu du répertoire c:\sources dans le répertoire c:\oldsources. Passer la valeur True en troisième paramètre de CopyFolder indique que les fichiers existants devront être écrasés.
Dim fso As FileSystemObject
Set fso = New FileSystemObject
fso.CopyFolder "c:\sources", "c:\oldsources", True
Set fso = Nothing
lien : FAQ VB

Comment créer un répertoire avec Access ?
auteur : Frank
Intéressez-vous à la fonction MkDir().


Comment créer et écrire dans un fichier texte ?
auteur : Team Access
Pour transférer le contenu d'une table ou d'une requête, utiliser la méthode Docmd.TransferText

Sinon pour écrire directement du texte :
open "Nom_Fichier" for Output as #1
Print #1, "Place ta donnée à insérer ici" 
Close #1 
lien : Comment travailler sur un fichier texte (création, lecture, écriture ...)
lien : Manipuler les fichiers textes

Comment envoyer un fichier à la corbeille ?
auteur : Romain Puyfoulhoux
En utilisant les API Windows. Copiez ce code source dans un module standard :
Private Type SHFILEOPSTRUCT
   hwnd As Long
   wFunc As Long
   pFrom As String
   pTo As String
   fFlags As Long
   fAnyOperationsAborted As Long
   hNameMappings As Long
   lpszProgressTitle As String
End Type

Private Const FO_DELETE As Long = &H3
Private Const FOF_ALLOWUNDO As Long = &H40

Private Declare Function SHFileOperation Lib "Shell32.dll" Alias "SHFileOperationA" _
                                         (lpFileOp As SHFILEOPSTRUCT) As Long

Public Function DansCorbeille(fichier As String, handle As Long) As Boolean

    Dim DelFileOp As SHFILEOPSTRUCT
    Dim Result As Long

    With DelFileOp
       .hwnd = handle
       .wFunc = FO_DELETE
       .pFrom = fichier & vbNullChar & vbNullChar
       .fFlags = FOF_ALLOWUNDO
    End With
   
    Result = SHFileOperation(DelFileOp)
    DansCorbeille = (Result = 0) And (DelFileOp.fAnyOperationsAborted = 0)

End Function
La fonction DansCorbeille renvoie True si l'envoi du fichier dans la corbeille a été effectué. Ses paramètres sont le
chemin complet du fichier et le handle de la fenêtre utilisé pour afficher les éventuelles boîtes de dialogue d'avertissement ou
de demande de confirmation. Ce deuxième paramètre peut être une valeur nulle. Voici un exemple d'utilisation de cette fonction :
If DansCorbeille("C:\lettre.doc", Me.hwnd) Then
    MsgBox "Le fichier a été déplacé dans la corbeille"
Else
    MsgBox "Le fichier n'a pas pu être déplacé dans la corbeille"
End If
lien : FAQ VB
lien : faq Comment ouvrir un fichier HTML, Word, PDF ou autre en utilisant l'exécutable associé ?
lien : faq Que faire quand l'API ShellExecute ne fonctionne pas ?

Importation de fichier texte dans une table, comment préciser le séparateur dans la commande TransferText ?
auteurs : Ellessar, DMboup
Il faut vous créer un format d'importation.


Complément de DMboup :

Pour créer le format d'importation, il faut lancer l'assistant d'importation à travers le menu Fichier = > Données Externes = > Importer.

Après avoir choisi le fichier texte à importer, la fenêtre d'importation de fichier texte s'affiche où on trouve un bouton Avancé. Ce bouton permet d'accéder à une autre fenêtre qui permet de spécifier les paramètres d'importation notamment le délimiteur. Ensuite Un bouton Enregistrer sous permet de sauvegarder le modèle ainsi crée.

Le modèle est enregistré dans une table système MSysIMEXSpecs de manière permanente dans la base pour pouvoir être utilisé dans la commande DoCmd.transfertText.

DoCmd.TransferText acImportDelim, "NomModel", "TableDestination", "FichierSource"

Comment lire / écrire dans un fichier .ini ?
auteur : Romain Puyfoulhoux
Les fichiers .ini sont des fichiers texte utilisés pour enregistrer les options d'un programme. Ils sont composés de sections, qui contiennent des clés auxquelles on peut donner une valeur. Par exemple :
[Affichage]
State=Maximized
Left=50
Top=80
[Sauvegarde]
Confirm=True
Auto=False
Pour pouvoir respectivement lire et écrire dans un fichier .ini, voici les décarations que vous devez ajouter dans votre module :
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" _
    (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, _
    ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long

Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" _
    (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, _
    ByVal lpFileName As String) As Long
Voici ci-dessous la fonction qui écrira une valeur pour la clé et dans la section indiquée. Notez que vous n'avez pas besoin de créer le fichier s'il n'existe pas, car la fonction WritePrivateProfileString le fait pour vous.
Private Function EcritDansFichierIni(Section As String, Cle As String, _
                                     Valeur As String, Fichier As String) As Long
EcritDansFichierIni = WritePrivateProfileString(Section, Cle, Valeur, Fichier)
End Function
Et voyons maintenant la fonction qui nous retournera la valeur d'une clé dans une section donnée. ValeurParDefaut contient la valeur qui devra nous être retournée si le fichier n'existe pas, ou si aucune valeur n'a été spécifiée pour la clé demandée :
Private Function LitDansFichierIni(Section As String, Cle As String, Fichier As String, _
    Optional ValeurParDefaut As String = "") As String

Dim strReturn As String
strReturn = String(255, 0)
GetPrivateProfileString Section, Cle, ValeurParDefaut, strReturn, Len(strReturn), Fichier
LitDansFichierIni = Left(strReturn, InStr(strReturn, Chr(0)) - 1)

End Function
Le code nécessaire pour écrire la section [Affichage] du fichier donné en exemple sera :
EcritDansFichierIni "Affichage", "State", "Maximized", "c:\config.ini"
EcritDansFichierIni "Affichage", "Left", "50", "c:\config.ini"
EcritDansFichierIni "Affichage", "Top", "80", "c:\config.ini"
Et nous pourrons lire la valeur donnée à la clef "Left" avec :
LeftParam = LitDansFichierIni("Affichage", "Left", "c:\config.ini", 100)
lien : FAQ VB

Comment renommer un fichier ou un répertoire ?
auteur : Romain Puyfoulhoux
'Renomme "c:\temp\Erreurs.tmp" en "c:\temp\Erreurs.bak"
Name "c:\temp\Erreurs.tmp" As "c:\temp\Erreurs.bak"
'Renomme le répertoire "c:\temp" en "c:\var"
Name "c:\temp" As "c:\var"
lien : FAQ VB

Comment détruire un fichier ?
auteur : Romain Puyfoulhoux
Kill "c:\Erreurs.tmp"
Le fichier doit exister sinon une erreur d'exécution a lieu.

lien : FAQ VB

Comment supprimer un répertoire ?
auteur : Romain Puyfoulhoux
Avec RmDir, mais vous ne pouvez l'utiliser que pour supprimer des répertoires vides.
RmDir "c:\temp"
Pour supprimer un répertoire qui contient fichiers ou répertoires, utilisez le FileSystemObject, qui est disponible seulement si vous avez inclus la librairie Microsoft Scripting Runtime dans les références de votre projet.
Dim fso as FileSystemObject
Set fso = New FileSystemObject
fso.DeleteFolder "c:\temp", True
La valeur True passée au deuxième paramètre permet de supprimer le répertoire dans le cas où il aurait l'attribut lecture seule. Ce paramètre est optionnel, et a la valeur False par défaut.

lien : FAQ VB
lien : Utiliser fileSystemObject

Comment compresser et décompresser des fichiers ?
auteurs : Elifqaoui, Romain Puyfoulhoux
VB n'inclut pas de composant permettant de compresser des fichiers. Il est possible de s'en sortir en exécutant, via la fonction Shell, un programme de type pkzip. Mais une solution plus pratique est d'utiliser une librairie ou un active-x. Ici nous utiliserons la zlib, qui a l'avantage d'être gratuite, open source et de créer des zips standards. Le code à écrire en VB pour la manipuler étant assez conséquent, nous allons aussi importer les classes VB d'Andrew McMillan disponibles dans les fichiers zipclass.zip et ZipExtractionClass.zip (la zlib est aussi dans ces zips).

Après avoir téléchargé ces 2 fichiers, importez les classes dans votre projet et copiez le fichier zlib.dll dans le répertoire de votre projet ou dans le répertoire système.

Voici comment créer un fichier zip :
Dim z As ZipClass
   
Set z = New ZipClass
z.AddFile "c:\test.doc"
z.AddFile "c:\test.jpg"
z.WriteZip "c:\test.zip", True
Set z = Nothing
Et comment faire une extraction :
Dim zip As ZipExtractionClass

Set zip = New ZipExtractionClass
If zip.OpenZip("C:\Test\Test.zip") Then
   If zip.Extract("C:Test\Extract", True, True) Then
      MsgBox "Extraction terminée.", vbInformation
   End If
   zip.CloseZip
End If
Set zip = Nothing
lien : FAQ VB
lien : Zipper des fichiers en exécutant la fonction shell

precedent    sommaire    suivant   

Consultez les autres F.A.Q's


Les sources présentés sur cette pages sont libre de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2004  Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérets. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com