OSDN Git Service

Call CGitCall::OnEnd() when git.exe ended
[tortoisegit/TortoiseGitJp.git] / contrib / other / diff-scripts / merge-odt.vbs
1 '\r
2 ' TortoiseSVN Merge script for Open Office Text 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 \r
17 dim objArgs,num,sBaseDoc,sMergedDoc,sTheirDoc,sMyDoc,objScript,word,destination\r
18 \r
19 Set objArgs = WScript.Arguments\r
20 num = objArgs.Count\r
21 if num < 4 then\r
22    MsgBox "Usage: [CScript | WScript] merge-odt.vbs %merged %theirs %mine %base", vbExclamation, "Invalid arguments"\r
23    WScript.Quit 1\r
24 end if\r
25 \r
26 sMergedDoc=objArgs(0)\r
27 sTheirDoc=objArgs(1)\r
28 sMyDoc=objArgs(2)\r
29 sBaseDoc=objArgs(3)\r
30 \r
31 Set objScript = CreateObject("Scripting.FileSystemObject")\r
32 If objScript.FileExists(sMyDoc) = False Then\r
33     MsgBox "File " + sMyDoc +" does not exist.  Cannot compare the documents.", vbExclamation, "File not found"\r
34     Wscript.Quit 1\r
35 End If\r
36 If objScript.FileExists(sTheirDoc) = False Then\r
37     MsgBox "File " + sTheirDoc +" does not exist.  Cannot compare the documents.", vbExclamation, "File not found"\r
38     Wscript.Quit 1\r
39 End If\r
40 \r
41 Set objScript = Nothing\r
42 \r
43 On Error Resume Next\r
44 'The service manager is always the starting point\r
45 'If there is no office running then an office is started\r
46 Set objServiceManager= Wscript.CreateObject("com.sun.star.ServiceManager")\r
47 If Err.Number <> 0 Then\r
48    Wscript.Echo "You must have OpenOffice installed to perform this operation."\r
49    Wscript.Quit 1\r
50 End If\r
51 \r
52 On Error Goto 0\r
53 'Create the DesktopSet \r
54 Set objDesktop = objServiceManager.createInstance("com.sun.star.frame.Desktop")\r
55 'Adjust the paths for OO\r
56 sMyDoc=Replace(sMyDoc, "\", "/")\r
57 sMyDoc=Replace(sMyDoc, ":", "|")\r
58 sMyDoc=Replace(sMyDoc, "%", "%25")\r
59 sMyDoc=Replace(sMyDoc, " ", "%20")\r
60 sMyDoc="file:///"&sMyDoc\r
61 sTheirDoc=Replace(sTheirDoc, "\", "/")\r
62 sTheirDoc=Replace(sTheirDoc, ":", "|")\r
63 sTheirDoc=Replace(sTheirDoc, "%", "%25")\r
64 sTheirDoc=Replace(sTheirDoc, " ", "%20")\r
65 sTheirDoc="file:///"&sTheirDoc\r
66 \r
67 'Open the %mine document\r
68 Dim oPropertyValue(0)\r
69 Set oPropertyValue(0) = objServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue")\r
70 oPropertyValue(0).Name = "ShowTrackedChanges"\r
71 oPropertyValue(0).Value = true\r
72 Set objDocument=objDesktop.loadComponentFromURL(sMyDoc,"_blank", 0, oPropertyValue)\r
73 \r
74 'Set the frame\r
75 Set Frame = objDesktop.getCurrentFrame\r
76 \r
77 Set dispatcher=objServiceManager.CreateInstance("com.sun.star.frame.DispatchHelper")\r
78 \r
79 'Execute the comparison\r
80 Dispatcher.executeDispatch Frame, ".uno:ShowTrackedChanges", "", 0, oPropertyValue\r
81 oPropertyValue(0).Name = "URL"\r
82 oPropertyValue(0).Value = sTheirDoc\r
83 Dispatcher.executeDispatch Frame, ".uno:CompareDocuments", "", 0, oPropertyValue\r
84 \r