Lorsqu'un élément est sélectionné dans Excel, la propriété Excel :: Application :: Selection contient l'objet sélectionné. Par exemple si je sélectionne une cellule, je peux facilement les jeter à Excel :: Plage en utilisant:Excel Interop - Obtention du type d'Excel :: Application :: Sélection
Excel.Range cells = Excel.Application.Selection as Excel.Range
Où Excel = Microsoft.Office.Interop.Excel
Maintenant, quand une image est sélectionnée, je dois jeter à Excel :: Image, puis Excel :: Shape dans le cas de certaines formes, mais il semble qu'il y ait différentes interfaces pour chaque forme comme Oval, Rectangle etc. J'ai besoin de supprimer tout ce qui est sélectionné sur la feuille de calcul. Si sa cellule, le contenu sera effacé, une image, la forme ou OLEObject sera supprimé, mais le problème est que je ne veux pas vérifier chaque interface:
if (null != ThisApplication.Selection as Excel.Shape)
(ThisApplication.Selection as Excel.Shape).Delete();
else if (null != ThisApplication.Selection as Excel.Picture)
(ThisApplication.Selection as Excel.Picture).Delete();
else if (null != ThisApplication.Selection as Excel.OLEObject)
(ThisApplication.Selection as Excel.OLEObject).Delete();
Je souhaite s'il y a juste une interface de base à laquelle je peux lancer toutes les formes/images et appeler supprimer sur eux.
Est-il possible d'obtenir:
- Le type réel à l'intérieur d'application :: Sélection - il affiche un système :: COMObject mais pas d'info sur le type réel
- identifient une certaine manière que la sélection contient une image/forme etc et appelle la méthode "Supprimer" sur le type sous-jacent