Il n'existe aucun moyen de définir des lignes de texte supplémentaires dans une exportation. Je suppose que vous utilisez la méthode TransferSpreadsheet pour exporter votre requête au format à largeur fixe. C'est généralement la bonne approche pour générer le contenu à largeur fixe, avec ou sans en-têtes de champ. Mais si vous voulez ajouter des lignes au fichier avant et après le contenu des données, vous devrez ouvrir le fichier existant, créer un nouveau fichier, ajouter les lignes d'en-tête, puis ajouter les données du fichier existant dans le nouveau fichier, puis ajoutez les lignes de pied de page, puis fermez les deux fichiers.
Vous pouvez utiliser les fonctions VBA intégrées pour travailler avec des fichiers, mais je trouve que la bibliothèque Scripting.Runtime offre des méthodes plus intuitives et orientées objet pour travailler avec des fichiers.
Vous aurez besoin d'ajouter une référence à la bibliothèque Microsoft Scripting Runtime Outils .. Références ..
Sub EnhanceExportedFile()
Const exportedFilePath As String = "C:\Foo.txt"
Const newFilePath As String = "C:\NewFoo.txt"
Dim fso As Scripting.FileSystemObject
Dim exportedFile As TextStream
Dim newFile As TextStream
Dim rowCount As Long
Set fso = New Scripting.FileSystemObject
Set exportedFile = fso.OpenTextFile(exportedFilePath, ForReading, False)
Set newFile = fso.CreateTextFile(newFilePath, True)
'Append the date in ISO format
newFile.WriteLine Format(Now, "yyyy-mm-dd")
'Append each line in the exported file
Do While Not exportedFile.AtEndOfStream
newFile.WriteLine exportedFile.ReadLine
rowCount = rowCount + 1
Loop
'Append the total exported lines
newFile.WriteLine rowCount
'Close both files
exportedFile.Close
newFile.Close
End Sub
Créer une requête d'en-tête d'une ligne avec des champs factices après la «date» actuelle et une requête de semi-remorque avec les éléments totaux et les mêmes «champs» vides vierges. Puis joignez-les tous ensemble dans une requête d'union avant d'exporter ... Cela pourrait fonctionner – dbmitch