Mat Posted December 10, 2009 Posted December 10, 2009 I have been doing quite a lot of work recently in MSWord and its Equation "object". There are a lot of times I would like to be able to use it from with autoit, so I googled to see if there was an object model for it... no result there. Searching my hard drive found that there was an exe here: C:\Program Files\Common Files\Microsoft Shared\EQUATION That had nothing except the exe, a rather useless helpful that only tells you how to use it, and "EEINTL.DLL". Googling that comes up with the same old "Repair this Dll!" and "download this Dll!" sites that provide no information and dud download links that appears to be the same for just about any Dll you type in. Overall, I failed. So as a last point of call, I was wondering if any guru's knew what I could do. I have thought about workarounds too. the editor window shows the only controls being the scroll bars, so not particularly helpful. At a push I suppose I could use the keyboard and write the equations to the window, and then print screen it? Mat AutoIt Project Listing
Mat Posted January 24, 2010 Author Posted January 24, 2010 Completely given up on this until just now... When I suddenly had the idea of using process monitor (sysinternals) to find out what wordpad was doing when it created an object, and since then have traced that to ole32.dll, short for object linking e... something. This then led me to MSDN, and this page. By this point I am way way way out of my depth, as I can deal with using functions and messages but have no idea how to go about interfaces etc. I reckon that someone who knows what they're doing *might* be able to insert an object into a rich edit control in a similar way to wordpad and MsWord.Going by what has been done already on the IDespatch interface, this is possible. Unfortunately I see the code for IDespatch as nonsense, and probably written in japanese as I can't read it Mat AutoIt Project Listing
PsaltyDS Posted January 24, 2010 Posted January 24, 2010 Record a macro in Word as you create and edit an equation object. The open the macro for edit to see what the VBA code looks like. Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law
Mat Posted January 24, 2010 Author Posted January 24, 2010 Record a macro in Word as you create and edit an equation object. The open the macro for edit to see what the VBA code looks like. Sub InsertObj() ' ' InsertObj Macro ' Macro recorded 24/01/2010 by Mat ' Selection.InlineShapes.AddOLEObject ClassType:="Equation.3", FileName:="", _ LinkToFile:=False, DisplayAsIcon:=False End Sub Any help? I think I can get to the selection part using the word com object... I'll try that. AutoIt Project Listing
Mat Posted January 24, 2010 Author Posted January 24, 2010 Heres an MSDN page on using OLE's in Rich edit controls: http://msdn.microsoft.com/en-us/library/dd387916(VS.85).aspx however, that creates the OLE from a file (the example is a spreadsheet). I am yet to find an example using OLECreate. In other news, I have managed to track down the CLSID required for the Microsoft.Equation.3 object to here: HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{0002CE02-0000-0000-C000-000000000046} Is that the same for everyone? it is required in the code and I can't see any way to get to that value... AutoIt Project Listing
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now