Working around "Object Changed" message

Hi there. I'm new to Aspose.Slides and am trying to find the best way to work around the "Object Changed" message that appears for updated workbooks within the presentation. I've seen some discussion of the issue on the forums, but I'm not clear on what I need to do. Can you point me in the right direction?

We're currently saving the .ppt on the web server and redirecting the user to that new file. We would like to clean up the presentation before the user opens it. So, ideally this would be done within our .NET application. Alternatively, we are open to using a macro in Powerpoint, but I would need some help with that approach as well.

Thanks.

Eric

Dear Eric,

“Object Changed” image appears whenever you insert OLE objects using Aspose.Slides inside the presentation. This image is updated with the original image of the OLE object, when user double clicks the OLE object in MS-PowerPoint.

As a workaround, Aspose.Slides allows you to add image of your choice in replace of “Object Changed” image.

So the only trouble remains to get the image of OLE object and replace Object Changed image with it.

To my knowledge, Aspose.Cells for .NET allows you to get the image of your worksheets, which you can use.

To clean up presentation, Apsose.Slides allows you to add/delete shapes and slides in presentation. Please see Programmer’s Guide on Aspose.Slides Wiki

You cannot add macros using Aspose.Slides but only can detect their presence.

Thanks for the reply.

My objective is to create a presentation with several spreadsheets in it, and not require the user to double-click each spreadsheet.

While it’s not what I had in mind, replacing each OLE object with an image that looks exactly like the underlying spreadsheet sounds like it could be an acceptable possibility. I think that’s what you are suggesting. In researching this, though, I have only found information on converting charts to images, not worksheets with data in cells.

Do you have any suggestions for how to automate the opening of each changed object, so the user doesn’t have to?


Eric

Well, actually, you can also take the image of worksheets with Aspose.Cells.

There is also one more work around, which you can find from this link.

Updating OLE objects automatically using MS PowerPoint Add-In

http://www.aspose.com/newsletters/07_01/

Thanks, Shakeel. I’ve been trying the solution at the link you provided (Updating OLE objects automatically using MS PowerPoint Add-In, http://www.aspose.com/newsletters/07_01/). It fails with a “method not supported” error at oObject.Application.Update. The Application.Name at that point is “Microsoft Excel”. Any idea what I might need to do differently?

Just comment this line and let me know.

Hi msfaiz,

I tried the first option of replacing image for object changed it worked fine,

when i tried for second option by creating Add-on , i dowloaded the Activeevents.ppa file and throught tools and addins in PPT , I loaded the PPA file.

Even after setting the add-on am getting same Object change problem.

Help me to figure out this issue.

Regards

Janakiraman

Dear Janakiraman,

Please refer to this link. The previous link is obsolete now.

Updating OLE objects automatically using MS PowerPoint Add-In

Follow all the steps there and if you find an error, then refer to the posts above with IDs 107273, 107328. Everything should work fine.

Hi msfaiz,

I tried the code in above link , but am getting run-time error in line

oObject = oShape.OLEFormat.Object

stating Object Variable or With block variable not set

Regards

Janakiraman

Commenting it should fix the error.

Hi Team,

I have tried the solution given in the link Aspose.Total for .NET|Documentation

I am getting compilation error at

oObject.Application.Update()
and
oObject.Application.Quit()


Please help me to solve the isssue.

Thanks,
Ketan

Hi Ketan,

I regret to inform you that I am still awaiting response from our development team. As soon as I receive any feedback from them, I will share the information with you. I really appreciate your patience.

Thanks and Regards,

I get the same compilation errors. Is there any fix to this? How did the Aspose team even get this code to compile? PowerPoint indicates that these are syntax errors.

Hi,

Thanks for considering Aspose.Slides.

I have discussed with our development team, the issues of getting compile time errors on Update() and Quit() function calls. Please remember it is in fact not an issue with Aspose.Slides but these are third party Add-ins that are added as macros in your presentation file. It's a workaround method to activate charts automatically upon different presentation and slide events. According to our development team the macro may not support PowerPoint 2007 and that is why syntax error is coming.

In order to automatically activate the OLE object frames, I can suggest something to you; There are many add-ins available on the author's site. For example, "Update Links" and "Chart Update". In case something doesn't work then author (Shyam Pillai) offers some kind of support and probably can help you. These are third party tools and you may seek some technical support from them.

Thanks and Regards,

hi

I also encountered this problem, there are now solutions?

Hi Shiny,

I like to share that “Object Changed” Message is in fact not an issue with Aspose.Slides. Whenever you add or update the Ole frame the Microsoft Ole Frame engine adds the “Object Changed” message image in place of Ole frame to highlight that the added or updated Ole frame is inactive and one need to activate that. There are two possible workarounds for this. You can either surf over the internet to find some third party macros that update/activates the shapes on opening presentation in PowerPoint. So, when you will open the presentation in PowerPoint the macro will execute and you will observe the Ole frame as activated. The other work around is to get the chart or Ole frame data image and set that as Ole frame image. So, by doing this you will still get the view of the added Ole frame even in inactive mode. I have already shared some links in my previous post for macros that can be used. Since these are third party components, so you can surf yourself and find some appropriate one fulfilling the needs. I have also shared the work around that can be achieved using Aspose.Slides by setting the Ole frame image here:
https://forum.aspose.com/t/change-slides-chart-datasource/75777

Many Thanks,