Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…