Manipulation de fichier

Résolu
Signaler
Messages postés
200
Date d'inscription
mardi 17 octobre 2006
Statut
Membre
Dernière intervention
24 mars 2012
-
Messages postés
200
Date d'inscription
mardi 17 octobre 2006
Statut
Membre
Dernière intervention
24 mars 2012
-
Bonjour à tous.

Je voudrais savoir comment renommer et le nom et l'extension d'un fichier (de .doc en .rtf).
Sinon si vous connaissez un moyen simple et efficace de les convertir je suis aussi preneur.

Merci de votre aide à tous.

7 réponses

Messages postés
168
Date d'inscription
jeudi 28 juin 2001
Statut
Membre
Dernière intervention
18 octobre 2008
7
Salut,

Ce petit bout de code (peut-être pas le plus court) permet de retirer l'extension d'un fichier et de la remplacer par une autre (et par la même renommer le fichier) :

Sub Renommer(source As String, nouvelleExtension As String)
        Dim titre As String = System.IO.Path.GetFileNameWithoutExtension(source)
        Dim chemin As String = System.IO.Path.GetDirectoryName(source)

        Dim destination As String = System.IO.Path.Combine(chemin, titre) + "." + nouvelleExtension

        System.IO.File.Move(source, destination)
End Sub

A partir de là, un Renommer("c:\dossier\monfichier.doc", "rtf") déplace le fichier "c:\dossier\monfichier.doc" vers "c:\dossier\monfichier.rtf".
Messages postés
200
Date d'inscription
mardi 17 octobre 2006
Statut
Membre
Dernière intervention
24 mars 2012
2
Désolé j'ai oublié de préciser.
Je peux être en vb2003 ou en vb2005.

Merci de votre aide à tous.
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Name Source As Destination
mais je ne sais pas si c'est la meilleurs méthode en .NET.
En tout cas cela fonction nickel en VB6.
Pour la conversion... je ne sais pas

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Salut, pour la conversion ouvrir le .doc et un saveas en .rtf.

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)
Messages postés
200
Date d'inscription
mardi 17 octobre 2006
Statut
Membre
Dernière intervention
24 mars 2012
2
Bonjour jrivet drikce06, niky

Merci de vos réponse. Elle m'ont guidées. dans la solution de conversion.

niky tu as raison c'est un file.move qu'il faut faire et on peut je pense faire plus court aussi dans le code avec un for each par exemple.

dim NomFichier as string = chemin du dossier à parcourir

For Each NomFichier in Directory.GetFiles (Nomfichier)
   NomFichier.move (NomFichier, NomFichier.replace(".doc", ".rtf"))   
Next

J'ai vérifié, l'ouverture fonctionne avec Word et le contenu du texte est bien gardé (gras, italique, souligné, couleurs, tabultion, centrée, à droite, ...)

Merci de votre aide à tous.
Messages postés
168
Date d'inscription
jeudi 28 juin 2001
Statut
Membre
Dernière intervention
18 octobre 2008
7
Mefie toi juste de la fonction Replace. Elle peut avoir des effets de bord gênant :
Si on prend les exemples des fichiers suivants :
c:\Mes.documents\fichier.doc   --> c:\Mes.rtfuments\fichier.rtf
c:\dossier\fichier.DOC --> c:\dossier\fichier.DOC (à cause de la casse)

Le résultat peut ne pas toujours être celui souhaité.
Messages postés
200
Date d'inscription
mardi 17 octobre 2006
Statut
Membre
Dernière intervention
24 mars 2012
2
C'est vrai, tu as raison. Normalement ce cas ne peut pas m'arriver mais dans le dev rien n'est normal donc je vais m'inspirer de ce que tu m'as dit pour m'éviter des désagréments. En tout cas j'espère que cela servira à d'autres.

Merci encore niky.