Code VBA pour Modifier Chemin dans Importation Enregistrée
Bonjour à tous,
Je cherche le moyen en VBA de modifier le chemin dans plusieurs importations enregistrées.
J'avais trouvé un début de réponse sur le forum mais le code posté ne fonctionne pas.
Même en essayant de l'adapter celui-ci me renvoi une erreur 31597 "Echec de validation de la chaine XML de spécification par rapport au schéma. une erreur s'est produite dans la ligne suivante du document XML : l'élément n'a pas été fermé".
j'effectue les importations par cette méthode et non par Docmd car cela me permet de définir certains critères qui ne sont pas accessibles via Docmd.
voilà le code que j'ai trouvé sur le forum et que je tente d'adapter :
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
| Sub SpecImpChangerFichier(strNomSpecImport As String, strNouvFichier As String)
Const STR_PATHTAG = "<ImportExportSpecification Path = """
Dim strNouvXml As String, strXml As String
Dim p1 As Long, p2 As Long, bOk As Boolean
strXml = CurrentProject.ImportExportSpecifications(strNomSpecImport).XML
p1 = InStr(1, strXml, STR_PATHTAG, vbTextCompare)
If p1 > 0 Then
p2 = InStr(p1 + Len(STR_PATHTAG), strXml, """")
If p2 > 1 Then
strNouvXml = Left(strXml, p1 + Len(STR_PATHTAG) - 1) & _
strNouvFichier & Mid(strXml, p2)
bOk = True
End If
End If
If bOk Then
CurrentProject.ImportExportSpecifications(strNomSpecImport).XML = strNouvXml
End If
End Sub
Sub tstSpecImpChangerFichier()
SpecImpChangerFichier "IMP1", _
"C:\Mes Documents\ . . . \Le Fichier.xls"
End Sub |
Merci de votre aide et de vos réponses.
Cdt,
Code VBA pour Modifier Chemin dans Importation Enregistrée
une piste: je suggère de mettre un "watch" sur tes lignes, ou bien un break, ou plus simplement un debug.print sur le contenu de toutes tes variables pour voir si elles rendent bien le résultat attendu.