Modification lien OLE Object

Signaler
Messages postés
215
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
19 février 2009
-
Messages postés
162
Date d'inscription
jeudi 27 décembre 2001
Statut
Membre
Dernière intervention
22 mars 2004
-
Salut!
Je voudrais par l'intermédiaire de mon appli modifier un lien objet d'une feuille Excel mais impossible d'y parvenir.
Voici le code:
Set xlBook = xlApp.Workbooks.Open(xlFileName, False, False, , "")

Alllinks = xlBook.LinkSources(xlOLELinks)
borne = UBound(Alllinks)

For i = 1 To borne

pos1 = InStr(Alllinks(i), "|")
pos2 = InStr(Alllinks(i), "!")

xlBook.LinkSources(xlOLELinks)(i) = "C:\WINDOWS\SYSTEM\OOBE\IMAGES\BGAMEX.JPG"

Next

xlBook.Close savechanges:=True
Set xlBook = Nothing

Le pb c que le lien ne change pas et je voudrais savoir comment faire(il existe ChangeLink mais ça marche pas non plus)
Répondez moi vite

14 réponses

Messages postés
162
Date d'inscription
jeudi 27 décembre 2001
Statut
Membre
Dernière intervention
22 mars 2004

Tu a essayer de faire une macro directement dans excel de ce que tu veux faire et regarder le code vb après?
0
Messages postés
215
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
19 février 2009

Je ne dois pas modifier le fichier excel, je dois tous faire par l'intermédiaire de l'appli vb !!!

Y.C
0
Messages postés
162
Date d'inscription
jeudi 27 décembre 2001
Statut
Membre
Dernière intervention
22 mars 2004

Non tu na pas bien compris: Tu enregistre une macro de ton action et tu fait un copier coller sous vb et tu rajoute ton objet excel:
xlapp.test1
xlapp.test2
...
0
Messages postés
215
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
19 février 2009

Désolé mais tu pourrais pas m'expliquer qu'est ce qui cloche dans mon code:
Qd je fais xlBook.LinkSources(xlOLELinks)(i) = (Left(xlBook.LinkSources(xlOLELinks)(i), pos1)) & (resultxls.Fields(0).Value) & (Right(xlBook.LinkSources(xlOLELinks)(i), 2))

il en veut pas , pourquoi ?
Pourtant je fais une Msg box de xlBook.LinkSources et de (Left(xlBook.LinkSources(xlOLELinks)(i), pos1)) & (resultxls.Fields(0).Value) & (Right(xlBook.LinkSources(xlOLELinks)(i), 2))(xlOLELinks)(i) et il me retourne une valeur.
Mais il ne veut pas modifier la valeur par l'autre!!!!
Pourquoi???
Y.C
0
Messages postés
162
Date d'inscription
jeudi 27 décembre 2001
Statut
Membre
Dernière intervention
22 mars 2004

D'après ce que j'ai compris en lisant l'aide il faudrait faire comme ca :

objLink = xlBook.LinkSources(xlOLELinks)
objLink(i) = (Left(objLink(i), pos1)) & (resultxls.Fields(0).Value) & (Right(objLink(i), 2))


Ca devrait t'aider surment !
0
Messages postés
215
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
19 février 2009

Et objLink je le déclare en String ???
Y.C
0
Messages postés
215
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
19 février 2009

Il me dis qu'un tableau est attendu, dois je le déclaré en tableau ?
Y.C
0
Messages postés
162
Date d'inscription
jeudi 27 décembre 2001
Statut
Membre
Dernière intervention
22 mars 2004

Absolument aucune idee, mais il bloque sur quel ligne?
0
Messages postés
162
Date d'inscription
jeudi 27 décembre 2001
Statut
Membre
Dernière intervention
22 mars 2004

Enleve la premiere et la dernier parentense deja
0
Messages postés
215
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
19 février 2009

Y.C
0
Messages postés
215
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
19 février 2009

Le pb c'est qu'il ne bloque nul part. Lorque je fais du pas à pas sur la ligne en question il ne reste même pas une seconde sur cette ligne. En effet si il faisait le changement il y aurais quelques secondes d'execution.
Je déclare objLink de cette façon:
Dim objLink As Object
Puis après la ligne de code je met:MsgBox Err.Description pour voir si il y a d erreurs et il affiche:
Variable Objet ou variable bloc with non definie

??????

Y.C
0
Messages postés
215
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
19 février 2009

Maintenant je met: Dim objLink As Variant
objLink = xlBook.LinkSources(xlOLELinks)
objLink(i) = Left(objLink(i), pos1) & resultxls.Fields(0).Value & Right(objLink(i), 2)
MsgBox Err.Description

Ds le message d'erreur il ne met plus rien, mais toujours aucun changement au niveau du lien.
Réponds vite si tu sais qqch

Y.C
0
Messages postés
162
Date d'inscription
jeudi 27 décembre 2001
Statut
Membre
Dernière intervention
22 mars 2004

Essaye ca:

Dim objLink As Object
set objLink = xlBook.LinkSources(xlOLELinks)

ou peut être
Dim objLink As Linkformat


Sinons je voi vraiment pas
0
Messages postés
162
Date d'inscription
jeudi 27 décembre 2001
Statut
Membre
Dernière intervention
22 mars 2004

Et ca:
Left(objLink(i), pos1) & resultxls.Fields(0).Value & Right(objLink(i), 2)
t'es sur que c'est absolument juste? ca pourrais peut être venir de ca.
0