A voir également:
- Commondialog VB (afficher fichier)
- Fichier rar - Guide
- Fichier host - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier iso - Guide
4 réponses
cette partie de code recupere le chemin d'un fichier dans filepath et lit le fichier text pour afficher son contenu dans une list box
il faut ajouter la commande commondialog sur le form ou il y a le bouton.
Private Sub Command2_Click()
Dim fs As Object
Dim Rep As Integer, Filenumber As Integer
Dim filepath As String, TMPligne As String
Dim Ext As Variant
Set fs = CreateObject("Scripting.FileSystemObject")
filepath = FiletoOpen(CommonDialog1, App.Path, True, "Fichier à charger", cdlOFNHideReadOnly, "Fichiers (*.txt)|*.txt", 2)
If filepath <> "" Then
Ext = Extension(filepath)
'MsgBox (Ext)
If LCase(Ext) = "txt" Then
If fs.FileExists(filepath) Then
Filenumber = FreeFile ' Lit le numéro de fichier inutilisé.
' Crée le nom du fichier.
Open filepath For Input As #Filenumber
Do While Not EOF(Filenumber)
Line Input #Filenumber, TMPligne
List1.AddItem (TMPligne)
Loop
Close #Filenumber ' Ferme le fichier.
Else
Rep = MsgBox("Le fichier " & filepath & " n'existe pas Veuillez choisir un autre fichier", vbCritical, "Erreur")
End If
Else
Rep = MsgBox("Le format du fichier est incorrecte veuillez choisir un fichier Excel", vbCritical, "Erreur")
End If
End If
End Sub
bye
mickael
il faut ajouter la commande commondialog sur le form ou il y a le bouton.
Private Sub Command2_Click()
Dim fs As Object
Dim Rep As Integer, Filenumber As Integer
Dim filepath As String, TMPligne As String
Dim Ext As Variant
Set fs = CreateObject("Scripting.FileSystemObject")
filepath = FiletoOpen(CommonDialog1, App.Path, True, "Fichier à charger", cdlOFNHideReadOnly, "Fichiers (*.txt)|*.txt", 2)
If filepath <> "" Then
Ext = Extension(filepath)
'MsgBox (Ext)
If LCase(Ext) = "txt" Then
If fs.FileExists(filepath) Then
Filenumber = FreeFile ' Lit le numéro de fichier inutilisé.
' Crée le nom du fichier.
Open filepath For Input As #Filenumber
Do While Not EOF(Filenumber)
Line Input #Filenumber, TMPligne
List1.AddItem (TMPligne)
Loop
Close #Filenumber ' Ferme le fichier.
Else
Rep = MsgBox("Le fichier " & filepath & " n'existe pas Veuillez choisir un autre fichier", vbCritical, "Erreur")
End If
Else
Rep = MsgBox("Le format du fichier est incorrecte veuillez choisir un fichier Excel", vbCritical, "Erreur")
End If
End If
End Sub
bye
mickael
z'avais oublier cette fonction desoler!!!
Public Function FiletoOpen(Commondial As CommonDialog, inipath As Variant, Optional varCancelError As Boolean, Optional title As String, Optional flag As Variant, Optional filtr As String, Optional filtridx As Integer, Optional ObjetBox As Object) As String
Commondial.CancelError = varCancelError ' Attribue à CancelError la valeur True
On Error GoTo ErrHandler
Commondial.DialogTitle = title ' Définit le titre de la fenêtre
Commondial.Flags = flag ' Définit la propriété Flags
Commondial.InitDir = inipath ' Chemin Initial
Commondial.Filter = filtr ' Définit les filtres
Commondial.FilterIndex = filtridx ' Définit le filtre par défaut
Commondial.ObjetBox ' Affiche la boîte de dialogue Ouverture
' Enregistrement du Chemin Selectionné
FiletoOpen = Commondial.FileName
ErrHandler:
'L'utilisateur a cliqué sur Annuler
End Function
Public Function FiletoOpen(Commondial As CommonDialog, inipath As Variant, Optional varCancelError As Boolean, Optional title As String, Optional flag As Variant, Optional filtr As String, Optional filtridx As Integer, Optional ObjetBox As Object) As String
Commondial.CancelError = varCancelError ' Attribue à CancelError la valeur True
On Error GoTo ErrHandler
Commondial.DialogTitle = title ' Définit le titre de la fenêtre
Commondial.Flags = flag ' Définit la propriété Flags
Commondial.InitDir = inipath ' Chemin Initial
Commondial.Filter = filtr ' Définit les filtres
Commondial.FilterIndex = filtridx ' Définit le filtre par défaut
Commondial.ObjetBox ' Affiche la boîte de dialogue Ouverture
' Enregistrement du Chemin Selectionné
FiletoOpen = Commondial.FileName
ErrHandler:
'L'utilisateur a cliqué sur Annuler
End Function
Encore une boulette à la place de cette ligne :
Commondial.ObjetBox ' Affiche la boîte de dialogue Ouverture
mettre cette ligne
Commondial.ShowOpen
dsl c'est la fin de semaine
Commondial.ObjetBox ' Affiche la boîte de dialogue Ouverture
mettre cette ligne
Commondial.ShowOpen
dsl c'est la fin de semaine
josavoi
Messages postés
3
Date d'inscription
mercredi 26 août 2009
Statut
Membre
Dernière intervention
23 novembre 2009
7 oct. 2009 à 18:07
7 oct. 2009 à 18:07
bonsoir ,
Au secours , je travaille en ce moment sur une application d'envoin d'un mail et je souhaite joindre des fichiers (.xls,.doc,.zip) à mon mail avant de l'envoyer via outlook. je ne sais comment faire pour joindre les fichiers, à l'aide s'il vous plait.
autre chose , je ne sais si c'est possible d'extraire des données ( requêtes) dans une base sql et de les afficher dans un form dans des textbox distinct ou même dans un seul textbox. svp svp aidez moi , ça fait longtemps que je cherche une solution.
merci d'avance
Au secours , je travaille en ce moment sur une application d'envoin d'un mail et je souhaite joindre des fichiers (.xls,.doc,.zip) à mon mail avant de l'envoyer via outlook. je ne sais comment faire pour joindre les fichiers, à l'aide s'il vous plait.
autre chose , je ne sais si c'est possible d'extraire des données ( requêtes) dans une base sql et de les afficher dans un form dans des textbox distinct ou même dans un seul textbox. svp svp aidez moi , ça fait longtemps que je cherche une solution.
merci d'avance
Bonjour Josavoi,
Alors en ce qui concerne ta première demande pour attacher un fichier à un mail, en règle générale il faut que tu ouvre ton fichier en binaire que tu l'encode en base 64 et (il me semble) que tu en face des lignes d'une certaine longueur (troncature) . Tu place ca dans une section attachement dans ton mail à la suite du corps du message. Tu dois obtenir ainsi quelque chose sous format text un peu comme ceci :
To:xxxxxx@agencemultiservices.eu
Subject: Fw:
Date: Sat, 4 Apr 2009 00:00:09 +0200
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_NextPart_000_005A_01C9B4B8.51BB95C0"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1807
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1807
X-me-spamlevel: not-spam
X-me-spamrating: 34.000000
X-me-spamcause: OK, (-150)(0000)
X-Antivirus: avast! (VPS 090424-0, 24/04/2009), Inbound message
X-Antivirus-Status: Clean
This is a multi-part message in MIME format.
------=_NextPart_000_005A_01C9B4B8.51BB95C0
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_005B_01C9B4B8.51BB95C0"
------=_NextPart_001_005B_01C9B4B8.51BB95C0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
ici le texte du corps du message sous format text
------=_NextPart_001_005B_01C9B4B8.51BB95C0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Flashmail</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<STYLE type=3Dtext/css>BODY {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
TABLE {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
TR {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
TD {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
P {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
BODY {
BACKGROUND: #ffffff
}
</STYLE>
<META content=3D"MSHTML 6.00.2800.1561" name=3DGENERATOR></HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV style=3D"FONT: 10pt arial">
</DIV></DIV>
<DIV><FONT face=3DArial size=3D2></FONT><BR></DIV>
<DIV><FONT face=3DArial size=3D2>ici le texte du corps du message sous format html</FONT> </DIV>
<STYLE>
</STYLE>
</BODY></HTML>
------=_NextPart_001_005B_01C9B4B8.51BB95C0--
------=_NextPart_000_005A_01C9B4B8.51BB95C0
Content-Type: application/vnd.ms-powerpoint;
name="=?iso-8859-1?Q?=EAtes-vous_b=EAtes-.pps?="
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="=?iso-8859-1?Q?=EAtes-vous_b=EAtes-.pps?="
0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAABJAAAA4yMAAAAAAAAA
EAAA5iMAAAEAAAD+////AAAAAOsjAADsIwAA7SMAAO4jAADvIwAA8CMAAPEjAADyIwAA8yMAAPQj
AAD1IwAA9iMAAPcjAAD4IwAA+SMAAPojAAD7IwAA/CMAAP0jAAD+IwAA/yMAAAAkAAABJAAAAiQA
AAMkAAAEJAAABSQAAAYkAAAHJAAACCQAAAkkAAAKJAAACyQAAAwkAAANJAAADiQAAA8kAAAQJAAA
ESQAABIkAAATJAAAFCQAABUkAAAWJAAAFyQAABgkAAAZJAAAGiQAABskAAAcJAAAHSQAAB4kAAAf
JAAAICQAACEkAAAiJAAAIyQAACQkAAAlJAAAJiQAACckAAAoJAAAKSQAACokAAArJAAALCQAAC0k
AAAuJAAALyQAADAkAAAxJAAA5CMAAOUjAAD/////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////+g
Rh3weNcAACDFde0w8LELfJORhWAKGKb//9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAE
AAAAPAAA/+4AJkFkb2JlAGTAAAAAAQMAFQQDBgoNAAAruAAAMKcAAGebAADXZf/bAIQABgQEBAUE
BgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8f
HwEHBwcNDA0YEBAYGhURFRofHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f
Hx8fHx8fHx8f/8IAEQgCHALQAwERAAIRAQMRAf/EANEAAAMBAQEBAQAAAAAAAAAAAAABAgMEBwYF
AQEBAQEBAQEAAAAAAAAAAAAAAQIDBAUGEAACAQQCAgEEAgICAwEAAAAAEQEQIQISIBMiAzBAUGAx
QSNwgAQUkKAyJBEAAQMBBQYEBAUDBQAAAAAAAAEhMRAgMBFBMkBQUZECImFxgaFgcLES8NHhAzOA
8ULBUnKSIxIBAAAAAAAAAAAAAAAAAAAAwBMAAwABAwMDBAIDAQEBAQAAAAERIRAxQVFhcSCBkTCh
scHR4UBQ8PFgcID/2gAMAwEAAhEDEQAAAeT6XNgMYDECKkMCaiguNIvNqLhiAYQqmkZ1nokiopwG
ACAQAOKl1w0xf1eGgApxQ4oqGIKkVTQONI1xdYqHLUKosipqaizHSNTOsNzHSaRNmejEZak
G86rHUmyVy1UuduNRWWmZFmVuWuc252TLNTZBNRULNRQsUiaQE25rGiUhVnaBUyscKhSGOUJpAI
KkctAZ2OW4KIcTojTK5QBiERYqBDgq80QWhiGJGqT2H5PmDPVzqUx0ixVhq51kZ6uVmaTbmRqQTU
iIqTPSVRNskk0lBLFRSWKzpqQlKQDlYBKAAEipAqsUrFSHFRNFXki40lYRNAibJURiHKygKgCmAo
nU9f+X5Ai3PUSSuWmVmdY6uVkVlUNRUEkVJIjLQIXPRSxQKiVE1GilztkiptcTTWQlYDhDWhRNOV
WTQEsUAAQDKCGBUqrSFDMtKhUhAAyoAKgGIoBV6187w56jM7MdXOxEW5WxUNZVKwZ1NmVSQKkZqL
lUiVVJKyArZsTWZNsCpKgAKJWOBXDhKqCCaBCGSMoAAQFyuFVxFBRMFOJpxNVDEXBVQCGAV6r4vm
5bQXNTNTWWmaZ3UpjbnWdZ1mSZ1KlIUpGeiWKmWVikClRErFRStRKzRmllKhAVLNVDlIVIVSTQIQ
wCEFUAQFK4qAZJNIVIZUSMcUFOAoAh16X5vnXK1ztZ
------=_NextPart_000_005A_01C9B4B8.51BB95C0--
Je pense qu'ensuite il te suffit de donner l'extension .eml pour pourvoir lire le mail dans outlook par exemple.
Pour ta deuxieme question oui c'est tout a fais possible.
Voila J'espere que ce message va t'aider et que j'ai été suffisament clair.
Bon courage
Mikl
Alors en ce qui concerne ta première demande pour attacher un fichier à un mail, en règle générale il faut que tu ouvre ton fichier en binaire que tu l'encode en base 64 et (il me semble) que tu en face des lignes d'une certaine longueur (troncature) . Tu place ca dans une section attachement dans ton mail à la suite du corps du message. Tu dois obtenir ainsi quelque chose sous format text un peu comme ceci :
To:xxxxxx@agencemultiservices.eu
Subject: Fw:
Date: Sat, 4 Apr 2009 00:00:09 +0200
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_NextPart_000_005A_01C9B4B8.51BB95C0"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1807
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1807
X-me-spamlevel: not-spam
X-me-spamrating: 34.000000
X-me-spamcause: OK, (-150)(0000)
X-Antivirus: avast! (VPS 090424-0, 24/04/2009), Inbound message
X-Antivirus-Status: Clean
This is a multi-part message in MIME format.
------=_NextPart_000_005A_01C9B4B8.51BB95C0
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_005B_01C9B4B8.51BB95C0"
------=_NextPart_001_005B_01C9B4B8.51BB95C0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
ici le texte du corps du message sous format text
------=_NextPart_001_005B_01C9B4B8.51BB95C0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Flashmail</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<STYLE type=3Dtext/css>BODY {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
TABLE {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
TR {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
TD {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
P {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
BODY {
BACKGROUND: #ffffff
}
</STYLE>
<META content=3D"MSHTML 6.00.2800.1561" name=3DGENERATOR></HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV style=3D"FONT: 10pt arial">
</DIV></DIV>
<DIV><FONT face=3DArial size=3D2></FONT><BR></DIV>
<DIV><FONT face=3DArial size=3D2>ici le texte du corps du message sous format html</FONT> </DIV>
<STYLE>
</STYLE>
</BODY></HTML>
------=_NextPart_001_005B_01C9B4B8.51BB95C0--
------=_NextPart_000_005A_01C9B4B8.51BB95C0
Content-Type: application/vnd.ms-powerpoint;
name="=?iso-8859-1?Q?=EAtes-vous_b=EAtes-.pps?="
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="=?iso-8859-1?Q?=EAtes-vous_b=EAtes-.pps?="
0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAABJAAAA4yMAAAAAAAAA
EAAA5iMAAAEAAAD+////AAAAAOsjAADsIwAA7SMAAO4jAADvIwAA8CMAAPEjAADyIwAA8yMAAPQj
AAD1IwAA9iMAAPcjAAD4IwAA+SMAAPojAAD7IwAA/CMAAP0jAAD+IwAA/yMAAAAkAAABJAAAAiQA
AAMkAAAEJAAABSQAAAYkAAAHJAAACCQAAAkkAAAKJAAACyQAAAwkAAANJAAADiQAAA8kAAAQJAAA
ESQAABIkAAATJAAAFCQAABUkAAAWJAAAFyQAABgkAAAZJAAAGiQAABskAAAcJAAAHSQAAB4kAAAf
JAAAICQAACEkAAAiJAAAIyQAACQkAAAlJAAAJiQAACckAAAoJAAAKSQAACokAAArJAAALCQAAC0k
AAAuJAAALyQAADAkAAAxJAAA5CMAAOUjAAD/////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////+g
Rh3weNcAACDFde0w8LELfJORhWAKGKb//9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAE
AAAAPAAA/+4AJkFkb2JlAGTAAAAAAQMAFQQDBgoNAAAruAAAMKcAAGebAADXZf/bAIQABgQEBAUE
BgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8f
HwEHBwcNDA0YEBAYGhURFRofHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f
Hx8fHx8fHx8f/8IAEQgCHALQAwERAAIRAQMRAf/EANEAAAMBAQEBAQAAAAAAAAAAAAABAgMEBwYF
AQEBAQEBAQEAAAAAAAAAAAAAAQIDBAUGEAACAQQCAgEEAgICAwEAAAAAEQEQIQISIBMiAzBAUGAx
QSNwgAQUkKAyJBEAAQMBBQYEBAUDBQAAAAAAAAEhMRAgMBFBMkBQUZECImFxgaFgcLES8NHhAzOA
8ULBUnKSIxIBAAAAAAAAAAAAAAAAAAAAwBMAAwABAwMDBAIDAQEBAQAAAAERIRAxQVFhcSCBkTCh
scHR4UBQ8PFgcID/2gAMAwEAAhEDEQAAAeT6XNgMYDECKkMCaiguNIvNqLhiAYQqmkZ1nokiopwG
ACAQAOKl1w0xf1eGgApxQ4oqGIKkVTQONI1xdYqHLUKosipqaizHSNTOsNzHSaRNmejEZak
G86rHUmyVy1UuduNRWWmZFmVuWuc252TLNTZBNRULNRQsUiaQE25rGiUhVnaBUyscKhSGOUJpAI
KkctAZ2OW4KIcTojTK5QBiERYqBDgq80QWhiGJGqT2H5PmDPVzqUx0ixVhq51kZ6uVmaTbmRqQTU
iIqTPSVRNskk0lBLFRSWKzpqQlKQDlYBKAAEipAqsUrFSHFRNFXki40lYRNAibJURiHKygKgCmAo
nU9f+X5Ai3PUSSuWmVmdY6uVkVlUNRUEkVJIjLQIXPRSxQKiVE1GilztkiptcTTWQlYDhDWhRNOV
WTQEsUAAQDKCGBUqrSFDMtKhUhAAyoAKgGIoBV6187w56jM7MdXOxEW5WxUNZVKwZ1NmVSQKkZqL
lUiVVJKyArZsTWZNsCpKgAKJWOBXDhKqCCaBCGSMoAAQFyuFVxFBRMFOJpxNVDEXBVQCGAV6r4vm
5bQXNTNTWWmaZ3UpjbnWdZ1mSZ1KlIUpGeiWKmWVikClRErFRStRKzRmllKhAVLNVDlIVIVSTQIQ
wCEFUAQFK4qAZJNIVIZUSMcUFOAoAh16X5vnXK1ztZ
------=_NextPart_000_005A_01C9B4B8.51BB95C0--
Je pense qu'ensuite il te suffit de donner l'extension .eml pour pourvoir lire le mail dans outlook par exemple.
Pour ta deuxieme question oui c'est tout a fais possible.
Voila J'espere que ce message va t'aider et que j'ai été suffisament clair.
Bon courage
Mikl