# Re: Error diffing word document

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Fri, 02 May 2014 18:47:01 +0200

On 02.05.2014 17:16, Ben Fritz wrote:
> Most word docs on my system are diffing just fine.
>
> But one is giving me this error message when I try to show differences
> between any two revisions:
>
> Script: C:\Program Files\TortoiseSVN\Diff-Scripts\diff-doc.js
> Line: 168
> Char: 1
> Error: Unknown runtime error
> Code: 800A9C64
> Source: Microsoft JScript runtime error
>
> No diff is shown. Instead, there is this error dialog, plus an empty
> Document1 Word window, and a Word window containing the prior revision
> being compared. E.g. I'm comparing the changes in revision 6310, and
> the document opened is for revision 6309.
>
> the command-line:
>
> C:\My\WC\Dir>wscript.exe "C:\Program Files\TortoiseSVN\Diff-Scripts\diff-d
> oc.js" "MyDoc 6308.doc" "MyDoc 6310.doc" //E:javascript
>
> Now I just get an error saying "Error opening MyDoc 6308.doc".
>
> The same thing happens after I convert both docs to the latest format
> (saving as docx) and trusting the provider of the macros in them to
> get rid of the "Enable Macros" warning on revision 6308.
>
> The line number given in the original error message is just setting
> the view type on the document, so I tried commenting out that whole
> if(){...} block. When I do that, and invoke Diff from the GUI, I no
> longer get a runtime error message, but I do get this message and no
> diff is created (the same two windows are shown as when I got the
> error):
>
> Error comparing
> C:\Users\me\AppData\Local\Temp\MyDoc.doc-rev6310.svn005.tmp.doc and
> C:\Users\me\AppData\Local\Temp\MyDoc.doc-rev6309.svn006.tmp.doc
>
> I'm at a loss at this point. Unfortunately the document contains
> company-proprietary information so I cannot send it.
>
> I did manage to use Beyond Compare to see the textual differences, so
> this isn't critical for me at the moment, but I do rely on the
> TortoiseSVN diff in my daily work, and sometimes the changes are not
> so simple as a trivial text difference. I was lucky this time.

That error appears to be due to late binding. It happens when the office
document has a reference to another COM object in it, and that COM
object does either not exist or fails to initialize.
You mentioned that the doc has macros in it, maybe the macro references
another COM/OLE object? Or the doc itself has another object embedded?

Note that even if you remove the failing object, the reference to it
might still be left in the doc.

Stefan

```--
___
oo  // \\      "De Chelonian Mobile"
(_,\/ \_/ \     TortoiseSVN
\ \_/_\_/>    The coolest interface to (Sub)version control
/_/   \_\     http://tortoisesvn.net
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=3077423
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
```