OSDN Git Service

add contrib dir
[tortoisegit/TortoiseGitJp.git] / contrib / other / diff-scripts / diff-ods.vbs
1 '\r
2 ' TortoiseSVN Diff script for Open Office Calc files\r
3 '\r
4 ' Copyright (C) 2004-2008 the TortoiseSVN team\r
5 ' This file is distributed under the same license as TortoiseSVN\r
6 '\r
7 ' Last commit by:\r
8 ' $Author: steveking $\r
9 ' $Date: 2008-06-17 03:36:28 +0800 (Tue, 17 Jun 2008) $\r
10 ' $Rev: 13285 $\r
11 '\r
12 ' Authors:\r
13 ' Jonathan Ashley, 2007\r
14 ' Stefan Küng, 2006\r
15 '\r
16 dim objArgs,num,sBaseDoc,sNewDoc,objScript,word,destination\r
17 \r
18 Set objArgs = WScript.Arguments\r
19 num = objArgs.Count\r
20 if num < 2 then\r
21    MsgBox "Usage: [CScript | WScript] diff-ods.vbs base.ods new.ods", vbExclamation, "Invalid arguments"\r
22    WScript.Quit 1\r
23 end if\r
24 \r
25 sBaseDoc=objArgs(0)\r
26 sNewDoc=objArgs(1)\r
27 \r
28 Set objScript = CreateObject("Scripting.FileSystemObject")\r
29 If objScript.FileExists(sBaseDoc) = False Then\r
30     MsgBox "File " + sBaseDoc +" does not exist.  Cannot compare the documents.", vbExclamation, "File not found"\r
31     Wscript.Quit 1\r
32 End If\r
33 If objScript.FileExists(sNewDoc) = False Then\r
34     MsgBox "File " + sNewDoc +" does not exist.  Cannot compare the documents.", vbExclamation, "File not found"\r
35     Wscript.Quit 1\r
36 End If\r
37 \r
38 Set objScript = Nothing\r
39 \r
40 On Error Resume Next\r
41 'The service manager is always the starting point\r
42 'If there is no office running then an office is started\r
43 Set objServiceManager= Wscript.CreateObject("com.sun.star.ServiceManager")\r
44 If Err.Number <> 0 Then\r
45    Wscript.Echo "You must have OpenOffice installed to perform this operation."\r
46    Wscript.Quit 1\r
47 End If\r
48 \r
49 On Error Goto 0\r
50 'Create the DesktopSet \r
51 Set objDesktop = objServiceManager.createInstance("com.sun.star.frame.Desktop")\r
52 'Adjust the paths for OO\r
53 sBaseDoc=Replace(sBaseDoc, "\", "/")\r
54 sBaseDoc=Replace(sBaseDoc, ":", "|")\r
55 sBaseDoc=Replace(sBaseDoc, "%", "%25")\r
56 sBaseDoc=Replace(sBaseDoc, " ", "%20")\r
57 sBaseDoc="file:///"&sBaseDoc\r
58 sNewDoc=Replace(sNewDoc, "\", "/")\r
59 sNewDoc=Replace(sNewDoc, ":", "|")\r
60 sNewDoc=Replace(sNewDoc, "%", "%25")\r
61 sNewDoc=Replace(sNewDoc, " ", "%20")\r
62 sNewDoc="file:///"&sNewDoc\r
63 \r
64 'Open the %base document\r
65 Dim oPropertyValue(0)\r
66 Set oPropertyValue(0) = objServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue")\r
67 oPropertyValue(0).Name = "ShowTrackedChanges"\r
68 oPropertyValue(0).Value = true\r
69 Set objDocument=objDesktop.loadComponentFromURL(sNewDoc,"_blank", 0, oPropertyValue)\r
70 \r
71 'Set the frame\r
72 Set Frame = objDesktop.getCurrentFrame\r
73 \r
74 Set dispatcher=objServiceManager.CreateInstance("com.sun.star.frame.DispatchHelper")\r
75 \r
76 'Execute the comparison\r
77 dispatcher.executeDispatch Frame, ".uno:ShowTrackedChanges", "", 0, oPropertyValue\r
78 oPropertyValue(0).Name = "URL"\r
79 oPropertyValue(0).Value = sBaseDoc\r
80 dispatcher.executeDispatch Frame, ".uno:CompareDocuments", "", 0, oPropertyValue\r
81 \r