View difference between Paste ID: MX4sZ5U4 and jNrTYhAG
SHOW: | | - or go back to the newest paste.
1
#######################
2
-->> ABOUT
3
#######################
4
(*
5
6
 Phil Stokes -- 2017
7
 applehelpwriter.com 
8
 sqwarq.com 
9
10
*)
11
#######################
12
-->> DESCRIPTION
13
#######################
14
(*
15
16
An example of GUI scripting to save a Word.doc as a PDF with security option 'Require password to copy text, images and other content' set to 'ON'. A default password of '123456' is set in the VARIABLES section below.
17
18
This script was tested on macOS 10.12.6 (‘Sierra’) using Word for Mac 2011. The mac's default language was English.
19
Due to the requirements of GUI scripting, it is highly likely to fail if run in a different environment.
20
21
*)
22
#######################
23
-->> USAGE
24
#######################
25
(*
26
27
Change the password in the VARIABLES section below to something else.
28
Open a Word document and run the script.
29
Note the script runs on the frontmost document.
30
It does not save or close the Word document itself.
31
32
*)
33
34
#######################
35
-->> VARIABLES
36
#######################
37
(* example password *)
38
set thePassword to "123456"
39
40
41
#######################
42
-->> COMMANDS
43
#######################
44
45
tell application "Microsoft Word"
46
	activate
47
end tell
48
49
tell application id "com.apple.systemevents" -- System Events.app
50
	tell its application process "Microsoft Word"
51
		(* click the print menu item *)
52
		tell its menu bar 1
53
			tell its menu "File"
54
				tell its menu item "Print..." to perform action "AXPress"
55
				delay 0.5
56
			end tell
57
		end tell
58
		(* click the PDF button *)
59
		tell its window "Print"
60
			tell its menu button "PDF"
61
				perform action "AXShowMenu"
62
				tell its menu "PDF"
63
					tell its menu item "Save as PDF…"
64
						perform action "AXPress"
65
					end tell
66
				end tell
67
			end tell
68
			delay 0.5
69
			(* click the Security Options button *)
70
			tell its sheet 1
71
				tell its group 1
72
					tell its button "Security Options..."
73
						perform action "AXPress"
74
					end tell
75
				end tell
76
			end tell
77
		end tell
78
		
79
		(* select the PDF Security options window *)
80
		tell its window "PDF Security Options"
81
			set selected to true
82
			set focused to true
83
			(* click the checkbox to on *)
84
			-- NOTE: for some reason there is a delay of about 6 seconds here, I do not know why
85
			tell its checkbox "Require password to copy text, images and other content"
86
				if (value is equal to 0) then
87
					perform action "AXPress"
88
				end if
89
			end tell
90
			(* add the password and confirm *)
91
			set tf to 1
92
			repeat 2 times
93
				tell text field tf
94
					set its value to thePassword
95
					perform action "AXConfirm"
96
				end tell
97
				set tf to 2
98
			end repeat
99
			tell its button "OK" to perform action "AXPress"
100
		end tell
101
		(* save the pdf with the default name and location - it's possible to set this in the script, but I didn't bother for this test  - if the document already exists it will halt the script here and ask if you want to replace it. *)
102
		tell its window "Print"
103
			tell its sheet 1
104
				tell its button "Save" to perform action "AXPress"
105
			end tell
106
		end tell
107
	end tell
108
end tell
109
110
#######################
111
#EOF