Dans le même ordre d'idée, cette DLL comprend plusieurs classes qui ont chacune des propriétés bien distinctes. Comment puis je modifier ces propriétés? Existe t'il un moyen de "déclarer" ces propriétés? Ou via fox pro ce genre d'opération n'est pas possible.
Merci de votre aide.
Dans le cas ou ca peut aider, voici un exemple de code mais fait en VB qui fait appel à cette DLL.
Dim Wb As New WinbooksObject
Private Sub Form_Unload(Cancel As Integer)
Wb.CloseDossier
End Sub
Private Sub Import_Click()
'Initialisation
Dim i As Integer
If Wb.Init <> 0 Then MsgBox Wb.LastErrorMessage: Exit Sub
'Login utilisateur
If Wb.Login("SYSTEM", "") <> 0 Then MsgBox Wb.LastErrorMessage: Exit Sub
'Ouverture du dossier Parfilux, le dossier de test
If Wb.OpenDossier("PARFILUX") <> 0 Then MsgBox Wb.LastErrorMessage: Exit Sub
'Pour l'année 1999
If Wb.OpenBookYear("Ex. 1999") <> 0 Then MsgBox Wb.LastErrorMessage: Exit Sub
'Importation au format DBF
If Wb.Import.FileFormat("DBF") = False Then MsgBox Wb.LastErrorMessage: Exit Sub
'Spécification du directory contenant les fichiers importés
If Wb.Import.Directory(App.Path & "\ImportFiles") = False Then MsgBox Wb.LastErrorMessage: Exit Sub
' Spécification du format d'origine de l'importation
wb.import.linkformat=wbWinbooks
'Demander un backup des datas et des fichiers importés
If Wb.Import.Backup(App.Path & "\Backup") = False Then
MsgBox Wb.LastErrorMessage
Exit Sub
End If
'On importe des factures de Décembre
If Wb.Import.SetDefaultPeriod(Wb.Param.PeriodInternalCode("01/12/1999")) = False Then MsgBox Wb.LastErrorMessage: Exit Sub
&& ici le set des différentes propriétés qui vont gérer le comportement de l'import
'Traitement des erreurs
'Compte manquant -> fiche blanche
Wb.Import.ErrorCodes("ACC_MISS").SetResolution = wbBlankRecord
'Memo changé : remplacer par le mémo importé
Wb.Import.ErrorCodes("MEM_DIFF").SetResolution = wbReplace
'Fiche modifiée : prendre le contenu de la fiche importée
Wb.Import.ErrorCodes("ACC_MOD").SetResolution = wbReplace
'Rupture dans la numérotation : le signaler : on laisse à WbToResolve
Wb.Import.ErrorCodes("SEQ_RUPT").SetResolution = wbToResolve
'Un document existe déjà dans le dossier cible : remplacer
Wb.Import.ErrorCodes("DOC_NUM").SetResolution = wbReplace
'Le libellé d'un code table a changé : remplacer par le libellé importé
Wb.Import.ErrorCodes("TAB_MOD").SetResolution = wbReplace
'Il y a un taux de change différent pour cette devise : prendre le taux importé
Wb.Import.ErrorCodes("CUR_ERR").SetResolution = wbReplace
'Le fichier d'importation contient des écritures rigoureusement identiques au dossier cible : continuer
Wb.Import.ErrorCodes("SAM_FIL").SetResolution = wbAccept
'écriture avec date hors-période : accepter
Wb.Import.ErrorCodes("OUT_DAT").SetResolution = wbAccept
'On lance la procédure de test
If Wb.Import.test = False Then MsgBox "Erreur au cours de la procédure de test": Exit Sub
For i = 1 To Wb.Import.Warnings.Count
If Wb.Import.Warnings(i).GetResolution = 0 Then
MsgBox "Tous les warnings ne sont pas corrigés (" & Wb.Import.Warnings(i).Code & ")"
End If
Next i
Wb.Import.ErrorCodes("SEQ_RUPT").SetResolution = wbAccept
If Wb.Import.FatalErrors.Count > 0 Then MsgBox "Erreurs fatales dans les fichiers d'importation. Impossible de poursuivre !": Exit Sub
If Wb.Import.Warnings.Count > 0 Then MsgBox "Erreurs de type warning dans les fichiers d'importation"
If Wb.Import.Execute = 0 Then
MsgBox "Importation réalisée avec succès"
Else
MsgBox Wb.LastErrorMessage
End If
Wb.CloseDossier
voila.
Greg.