1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
Sub centre()
On Error GoTo Err_Sub
Dim Fichier
Dim MesParametres(1) As String
Dim destPath, racinePath, sParamFile, sDestFile, SFormat As String
Dim reps As Reports, rep As Report
Dim nbr As Integer, nir As Integer
Dim fs, mesVariables, Counter, MaVariable, Interactive, SdestFil
Set ActDoc = ThisDocument
Set fs = CreateObject("Scripting.FileSystemObject")
racinePath = "tonrépertoire"
racineParam = ActiveDocument.Path & "\"
sParamFile = "LISTE_CENTRE.var" 'créer un fichier texte et le renommer l'extension par .var versus .txt
'Paramétrage
dtefic = Format(CDate(Date), "yyyymmdd")
ActDoc.Activate
'ouverture et lectiure fichier de param
Set Fichier = CreateObject("Scripting.FileSystemObject")
Set FichierParam = Fichier.OpenTextFile(racineParam & sParamFile, ForReading)
While FichierParam.AtEndOfStream <> True
Fichierligne = FichierParam.ReadLine
If Trim(Fichierligne) <> "" Then
' lecture des paramètrres du fichier
lesParametres = Split(Fichierligne, ";")
MesParametres(0) = lesParametres(0)
End If
'Lecture des paramètrres du fichier
'Affectation des paramètres au rapport
Set AppBO = Application
Set mesVariables = AppBO.ActiveDocument.Variables
Counter = 0
For Each MaVariable In mesVariables
MaVariable.Value = MesParametres(Counter) ' Counter représente le champ et Counter+1 représente la valeur
Counter = Counter + 1 ' Incrémente le compteur.
Next
'Rafraîchissement du rapport
Application.Interactive = False
ActDoc.Refresh
nblignes = Application.ActiveDocument.DataProviders.Item(1).NbRowsFetched
Application.Interactive = True
'Test nombre de lignes retourné par requête ne génére pas de fichier si pas de données
If nblignes > 0 Then
If fs.folderexists(racinePath & Format(dDateDeb, "yyyy") & "\") = False Then
fs.createfolder (racinePath & Format(dDateDeb, "yyyy") & "\")
End If
destPath = racinePath & Format(dDateDeb, "yyyy") & "\"
If fs.folderexists(destPath & Format(dDateDeb, "mmmm") & "\") = False Then
fs.createfolder (destPath & Format(dDateDeb, "mmmm") & "\")
End If
destPath = destPath & Format(dDateDeb, "mmmm") & "\"
sNomFichier = ActiveDocument.Name & "_" & dtefic & "_" & lesParametres(0) & ".txt"
FileName = destPath & sNomFichier
ActDoc.SaveAs FileName, 1
End If
Wend
'Fermeture fichier et application
fin:
Application.Interactive = False
'Application.Interactive = True
Application.Quit
Err_Sub:
Interactive = True
Err_Mkdir:
Resume Next
End Sub |
Partager