Manipulating text of a document while it's open - ms-office

Is it possible to extract, modify or simply read text in an Office while user types in words? It it possible through OpenXML SDK & InterOp library?
Thanks.

I have used the Microsoft Office Interop API for Word in a couple of projects, and surely, you can access the content of the document, even while a user is editing it.
I suggest you take a look at some tutorials to get you started, and if you encounter some problems, you can always return and ask.
Beware though - if you are expecting to be able to read the content each time a new character or word has been entered in the document, you might get disappointed, as there currently are no events raised when this happens. See this related question/answer for further details on this: Capturing keydown event of MS Word using C#

Related

Is it possible to insert a video from an add-in using the Office Common API?

I'm developing an add-in for Office applications (primarily Word and PowerPoint) using the Common API for Office, and I need to be able to insert videos into the current selection. In the future, I want to be able to insert audio-clips too.
Currently, I have been able to insert images using the setSelectedDataAsync(data, options, callback) method. As far as I can tell, there's no suitable coercion type in the Office.CoercionType enum that supports videos, and I've had no luck omitting the 'options' argument. It would probably be possible to use the Open Office XML format, but it seems like this is only supported in Word. Is there any way to insert videos (and potentially audio-clips too) in both Word and PowerPoint using the Common API for Office?
not this is not possible. In Word you can insert the OOXML coercionType, however that is not supported for PPT.

Vaadin 6 : RichTextArea and remove formatting

It's been a while that I've been reported about a problem on the software I'm on charge. I will try to explain it as much detailed as possible (Sorry if my english seems bad to you by the way ^^').
Context : The software has been developed as a Web Application (Java EE) + the framework Vaadin 6 (not 7). Since this project exists for about 4 or 5 years, the technology used isn't the newest but it's currently ok. This software is used by our internal clients so about a 70 users are using it per day. I'm on charge of this project for 9 months now.
Problem : Often, users copy some info (words, tables and so on) from others sources like a Word Document, or a PowerPoint. Then paste it into a RichTextArea. then they export all those info into an Excel (XLS) file. But sometimes, those pasted info aren't reported, or generate some HTML Tags (not understandable for most users).
What I had suggested : The RichTextArea has some tools, displayed with buttons, one of them is "Remove Formatting", if they press it, everything would be ok. But I had to agree with them, it isn't intuitive and "friendly" to use. Since they are my clients, I want to help them as much as possible.
What I want : I want that if they copy paste into the RichTextArea:
They should be invited to remove the format (with a notification on paste) by pressing the Remove Formatting Button, so I should valorize it.
Or automatically apply the remove formatting on paste.
But I couldn't achieve those solutions because I don't know how to detect the action of pasting, moreover, for the second solution, I couldn't retrieve on the code the remove formatting action.
Can you help me in order to achieve this please? Any tips that doesn't involve an other technology would be appreciated :)
Aynath
If this is still relevant:
Not sure about the first approach. But the first thing that comes to my mind is to use usual change event. When user will paste the new text, you will be notified that values were changed. Then use any tool to clean HTML and get the simple text (I suggest to use something like jsoup because it is the easiest thing). Or, if you need something specific implement your own parser/cleaner. The last thing is to simply set a new text to the current area value.
Otherwise, you can use Vaadin add-ons which may provide such information. Just look for add-ons repository for CKEditor or TinyMCE Editor

Viewing Word Documents inside Browsers

I'm searching for some kind of Programm / Java Applet / ActiveX Control or magic spell to view Word / Excel Documents inside Browsers (Browser independent would be the best case, but IE only ist just fine).
I don't want to open Word itsself inside a frame, because that gives users the false impression that they can edit and save the document i just want to display its contents.
I also found solutions which converts the word document to pdf first, but i can't do this due to some security restrictions on the environment i'm working on.
This can help when those proprietary file formats can first be converted to ODF (for example by LibreOffice/OpenOffice.org): http://webodf.org/
(I will not comment on "security restrictions" and using Microsoft software ...)

How can I export a list from SharePoint to Excel, with header/footer/page orientation?

We would like to export a view of a custom SharePoint list to Excel on a repeatable basis, and with some minor formatting.
I have made a .iqy file by using Actions/Export to Spreadsheet from the view menu, and then uploaded this .iqy file back into SharePoint. When users click on it, it does bring up the data in Excel - but without the headings repeated each page, with the columns spilling onto a second page (width-wise), etc.
The .iqy file seems to be a plain text file which can be opened in Notepad so perhaps there is a way of passing parameters to Excel through this which would do the trick? Does someone know?
Alternatively, I also saved one of the resultant spreadsheets from opening the .iqy file, applied some formatting to it, and then uploaded that back into SharePoint. I set it to refresh the data connection on opening and I think this is working ok except there are two frustrations.
Firstly, by default, Excel says it has blocked data connections and I need to manually enable them. Is there a way to prevent this short of editing the trust centre settings on each computer that will open this spreadsheet?
Secondly, when I click on the spreadsheet in SharePoint we are asked if we wish to open the document for editing or read only. Ideally, I'd like to just give the user the opportunity to open or save the document (and certainly not to save it back on to the server, as I expect Edit would do.)
Does anyone have any sage advice for me that would make either the first attempt (.iqy file) or the second attempt (formatted spreadsheet) work successfully? Or maybe you have other, better ideas?
Thank you,
Regards,
David W
An Excel Web Query (iqy) is just not going to work. Its only purpose is to define a "web query" for Excel to open.
First frustration, I am not positive, but digitally signing the workbook may avoid the blocked data connection prompt. Also, if I remember correctly, there is a Global Policy setting for this, so if you are part of a domain, you can have this setting changed when the user logs into the domain.
Second frustration. Not much you can do here.
Suggestions, all kinds. We would need to understand your requirements and constraints. But, I suggest you dynamically create the workbook using XMLSS. You have full control over formatting, layout, and nearly everything else, without the need to have Excel installed on the server. The served workbook must then be saved locally and cannot be saved back to server.
See XML Spreadsheet Reference at
http://msdn.microsoft.com/en-us/library/aa140066(office.10).aspx
Here is a search for "visual basic asp xml workbooks site:microsoft.com",
http://www.bing.com/search?q=visual+basic+asp+xml+workbooks+site%3Amicrosoft.com. Search for ASP generates more results. Note it is easy to translate/migrate to ASP.NET so do not let the ASP throw you.
I recommend starting with Using Visual Basic and ASP with XML to Generate Excel 2003 Workbooks at http://msdn.microsoft.com/en-us/library/aa203722(office.11).aspx, especially near the end of the article because there is an example on creating a workbook and setting the page print orientation. Moreover, there is an example on how to create a template.

Can you do complex editing of Word Documents in a browser?

A friend of mine wants to have an application where people can upload documents in Word (or text) format, and then allow people to make edits to those documents within a browser.
Is there any mechanism that would support adding text "bubbles" for adding comments? Either floating, or off to the side.
Being able to save back to Word format is a must too. Or at least, some format supported by Word, that would still be editable. Saving it as an image is not acceptable.
I was thinking about opening the Word Document in an FCK Editor window, but FCK only seems to have "normal" inline text editing capabilities (although it is great).
Is this feasible?
Yes it is feasible. Google has done that (and it does have comments). So has Adobe. I'm sure there is more.
Xopus provides a programmable platform that allows you to define editable XML within a WYSIWYG environment. You could use it to define what you want to edit (XML), against which rules you want to edit it (an XSD) and how you want it to look while you edit it (XSL). Then you tie that all together with the Javascript API.
In other words, you could pretty easily define a document that contains multiple paragraphs with optional comments and then have them displayed as bubbles exactly the way you want them; when saved, a script on the server could be executed that converts the XML to a Word document.
Take a look at the demos.
If they are Word 2007 documents, you can use Silverlight. Here's an example application that uses Silverlight to open a Word 2007 document and display it in the browser.
Since StackOverflow is a programmer site, I'll assume you're a programmer. You can use Silverlight to add the bubbles and annotations to a Word 2007 document, but you'll need to know VB.NET or C#.
Take a look at docx2web.appspot.com which is (currently) a very bare bones editor with the distinguishing feature that the browser is directly manipulating (more or less) the "flat OPC" version of the docx.
This means that there is no lossy conversion on either the way in or the way out. So for example, when you save after editing, anything which was in the original docx is round tripped back to Word.
As far as support for older .doc is concerned, POI can be used to convert them to .docx (although your mileage may vary).
Why are you trying to compete with google docs?
I know that TinyMCE provides some rich controls for in browser editing. Last time i looked at it, it had 100% of the stuff i would normally use in word, and then some. On the other hand, i probably has 1% of the features that MS word provides. It would be VERY difficult to implement it all.
As far as saving to MS word compatible format. i am sure its possible. it would probably be easier to save to a non-doc format.
As far as popups etc, those can be easy built using jquery UI or any other javascript framework.
Bottom line: yes, its possible, but why?!
It is possible. For example eyeOS has a text processing application able to open and process Microsoft Office and OpenOffice.org text documents.

Resources