Toolboxcategory cloud |
ViewsPersonal toolsMore Macintosh Office IntegrationFrom Seapine LabsIt’s possible to use AppleScript and Microsoft Office for the Mac to provide improved integration between Surround SCM and Microsoft Word on the Macintosh. Below are some sample AppleScript snipets that show you how to do this. None of these have full error handling, but should server as an example of how you might leverage these two tools. For all of these samples, open up the AppleScript Script Editor application, past the script in and save the file in your Documents/Microsoft User Data/Word Script Menu Items/ folder. [edit] CheckoutTo use AppleScript to checkout the current document, try the following.
tell application "Microsoft Word"
set fullPath to path of active document as string
set oldDelimiters to AppleScript's text item delimiters -- always preserve original delimiters
set AppleScript's text item delimiters to {":"}
set pathItems to text items of (fullPath as text)
set fileName to get last text item of pathItems
set parentPath to ((reverse of the rest of reverse of pathItems) as string) & ":"
set AppleScript's text item delimiters to oldDelimiters -- always restore original delimiters
do shell script "cd '" & POSIX path of parentPath & "' ; sscm checkout '" & fileName & "' -c- "
close active document
open file name fullPath
end tell
[edit] CheckinTry the following AppleScript for checking in the current document. This script prompts you for a checkin comment.
tell application "Microsoft Word"
set fullPath to path of active document as string
set oldDelimiters to AppleScript's text item delimiters -- always preserve original delimiters
set AppleScript's text item delimiters to {":"}
set pathItems to text items of (fullPath as text)
set fileName to get last text item of pathItems
set parentPath to ((reverse of the rest of reverse of pathItems) as string) & ":"
set AppleScript's text item delimiters to oldDelimiters -- always restore original delimiters
display dialog "Enter checkin comments:" default answer ""
set dialogInfo to result
set checkinComments to text returned of dialogInfo
if length of checkinComments > 0 then
set comments to "' -cc'" & checkinComments & "'"
else
set comments to "' -c-"
end if
do shell script "cd '" & POSIX path of parentPath & "' ; sscm checkin '" & fileName & comments
close active document
open file name fullPath
end tell
[edit] Undo CheckoutJust to round things out, here is a script to undo a check out.
tell application "Microsoft Word"
set fullPath to path of active document as string
set oldDelimiters to AppleScript's text item delimiters -- always preserve original delimiters
set AppleScript's text item delimiters to {":"}
set pathItems to text items of (fullPath as text)
set fileName to get last text item of pathItems
set parentPath to ((reverse of the rest of reverse of pathItems) as string) & ":"
set AppleScript's text item delimiters to oldDelimiters -- always restore original delimiters
close active document
do shell script "cd '" & POSIX path of parentPath & "' ; sscm uncheckout '" & fileName & "' "
open file name fullPath
end tell
|


