Enregistrer fichier Excel en VBA sous Access
Bonjour,
J'ai un fichier DQY qui s'ouvre dans un fichier Excel en VBA.
J'aimerai pouvoir enregistrer ce fichier excel dans un répertoire spécifique. Le problème je ne trouve pas la bonne propriété car elle est différente que le VBA sous Excel.
Voila mon code :
Code:
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
| 'On intègre dans la feuille BDCF les résultats du fichier dqy
Private Sub extraction_dqy_aval(fichier_bdcf_aval, ledir_bdcf)
Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
xlApp.Workbooks.Open ("" & ledir_bdcf & fichier_bdcf_aval & "")
'On ajoute la derniere dans le fichier
intFic = FreeFile
Open ledir_bdcf & fichier_bdcf_aval For Append As intFic
Print #intFic, res
Close intFic
'On lance l'éxécution du fichier DQY
With ActiveSheet.QueryTables.Add(Connection:= _
"FINDER;" & ledir_bdcf & fichier_bdcf_aval & "", _
Destination:=Range("A1"))
.Name = "bdcf_aval"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
timestamp = Format(Now, "dd-mm-yyyy-hhnnssms")
fichier_final = "bdcf_aval_MAJ_timestamp"
xlApp.Workbooks.SaveAs "" & ledir_bdcf & "Archive/" & fichier_final & ""
End Sub |
Ma dernière ligne ne fonctionne pas bien sûr :)
Cordialement
Sauvegarder un Classeur Excel en Lecture seule
pour Hopee,
voir ma solution dans ma réponse du 26/06 : il faut mettre la propriété du Classeur en Lecture-Ecriture avant son ouverture (je crois). dans mon code ça marche
Extraits :
Dim NomFichierExcel As String
Dim NomClasseur As String
Dim ApplicationExcel As Excel.Application 'Application Excel
Dim FichierExcel As Excel.Workbook 'Classeur Excel
NomClasseur = "MonClasseur.xlsx" 'Nom du Classeur
NomFichierExcel = "C:\MonRepertoire\MonClasseur.xlsx" 'Chemin du Classeur
Set ApplicationExcel = GetObject(, "Excel.Application") 'Session active d'Excel
SetAttr NomFichierExcel, vbNormal 'Donne la propriété Lecture-écriture au Classeur
Set FichierExcel = ApplicationExcel.Workbooks(NomFichierExcel)
' ...
FichierExcel.Save