Modifier excel existant Nom de la Connexion dans VBA

J'ai besoin de mettre à jour le Nom de la Connexion d'un classeur excel de connexion sql. C'est ma tentative. J'ai été en mesure de modifier la Chaîne de Connexion et de Commande de Texte en faisant un standard remplacer.

Sub ConnectionString_modify()

Dim i As Long
Dim cnt As Long
Dim modtext As String
Dim modrange As String

'Grab nummber of workbook connections
cnt = ActiveWorkbook.Connections.Count

For i = 1 To cnt

    'Changes to Connection string --This works
    modtext = ActiveWorkbook.Connections.Item(i).OLEDBConnection.Connection
    modtext = VBA.Replace(modtext, "_FY2013", "_FY2014")
    ActiveWorkbook.Connections.Item(i).OLEDBConnection.Connection = modtext

    'Changes Connection Name
    modname = ActiveWorkbook.Connections.Item(i).Name
    modname = VBA.Replace(modname, "_FY2013", "_FY2014")
    ActiveWorkbook.Connections.Item(i).Name = modname 
 Next i

End sub

Toute aide serait super. Merci.

Quel est le problème exactement? Ne vous obtenez une erreur? Si Oui, sur quelle ligne et quel est le message exact?
Ce code sera exécuté sans erreur, mais le nom de la chaîne de connexion ne change pas. Ce qui ne semble pas arriver, c'est que le i-ème nom de la connexion des modifications à un autre dans le jeu. Donc, si je vérifier avant de connexions.les éléments(i) = Connection10 après j'essaie de mon renommer le code de ses connexions.les éléments(i) = Connection7. Il semblerait que j'ai besoin d'une autre méthode pour renommer. Actuellement, ce code juste réorganise la Connexion noms.
Essayez de mettre de la connexion des objets dans une collection et une boucle dans la collection de la place. Parfois, la modification des objets dans une boucle comme vous êtes en train de faire peut causer des objets de commander à nouveau au cours du processus. Ou essayez de définir une référence à chaque connexion et travailler avec cette référence au lieu de se référer .Les éléments(i)

OriginalL'auteur thomas398 | 2013-09-16