Modification lien OLE Object

yoarf Messages postés 215 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 19 février 2009 - 19 déc. 2002 à 09:59
Badclown Messages postés 162 Date d'inscription jeudi 27 décembre 2001 Statut Membre Dernière intervention 22 mars 2004 - 19 déc. 2002 à 14:52
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

Badclown Messages postés 162 Date d'inscription jeudi 27 décembre 2001 Statut Membre Dernière intervention 22 mars 2004
19 déc. 2002 à 10:37
Tu a essayer de faire une macro directement dans excel de ce que tu veux faire et regarder le code vb après?
0
yoarf Messages postés 215 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 19 février 2009
19 déc. 2002 à 11:51
Je ne dois pas modifier le fichier excel, je dois tous faire par l'intermédiaire de l'appli vb !!!

Y.C
0
Badclown Messages postés 162 Date d'inscription jeudi 27 décembre 2001 Statut Membre Dernière intervention 22 mars 2004
19 déc. 2002 à 12:59
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
yoarf Messages postés 215 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 19 février 2009
19 déc. 2002 à 13:08
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Badclown Messages postés 162 Date d'inscription jeudi 27 décembre 2001 Statut Membre Dernière intervention 22 mars 2004
19 déc. 2002 à 13:23
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
yoarf Messages postés 215 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 19 février 2009
19 déc. 2002 à 13:48
Et objLink je le déclare en String ???
Y.C
0
yoarf Messages postés 215 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 19 février 2009
19 déc. 2002 à 13:50
Il me dis qu'un tableau est attendu, dois je le déclaré en tableau ?
Y.C
0
Badclown Messages postés 162 Date d'inscription jeudi 27 décembre 2001 Statut Membre Dernière intervention 22 mars 2004
19 déc. 2002 à 13:56
Absolument aucune idee, mais il bloque sur quel ligne?
0
Badclown Messages postés 162 Date d'inscription jeudi 27 décembre 2001 Statut Membre Dernière intervention 22 mars 2004
19 déc. 2002 à 13:58
Enleve la premiere et la dernier parentense deja
0
yoarf Messages postés 215 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 19 février 2009
19 déc. 2002 à 14:02
Y.C
0
yoarf Messages postés 215 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 19 février 2009
19 déc. 2002 à 14:06
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
yoarf Messages postés 215 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 19 février 2009
19 déc. 2002 à 14:29
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
Badclown Messages postés 162 Date d'inscription jeudi 27 décembre 2001 Statut Membre Dernière intervention 22 mars 2004
19 déc. 2002 à 14:51
Essaye ca:

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

ou peut être
Dim objLink As Linkformat


Sinons je voi vraiment pas
0
Badclown Messages postés 162 Date d'inscription jeudi 27 décembre 2001 Statut Membre Dernière intervention 22 mars 2004
19 déc. 2002 à 14:52
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
Rejoignez-nous