XL 2019 Enregistrer sous objet Word incorporé

Vlad1

XLDnaute Nouveau
Bonjour,

J'essaie d'enregistrer un document Word incorporé à une feuille Excel.

Le code ci-dessous bloque à la ligne : Set objWord = objOLE.Object : Impossible de lire la propriété Object de la classe OLEObject.

VB:
Dim MaShape As Shape
Dim objWord As Object
Dim objOLE As OLEObject

    Set MaShape = ActiveSheet.Shapes("Objet1")

    Set objOLE = MaShape.OLEFormat.Object

    Set objWord = objOLE.Object
   
    objWord.SaveAs2 Filename:="C:\Bureau\DocWord.docx", FileFormat:=wdFormatXMLDocument

Je constate que tout fonctionne bien quand j'active l'objet à l'aide d'un code qui le sélectionne puis désélectionne :
Code:
    sh.OLEFormat.Activate
    ActiveSheet.Range("A1").Select

Le problème c'est que cette activation ralentie fortement la macro et génère un affichage de MAJ même avec screenuptading = false.

Est-ce que quelqu'un a une solution pour retrouver l'objet dans tous les cas sans passer par son activation ?

Merci d'avance.
 
Dernière édition:

Vlad1

XLDnaute Nouveau
Voici un fichier exemple pour mieux appréhender le problème.

Impossible de sauvegarder l'objet car Excel ne parvient pas à le trouver.
En revanche, dès qu'on active l'objet (double-click dessous puis retour sur le fichier Excel), Excel parvient à identifier l'objet et la macro fonctionne correctement.
 

Pièces jointes

  • Enregistrer sous objet incorporé.xlsm
    108.7 KB · Affichages: 8

Statistiques des forums

Discussions
312 185
Messages
2 086 010
Membres
103 090
dernier inscrit
Createlier