Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VSTO - PowerPoint et Undo

2 réponses
Avatar
VMA
Je réalise des traitements sur des "shapes" via VSTO.
Plus précisement, je modifie des image, éventuellement en plusieurs étapes.

Mon problème réside dans le fait que lorsque je fais Ctrl+Z (Undo), toutes
les "étapes" de modifications sont annulés en même temps.

Par exemple pour être plus clair:
1- l'utilisateur ajoute une image
2- il utilise mon appli pour changer une partie A de l'image
3- il utilise mon appli pour changer une partie B de l'image

Au niveau des étapes (2) et (3), l'image existante est supprimée et remplacée.
On s'attend donc à ce le "Undo" annule uniquement le (3). Or on reviens
directement à l'état (1).

Y-a-t-il des impossibilités de VSTO par rapport à VBA ?

Merci pour votre aide.

2 réponses

Avatar
Mehdi HAMMADI
Bonjour VMA,

Je tiens tout d'abord à préciser que ceci est une tentative de réponse faite
par une personne qui a entre aperçus VSTO.

Juste pour ceux qui ne connaissent pas, VSTO signifie tout simplement Visual
Studio Tools for Office et c'est un complément qui permet de créer des
fichiers (documents et modèles) ainsi que des compléments Office directement
à partir de Visual Studio.

Pour ce qui est de votre problème, il ce pourrait tout simplement que les
actions réalisées par votre application (complément) ne soient pas
enregistrées ou prises en compte par la fonctionnalité undo.

Une analyse rapidement la séquence d'action proposée montre que l'action 01
est générer par PowerPoint et les actions 02 et 03 par votre applications.
une proposition pour tester cela:

Test 01 :
Apporter des changements supplémentaires à d'autre partie de l'images
toujours en utilisant votre application (actions 04 et 05 par exemple) et en
commençant par les actions que vous avez cités précédemment puis faites un
undo pour voir ou cela vous ramène. par exemple
1- l'utilisateur ajoute une image
2- il utilise votre appli pour changer une partie A de l'image
3- il utilise votre appli pour changer une partie B de l'image
4- il utilise votre appli pour changer une partie C de l'image
5- il utilise votre appli pour changer une partie D de l'image
6- faites un undo

Test 02 :
intercalez des actions réalisées par votre applications avec des actions
réalisées à partir de PPT comme ceci par exemple.
1- l'utilisateur ajoute une image
2- il utilise votre appli pour changer une partie A de l'image
3- il utilise votre appli pour changer une partie B de l'image
4- l'utilisateur insère une seconde image (image 2)
5- il utilise votre appli pour changer une partie C de l'image 2
6- il utilise votre appli pour changer une partie D de l'image 2
7- faut un undo pour voir si vous retournez à l'étape 04 ou 01

Si pour le test 01 vous revenez à l'étape 01 et que pour le test 02 vous
revenez à l'étape 04 cela signifie que ma déduction est très plausible, il
ne restera plus qu'a trouver un moyen pour faire reconnaître les actions de
votre application par la fonctionnalité undo.

En espérant avoir fait avancer les choses pour vous.

Cordialement

MehdiH

http://officeusers.blogspot.com/

"VMA" a écrit dans le message de groupe de
discussion :
Je réalise des traitements sur des "shapes" via VSTO.
Plus précisement, je modifie des image, éventuellement en plusieurs
étapes.

Mon problème réside dans le fait que lorsque je fais Ctrl+Z (Undo), toutes
les "étapes" de modifications sont annulés en même temps.

Par exemple pour être plus clair:
1- l'utilisateur ajoute une image
2- il utilise mon appli pour changer une partie A de l'image
3- il utilise mon appli pour changer une partie B de l'image

Au niveau des étapes (2) et (3), l'image existante est supprimée et
remplacée.
On s'attend donc à ce le "Undo" annule uniquement le (3). Or on reviens
directement à l'état (1).

Y-a-t-il des impossibilités de VSTO par rapport à VBA ?

Merci pour votre aide.


Avatar
VMA
Merci Mehdi pour cette réponse.

J'ai constaté que lorsqu'on fait un Shape.AddPicture via VSTO, l'action
"Undo" associé est "Déplacer l'objet".

Je suppose qu'il y a un bug au niveau du AddPicture; mais ce que je ne
comprend pas, c'est que dans mon traitement j'ajoute un Shape et j'en
supprime un. Le Undo devrait donc permettre d'annuler la suppression et
l'ajout (à la limite je comprendrai que cela nécessite 2 Ctrl + Z ..) mais ce
n'est même pas le cas !!!

"Mehdi HAMMADI" wrote:

Bonjour VMA,

Je tiens tout d'abord à préciser que ceci est une tentative de réponse faite
par une personne qui a entre aperçus VSTO.

Juste pour ceux qui ne connaissent pas, VSTO signifie tout simplement Visual
Studio Tools for Office et c'est un complément qui permet de créer des
fichiers (documents et modèles) ainsi que des compléments Office directement
à partir de Visual Studio.

Pour ce qui est de votre problème, il ce pourrait tout simplement que les
actions réalisées par votre application (complément) ne soient pas
enregistrées ou prises en compte par la fonctionnalité undo.

Une analyse rapidement la séquence d'action proposée montre que l'action 01
est générer par PowerPoint et les actions 02 et 03 par votre applications.
une proposition pour tester cela:

Test 01 :
Apporter des changements supplémentaires à d'autre partie de l'images
toujours en utilisant votre application (actions 04 et 05 par exemple) et en
commençant par les actions que vous avez cités précédemment puis faites un
undo pour voir ou cela vous ramène. par exemple
1- l'utilisateur ajoute une image
2- il utilise votre appli pour changer une partie A de l'image
3- il utilise votre appli pour changer une partie B de l'image
4- il utilise votre appli pour changer une partie C de l'image
5- il utilise votre appli pour changer une partie D de l'image
6- faites un undo

Test 02 :
intercalez des actions réalisées par votre applications avec des actions
réalisées à partir de PPT comme ceci par exemple.
1- l'utilisateur ajoute une image
2- il utilise votre appli pour changer une partie A de l'image
3- il utilise votre appli pour changer une partie B de l'image
4- l'utilisateur insère une seconde image (image 2)
5- il utilise votre appli pour changer une partie C de l'image 2
6- il utilise votre appli pour changer une partie D de l'image 2
7- faut un undo pour voir si vous retournez à l'étape 04 ou 01

Si pour le test 01 vous revenez à l'étape 01 et que pour le test 02 vous
revenez à l'étape 04 cela signifie que ma déduction est très plausible, il
ne restera plus qu'a trouver un moyen pour faire reconnaître les actions de
votre application par la fonctionnalité undo.

En espérant avoir fait avancer les choses pour vous.

Cordialement

MehdiH

http://officeusers.blogspot.com/

"VMA" a écrit dans le message de groupe de
discussion :
> Je réalise des traitements sur des "shapes" via VSTO.
> Plus précisement, je modifie des image, éventuellement en plusieurs
> étapes.
>
> Mon problème réside dans le fait que lorsque je fais Ctrl+Z (Undo), toutes
> les "étapes" de modifications sont annulés en même temps.
>
> Par exemple pour être plus clair:
> 1- l'utilisateur ajoute une image
> 2- il utilise mon appli pour changer une partie A de l'image
> 3- il utilise mon appli pour changer une partie B de l'image
>
> Au niveau des étapes (2) et (3), l'image existante est supprimée et
> remplacée.
> On s'attend donc à ce le "Undo" annule uniquement le (3). Or on reviens
> directement à l'état (1).
>
> Y-a-t-il des impossibilités de VSTO par rapport à VBA ?
>
> Merci pour votre aide.