Supprimer une référence par VB

FJPT

XLDnaute Junior
Bonjour à toutes et à tous
Appelant un fichier Word à partir d'Excel 2003, j'essaie de supprimer par VB la référence à Word (problème avec office 2007) par la ligne suivante:
ThisWorkbook.VBProject.References.Remove "Microsoft Word 11.0 Object Library"
et cela ne fonctionne pas.
Pour m'assurer du nom exact de la référence comment puis-je en éditer la liste dans le style :
For each reference in referencescollection
msgbox reference.name
next
Cela est-il possible et quel en est le code exact, car j'avoue que je suis à la limite de mes connaissances.
Merci à tous ceux qui se pencheront sur ce problème.
Cordialement.
JP
 

RENAUDER

Nous a quitté
Repose en paix
Re : Supprimer une référence par VB

Bonjour,

Je te propose d'essayer ce bout de code. Tu n'as pas de Référence à Word à déclarer.

Code:
Sub OuvreWord()
    Set WApp = CreateObject("Word.application")
    WApp.Visible = True   ' Affichage de Word
    ficWord = ActiveWorkbook.Path & "\DocWordAOuvrir.doc"
    Set ficWord = WApp.Documents.Open(Filename:=ficWord)      'Definition de FicWord comme étant le fichier Word à traiter
    ficWord.Close
    WApp.Quit    'On quitte Word
    Set WApp = Nothing
End Sub
 

kjin

XLDnaute Barbatruc
Re : Supprimer une référence par VB

Bonsoir,
Appelant un fichier Word à partir d'Excel 2003, j'essaie de supprimer par VB la référence à Word (problème avec office 2007) par la ligne suivante:
ThisWorkbook.VBProject.References.Remove "Microsoft Word 11.0 Object Library"
et cela ne fonctionne pas.
2007 est la version ... 12.0
Code:
With ThisWorkbook.VBProject.References
    For i = 1 To .Count
        t = t & .Item(i).Name & " : " & .Item(i).Description & vbLf
    Next
MsgBox t
    For i = 1 To .Count
        If .Item(i).Description Like "Microsoft Word 12.0 Object Library" Then
            .Remove .Item(i)
        End If
    Next
End With
A+
kjin
 

FJPT

XLDnaute Junior
Re : Supprimer une référence par VB

Bonjour à tous
Merci à MJ13 pour ce lien dont je me suis déja inspiré.
Le code que j'essaie de faire fonctionner est celui de kjin qui me donne dés la première ligne le message que je n'arrive pas à contrer à savoir :
"Erreur d'exécution '1004' :
Erreur définie par l'application ou par l'objet"
Effectivement, en passant, kjin c'est bien la référence à Word 12 que je voudrais supprimer à le fermeture d'Excel 2007, afin qu'elle ne soit pas introuvable à l'ouverture d'Excel 2003.
Mon code est dans "ThisWorkbook" est je voulais le placer dans l'évènement Beforeclose.
Merci à tous pour votre contribution.
Je continue.
Cordialement.
JP
 

FJPT

XLDnaute Junior
Re : Supprimer une référence par VB

Bonjour à tous
J'ai essayé la solution de tototiti2008 qui fonctionne mais à l'édition sous Word je n'arrive pas à me débarasser de la grille.
Je progresse tout de même car en plaçant le code de kjin dans un module il me donne un problème de fiabilité du code et l'aide me propose d'aller dans Macro, Sécurité et de cocher "Faire confiance au projet Visual Basic".
Ainsi je réussi à faire fonctionner partiellement le code de kjin.
Est-ce dangereux ? Je ne sais pas.
Je ne saurais trop tous vous remercier de votre aide.
Je poursuis.
Cordialement.
JP
 

FJPT

XLDnaute Junior
Re : Supprimer une référence par VB

Bonjour à tous
Non, je ne vous inonde pas de courriers mais je vous exprime ma gratitude.
J'ai réintégré la macro de kjin dans ThisWorkbook et elle fonctionne parfaitement.
Il me reste à la tester sur Excel 2007, car effectivement, c'est la référence à Word 12 que je veux supprimer.
La seule chose que j'ai faite en plus, c'est de cocher "faire confiance au projet Visual Basic".
Merci à tous pour votre aide.
Cordialement.
JP
 

Discussions similaires

Statistiques des forums

Discussions
312 684
Messages
2 090 916
Membres
104 697
dernier inscrit
Pierrot Hubert