'détermination root Dim chemin As String = "c:" 'déclaration d'une nouvelle liste Dim Liste As New SortedList 'énumération des fichiers pdf For Each fichier As IO.FileInfo In New IO.DirectoryInfo(chemin).GetFiles("*.pdf").ToArray 'détermination de la clé Dim cle_liste As String = fichier.Name.Split("_"c)(0) 'si la clé n'existe pas ... If Not Liste.ContainsKey(cle_liste) Then 'j'ajoute la clé avec une nouvelle List(Of .. comme objet Liste.Add(cle_liste, New List(Of String)) End If 'je me sers de la clé pour trouver l'objet List(Of auquel ajouter le nom du fichier 'note : je dois juste caster l'item (de type object) de ma liste dans le type List(Of ' pour pouvoir y ajouter le nom du fichier DirectCast(Liste.Item(cle_liste), List(Of String)).Add(fichier.FullName) Next 'ensuite, pour chaque clé de ma liste ... For Each key As String In Liste.Keys 'je crée un tableau (array) de type string et j'y met le contenu de l'objet retrouvé 'grâce a la clé (on caste ici aussi) Dim listedepdf() As String = DirectCast(Liste.Item(key), List(Of String)).ToArray 'détermination du fichier cible en me servant du nom de la clé pour le nom du fichier 'de fusion (tu avais mis Fusion.pdf mais ça n'irait pas vu qu'il y aura plusieurs fusions) Dim cible As String = IO.Path.Combine(chemin, "Fusionner", key.ToString & ".pdf") 'merge avec itext mergepdfsfiles(listedepdf, cible, ) Next
Dim cible As String = IO.Path.Combine(chemin, "Fusionner", key.ToString & ".pdf")
Dim cible As String cible = chemin & "Fusionner" & key.ToString & ".pdf"
fichier.Name.Split("_"c)(0)
Je ne comprend pas pourquoi le combine ne fonctionne pas.Mystère
Je n'ai pas très bien compris la ligneSi tu actives Option Strict dans les propriétés de ton projet, tu constateras que Split("_") sera refusé. La méthode split attend un objet de type Char en paramètre. Il s'agit donc de le lui indiquer au moyen du 'c'.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question