Hướng dẫn python applescript - applescript python

Bài tiếp theo bài viết trước Previous post

Ngày 12 tháng 6 năm 2022 lúc 1:04 chiều bởi Tiến sĩ Drang

JavaScript cho tự động hóa (JXA) không phải là cách duy nhất để thực hiện những thứ Applescrip trong các chương trình được viết bằng một ngôn ngữ khác ngoài AppleScript. Lệnh osascript cho phép bạn chạy AppleScript trong bất kỳ tập lệnh nào, miễn là ngôn ngữ kịch bản có cách gọi ra các lệnh hệ thống. Các lệnh shell có thể sử dụng backticks hoặc cấu trúc $(). Perl có backticks (nó được đặt tên từ vỏ), cấu trúc qx() và lệnh system. Ruby rất giống Perl, nhưng có %x() thay vì qx(). Python có một loạt các công cụ trong mô -đun subprocess.

Vài năm trước, tôi đã viết một mô -đun Python ngắn có tên

python:
 1:  #!/usr/bin/env python
 2:  
 3:  import sys
 4:  from applescript import asrun
 5:  
 6:  cmdTemplate = '''
 7:  tell application "Contacts"
 8:    set myPeople to name of every person whose last name is "{0}"
 9:  end tell
10:  set AppleScript's text item delimiters to linefeed
11:  get myPeople as text
12:  '''
13:  
14:  cmd = cmdTemplate.format(sys.argv[1])
15:  
16:  people = asrun(cmd)
17:  print(people)
0 đã sử dụng subprocess để chạy mã AppleScript trong các tập lệnh Python của tôi. Điều này đã trở lại khi tôi đang sử dụng Python 2, có một chút khác biệt so với Python ngày nay 3. Ngay cả khi tôi chuyển sang sử dụng Python 3 (thông qua Anaconda) cho hầu hết các chương trình của mình, tôi đã bị mắc kẹt với Python 2 cho các tập lệnh sử dụng
python:
 1:  #!/usr/bin/env python
 2:  
 3:  import sys
 4:  from applescript import asrun
 5:  
 6:  cmdTemplate = '''
 7:  tell application "Contacts"
 8:    set myPeople to name of every person whose last name is "{0}"
 9:  end tell
10:  set AppleScript's text item delimiters to linefeed
11:  get myPeople as text
12:  '''
13:  
14:  cmd = cmdTemplate.format(sys.argv[1])
15:  
16:  people = asrun(cmd)
17:  print(people)
0 Mô -đun. Rốt cuộc, các kịch bản đã hoạt động và Apple đã không thể loại bỏ Python 2 tại
python:
 1:  #!/usr/bin/env python
 2:  
 3:  import sys
 4:  from applescript import asrun
 5:  
 6:  cmdTemplate = '''
 7:  tell application "Contacts"
 8:    set myPeople to name of every person whose last name is "{0}"
 9:  end tell
10:  set AppleScript's text item delimiters to linefeed
11:  get myPeople as text
12:  '''
13:  
14:  cmd = cmdTemplate.format(sys.argv[1])
15:  
16:  people = asrun(cmd)
17:  print(people)
4, phải không?

Chà, Apple đã làm điều đó trong một trong các bản phát hành điểm của Monterey, và các kịch bản Python 2 khác nhau mà tôi đã dựa vào trong gần một thập kỷ đã bị phá vỡ. Vì vậy, tôi viết lại mô -đun

python:
 1:  #!/usr/bin/env python
 2:  
 3:  import sys
 4:  from applescript import asrun
 5:  
 6:  cmdTemplate = '''
 7:  tell application "Contacts"
 8:    set myPeople to name of every person whose last name is "{0}"
 9:  end tell
10:  set AppleScript's text item delimiters to linefeed
11:  get myPeople as text
12:  '''
13:  
14:  cmd = cmdTemplate.format(sys.argv[1])
15:  
16:  people = asrun(cmd)
17:  print(people)
0 để hoạt động trong Python 3, đã áp dụng lệnh
python:
 1:  #!/usr/bin/env python
 2:  
 3:  import sys
 4:  from applescript import asrun
 5:  
 6:  cmdTemplate = '''
 7:  tell application "Contacts"
 8:    set myPeople to name of every person whose last name is "{0}"
 9:  end tell
10:  set AppleScript's text item delimiters to linefeed
11:  get myPeople as text
12:  '''
13:  
14:  cmd = cmdTemplate.format(sys.argv[1])
15:  
16:  people = asrun(cmd)
17:  print(people)
6 cho các tập lệnh cũ cần cập nhật, và tất cả lại với thế giới.

Tại đây, phiên bản mới của

python:
 1:  #!/usr/bin/env python
 2:  
 3:  import sys
 4:  from applescript import asrun
 5:  
 6:  cmdTemplate = '''
 7:  tell application "Contacts"
 8:    set myPeople to name of every person whose last name is "{0}"
 9:  end tell
10:  set AppleScript's text item delimiters to linefeed
11:  get myPeople as text
12:  '''
13:  
14:  cmd = cmdTemplate.format(sys.argv[1])
15:  
16:  people = asrun(cmd)
17:  print(people)
7:

python:
 1:  import subprocess
 2:  
 3:  def asrun(ascript):
 4:    "Run the given AppleScript and return the standard output."
 5:  
 6:    osa = subprocess.run(['/usr/bin/osascript', '-'], input=ascript, text=True, capture_output=True)
 7:    if osa.returncode == 0:
 8:      return osa.stdout.rstrip()
 9:    else:
10:      raise ChildProcessError(f'AppleScript: {osa.stderr.rstrip()}')
11:  
12:  
13:  def asquote(astr):
14:    "Return the AppleScript equivalent of the given string."
15:  
16:    astr = astr.replace('"', '" & quote & "')
17:    return '"{}"'.format(astr)

Hàm

python:
 1:  #!/usr/bin/env python
 2:  
 3:  import sys
 4:  from applescript import asrun
 5:  
 6:  cmdTemplate = '''
 7:  tell application "Contacts"
 8:    set myPeople to name of every person whose last name is "{0}"
 9:  end tell
10:  set AppleScript's text item delimiters to linefeed
11:  get myPeople as text
12:  '''
13:  
14:  cmd = cmdTemplate.format(sys.argv[1])
15:  
16:  people = asrun(cmd)
17:  print(people)
8, mà tôi hiếm khi sử dụng, giống như nó. Hàm
python:
 1:  #!/usr/bin/env python
 2:  
 3:  import sys
 4:  from applescript import asrun
 5:  
 6:  cmdTemplate = '''
 7:  tell application "Contacts"
 8:    set myPeople to name of every person whose last name is "{0}"
 9:  end tell
10:  set AppleScript's text item delimiters to linefeed
11:  get myPeople as text
12:  '''
13:  
14:  cmd = cmdTemplate.format(sys.argv[1])
15:  
16:  people = asrun(cmd)
17:  print(people)
9 tận dụng chức năng
lastnames Smith
0 trong mô -đun Python 3, ____ ____99 để thực hiện chuỗi AppleScript được truyền cho nó.

Ở đây, một tập lệnh ví dụ, được gọi là

lastnames Smith
2, sử dụng
python:
 1:  #!/usr/bin/env python
 2:  
 3:  import sys
 4:  from applescript import asrun
 5:  
 6:  cmdTemplate = '''
 7:  tell application "Contacts"
 8:    set myPeople to name of every person whose last name is "{0}"
 9:  end tell
10:  set AppleScript's text item delimiters to linefeed
11:  get myPeople as text
12:  '''
13:  
14:  cmd = cmdTemplate.format(sys.argv[1])
15:  
16:  people = asrun(cmd)
17:  print(people)
9:

python:
 1:  #!/usr/bin/env python
 2:  
 3:  import sys
 4:  from applescript import asrun
 5:  
 6:  cmdTemplate = '''
 7:  tell application "Contacts"
 8:    set myPeople to name of every person whose last name is "{0}"
 9:  end tell
10:  set AppleScript's text item delimiters to linefeed
11:  get myPeople as text
12:  '''
13:  
14:  cmd = cmdTemplate.format(sys.argv[1])
15:  
16:  people = asrun(cmd)
17:  print(people)

Chuỗi

lastnames Smith
4 là Applescript thẳng ngoại trừ
lastnames Smith
5 trong dòng 8. Đây là một trình giữ chỗ mà hàm
lastnames Smith
6 (dòng 14) sử dụng để chèn đối số đầu tiên của tập lệnh. Nếu tập lệnh được chạy như thế này từ dòng lệnh,

lastnames Smith

Sau đó, Smith Smith sẽ là đối số ____ 26, và đầu ra sẽ là một chuỗi các tên đầy đủ của tất cả các Smith trong các liên hệ của tôi, một dòng trên mỗi Smith.

Tất nhiên, đây là một kịch bản đồ chơi. Mô -đun

python:
 1:  #!/usr/bin/env python
 2:  
 3:  import sys
 4:  from applescript import asrun
 5:  
 6:  cmdTemplate = '''
 7:  tell application "Contacts"
 8:    set myPeople to name of every person whose last name is "{0}"
 9:  end tell
10:  set AppleScript's text item delimiters to linefeed
11:  get myPeople as text
12:  '''
13:  
14:  cmd = cmdTemplate.format(sys.argv[1])
15:  
16:  people = asrun(cmd)
17:  print(people)
0 trở nên thực sự hữu ích trong các tập lệnh sử dụng Python để lắp ráp các phần thông tin khác nhau để xây dựng lệnh Applescript, sau đó rút thông tin khác ra khỏi một ứng dụng và trình bày lại cho Python để xử lý thêm. Tôi có xu hướng sử dụng
python:
 1:  #!/usr/bin/env python
 2:  
 3:  import sys
 4:  from applescript import asrun
 5:  
 6:  cmdTemplate = '''
 7:  tell application "Contacts"
 8:    set myPeople to name of every person whose last name is "{0}"
 9:  end tell
10:  set AppleScript's text item delimiters to linefeed
11:  get myPeople as text
12:  '''
13:  
14:  cmd = cmdTemplate.format(sys.argv[1])
15:  
16:  people = asrun(cmd)
17:  print(people)
0 với các liên hệ, lịch, lời nhắc và các ứng dụng thư có chứa thông tin tôi sử dụng để điều hành doanh nghiệp của mình nhưng từ điển Applescript có thể xử lý thông tin đó theo cách tôi muốn.

Bài tiếp theo bài viết trước Previous post

Tôi hy vọng hướng dẫn của người mới bắt đầu này có bạn suy nghĩ về tất cả các loại quy trình và nhiệm vụ bạn muốn tự động hóa. Cú pháp tôi đã hiển thị cho bạn cùng với từ điển AppleScript sẽ giúp bạn có một chặng đường dài. Tuy nhiên, nếu bạn thực sự quan tâm đến việc thực hiện AppleScript theo một số cách hữu ích, bạn sẽ có nhiều việc đọc hơn. Apple cung cấp rất nhiều thông tin tất cả về Applescript trên trang web của họ. Đây là một nơi tốt để bắt đầu.

Một trang web khác mà tôi đã chọn rất nhiều từ T & B. Nó cung cấp một số giải thích và hướng dẫn thực sự chuyên sâu để bạn làm theo (một chút ngày, nhưng kỹ lưỡng và miễn phí). Xin vui lòng chào mừng để lại nhận xét và cho chúng tôi biết nếu bạn thấy hướng dẫn này hữu ích! Những lời khuyên táo khác mà bạn muốn thấy trong tương lai?


Applescript là gì?

AppleScript là ngôn ngữ kịch bản mạnh mẽ được tích hợp cho OS X. Việc sử dụng chính cho AppleScript là tự động hóa các tác vụ thường lặp đi lặp lại và tốn thời gian. Chẳng hạn, với tư cách là một freelancer, tôi ghét việc tạo hóa đơn mỗi tuần cho các khách hàng khác nhau của tôi. Để giải quyết vấn đề này, tôi đã viết một AppleScript đọc số giờ mà tôi đăng nhập vào ICL, tạo hóa đơn trong Microsoft Excel dựa trên những giờ đó và gửi email hóa đơn cho khách hàng của tôi. Tất cả chỉ với một nút bấm!

Hướng dẫn python applescript - applescript python
Hướng dẫn python applescript - applescript python
Hướng dẫn python applescript - applescript python

Cửa sổ chính


Bắt đầu: Khối Tell

Để tạo AppleScript, hãy mở ứng dụng "Trình chỉnh sửa tập lệnh" nằm trong thư mục AppleScript trong thư mục Ứng dụng. Bạn sẽ thấy một cửa sổ đơn giản chứa một trường văn bản lớn với một dải nút dọc theo đỉnh. Bên trong trường văn bản Loại mã sau:

[AppleScript] Nói với ứng dụng "Finder"
tell application "Finder"

Hiển thị hộp thoại "Hello World"

End Tell [/Applescript]
[/applescript]

Applescript cố gắng sử dụng tiếng Anh đơn giản bất cứ khi nào có thể làm cho việc mã hóa cực kỳ đơn giản. Hầu hết các lệnh trong AppleScript được đặt bên trong một "khối nói". Nó được gọi là "Khối nói" bởi vì bạn đang "nói" một ứng dụng nhất định những gì bạn muốn nó làm. Chẳng hạn, mã trên đang nói với trình tìm kiếm hiển thị một cửa sổ hộp thoại chứa các từ "Hello World". Sau khi bạn kết thúc với một lệnh hoặc chuỗi lệnh cho một ứng dụng đã cho, bạn kết thúc khối bằng "end tell".

Luôn nhớ kết thúc các khối báo cáo của bạn một cách chính xác hoặc mã sẽ không biên dịch!

Sau khi bạn hoàn thành nhập mã ở trên, nhấp vào biểu tượng Hammer "Biên dịch". Nếu cú ​​pháp của bạn là chính xác, mã của bạn sẽ tự động định dạng và tô màu. Nếu bạn đã mắc lỗi, trình chỉnh sửa tập lệnh sẽ làm nổi bật khu vực có vấn đề và cung cấp cho bạn một thông điệp về những gì nó nghĩ có thể đã sai. Dưới đây là một tham chiếu nhanh đến các màu khác nhau mà bạn sẽ thấy trong mã được biên dịch của bạn (được tìm thấy trong trình soạn thảo tập lệnh> Tùy chọn).

Hướng dẫn python applescript - applescript python
Hướng dẫn python applescript - applescript python
Hướng dẫn python applescript - applescript python

Hướng dẫn màu sắc

Sau khi mã của bạn đã biên dịch, nhấp vào nút "Chạy". Bạn sẽ xem hộp thoại sau:

Hướng dẫn python applescript - applescript python

Chào thế giới

Bây giờ nhấp vào nút "OK" và nhìn vào cuối cửa sổ Trình chỉnh sửa tập lệnh của bạn. Khi bạn chạy tập lệnh, trình chỉnh sửa tập lệnh cho bạn biết kết quả là gì hoặc "được trả về". Trong trường hợp này, nó cho bạn biết rằng nút "OK" đã được nhấp.

Hướng dẫn python applescript - applescript python
Hướng dẫn python applescript - applescript python
Hướng dẫn python applescript - applescript python

Trở lại ok


Khai báo các biến

Các biến về cơ bản giống nhau trong mọi ngôn ngữ lập trình. Họ cung cấp một cách dễ dàng để truy cập và thao tác nhiều thông tin trong đoạn mã nhỏ gọn. Tạo hoặc "Tuyên bố" các biến là khác nhau cho mỗi ngôn ngữ. Trong AppleScript, bạn khai báo các biến như sau:

[Applescript] Đặt Thestring thành "Hello World"
set theString to "Hello World"

Nói với ứng dụng "Finder"

Hiển thị hộp thoại Thestring

End Tell [/Applescript]
[/applescript]

Applescript cố gắng sử dụng tiếng Anh đơn giản bất cứ khi nào có thể làm cho việc mã hóa cực kỳ đơn giản. Hầu hết các lệnh trong AppleScript được đặt bên trong một "khối nói". Nó được gọi là "Khối nói" bởi vì bạn đang "nói" một ứng dụng nhất định những gì bạn muốn nó làm. Chẳng hạn, mã trên đang nói với trình tìm kiếm hiển thị một cửa sổ hộp thoại chứa các từ "Hello World". Sau khi bạn kết thúc với một lệnh hoặc chuỗi lệnh cho một ứng dụng đã cho, bạn kết thúc khối bằng "end tell".

Luôn nhớ kết thúc các khối báo cáo của bạn một cách chính xác hoặc mã sẽ không biên dịch!

Sau khi bạn hoàn thành nhập mã ở trên, nhấp vào biểu tượng Hammer "Biên dịch". Nếu cú ​​pháp của bạn là chính xác, mã của bạn sẽ tự động định dạng và tô màu. Nếu bạn đã mắc lỗi, trình chỉnh sửa tập lệnh sẽ làm nổi bật khu vực có vấn đề và cung cấp cho bạn một thông điệp về những gì nó nghĩ có thể đã sai. Dưới đây là một tham chiếu nhanh đến các màu khác nhau mà bạn sẽ thấy trong mã được biên dịch của bạn (được tìm thấy trong trình soạn thảo tập lệnh> Tùy chọn).


Hướng dẫn màu sắc

Sau khi mã của bạn đã biên dịch, nhấp vào nút "Chạy". Bạn sẽ xem hộp thoại sau:

Chào thế giới
--Integer Variables
set theFirstNumber to 3
set the theSecondNumber to 2

Bây giờ nhấp vào nút "OK" và nhìn vào cuối cửa sổ Trình chỉnh sửa tập lệnh của bạn. Khi bạn chạy tập lệnh, trình chỉnh sửa tập lệnh cho bạn biết kết quả là gì hoặc "được trả về". Trong trường hợp này, nó cho bạn biết rằng nút "OK" đã được nhấp.
set theAnswer to (theFirstNumber + theSecondNumber)
set theAnswer to (theAnswer + 1)

Trở lại ok
set theString to "3+2+1="

Khai báo các biến
tell application "Finder"

Hiển thị hộp thoại Thestring & Theanswer

End Tell [/Applescript]
[/applescript]

Bạn có thể nhanh chóng biên dịch mã của mình bằng cách nhấn phím "Enter" (không phải phím trả về). Điều này được đặt trên Ten Key Number Pad trên máy tính để bàn và bên cạnh phím "Lệnh" ở bên phải của thanh không gian trên máy tính xách tay.

Khi kịch bản của bạn trở nên phức tạp hơn, một chút tổ chức theo thứ tự. Bằng cách gõ hai dấu gạch ngang "-" Trước một dòng văn bản, bạn có thể chèn nhận xét. Sử dụng nhận xét để phân tách và mô tả các phần mã của bạn để dễ dàng điều hướng. Trong ví dụ này, tôi đã tạo một biến chuỗi (chỉ văn bản) và một vài biến số nguyên. Lưu ý rằng bạn có thể thực hiện các hoạt động toán học trên các biến. Ở đây tôi đã đặt "TheFirstNumber" bằng ba và "psesecondNumber" thành hai và sau đó thêm chúng lại với nhau trong "Theanswer".

Cũng lưu ý rằng bạn có thể thay đổi một biến sau khi được khai báo. Ngay sau khi đặt "Theanswer" thành tổng của "TheFirstNumber" và "TheSecondNumber" (dẫn đến 5), tôi đã thay đổi giá trị của "Theanswer" bằng cách thêm một vào nó (dẫn đến 6). Nếu bạn chạy tập lệnh này, bạn sẽ thấy kết quả sau:

Hướng dẫn python applescript - applescript python

Một số toán học cơ bản

Một lần nữa, điều này chỉ làm trầy xước bề mặt của các loại hoạt động bạn có thể thực hiện trên các biến. Bây giờ bạn chỉ nên hiểu rằng một biến không tĩnh. Phần lớn sức mạnh của đằng sau bất kỳ ngôn ngữ lập trình nào là khả năng thao tác các biến để thực hiện nhiều nhiệm vụ khác nhau.


Chìa khóa cho tất cả: Từ điển Applescript

Mặc dù AppleScript có một loạt các lệnh có thể được áp dụng cho bất kỳ chương trình hoặc mục nào trong OS X, nhưng các nhà phát triển của mỗi ứng dụng được giao nhiệm vụ thêm hỗ trợ Applescript đầy đủ cho các ứng dụng của họ. Điều này có nghĩa là các nhà phát triển phải viết các hướng dẫn đơn giản về cách giao tiếp với các ứng dụng của họ thông qua AppleScript. Những hướng dẫn này được gọi là "từ điển". Để xem từ điển, hãy truy cập Tệp> Mở Dictionary trong trình chỉnh sửa tập lệnh. Cuộn xuống danh sách các ứng dụng, nhấp vào thư và nhấn "OK". Bạn sẽ xem cửa sổ sau:

Hướng dẫn python applescript - applescript python
Hướng dẫn python applescript - applescript python
Hướng dẫn python applescript - applescript python

Từ điển thư

Cột bên trái chứa "Suites" có sẵn của các lệnh và vật phẩm. Khi bạn nhấp vào bộ, bạn sẽ thấy mọi thứ có trong bộ được hiển thị bên dưới. Bạn có thể thu hẹp bản xem trước này bằng cách nhấp vào cột thứ hai, sau đó một lần nữa trong phần ba. Các bộ chứa các lệnh (c có vòng tròn) và các lớp (c có hình vuông), các lớp chứa các thuộc tính (p) và các phần tử (e). Để hiểu tất cả những điều này hoạt động như thế nào, hãy sử dụng từ điển này để tạo tập lệnh.


Bước 1: Tạo một thuật toán cho tập lệnh của chúng tôi Create an Algorithm for Our Script

Đầu tiên chúng ta cần một thuật toán, đó là một cách lạ mắt để nói rằng chúng ta cần viết ra chính xác những gì kịch bản của chúng ta sẽ làm. Chúng tôi muốn tạo một tập lệnh để soạn và gửi email. Chúng tôi sẽ muốn sử dụng các biến để giúp dễ dàng thay đổi thông báo cũng như tin nhắn được gửi đến ai. Khi chúng tôi viết thuật toán của mình, chúng tôi cần ghi nhớ cách thức hoạt động của AppleScript. Đây là những bước tôi đã đưa ra:

  1. Tạo các biến cho người nhận, địa chỉ email của người nhận, chủ đề của email và văn bản cho phần thân của email.
  2. Tạo một biến chứa thông điệp mới của chúng tôi cùng với các thuộc tính khác nhau của nó
  3. Tạo thông báo mới
  4. Gửi tin nhắn mới

Bước 2: Tạo một số biến Create Some Variables

Chúng tôi đã biết cách tạo các biến giữ văn bản để chúng tôi thậm chí không cần từ điển cho bước một. Đây là mã trông như thế nào:

[AppleScript] -Variabled đặt người nhận thành "John Doe" đặt người nhận thành "" Đặt mục tiêu thành "Email tự động của AppleScript" đặt ra "Email này đã được tạo và gửi bằng AppleScript!" [/Applescript]
--Variables
set recipientName to "John Doe"
set recipientAddress to ""
set theSubject to "AppleScript Automated Email"
set theContent to "This email was created and sent using AppleScript!"
[/applescript]

Như bạn có thể thấy, chúng tôi chỉ cần đặt văn bản giữ chỗ vào các biến cho tên và địa chỉ email của người nhận cũng như chủ đề và nội dung của tin nhắn của chúng tôi. Bạn có thể thay đổi những thứ này thành bất cứ thứ gì bạn muốn. Hãy chắc chắn đặt địa chỉ email của riêng bạn vào biến người nhận để bạn có thể đảm bảo rằng tập lệnh hoạt động đúng khi bạn nhận được email.


Bước 3: Tạo biến tin nhắn với từ điển thư Create the Message Variable with the Mail Dictionary

Vì chúng tôi không biết làm thế nào để gửi thư để tạo một tin nhắn mới, đây là nơi chúng tôi cần tham khảo từ điển Applescript. Nếu bạn nhấp vào "bộ tiêu chuẩn", bạn sẽ thấy một số lệnh phổ biến đạt tiêu chuẩn trong Applescript. Biết rằng chúng tôi muốn "tạo" một thông điệp mới, chúng tôi chỉ cần cuộn qua các tùy chọn và tìm thấy một cái gì đó tương đương. Bạn sẽ thấy không có lệnh "Tạo" "nhưng khoảng một nửa xuống có lệnh" tạo ". Điều đó nghe có vẻ hoàn hảo, vì vậy bây giờ chúng tôi biết để nói với AppleScript chúng tôi muốn "làm" một cái gì đó.

Tiếp theo Nhấp vào bộ "Thư". Chúng tôi đã có lệnh của chúng tôi (thực hiện) để cuộn xuống qua các lệnh (động từ) cho đến khi bạn thấy các lớp (danh từ). Lớp học đầu tiên chúng ta đi qua là "thông điệp gửi đi", điều này thật tuyệt bởi vì đó chính xác là những gì chúng ta muốn! Bây giờ nhấp vào lớp "Thông báo gửi đi" và xem các thuộc tính có sẵn bên dưới.

Chúng tôi cần cắm các biến của mình cho tên của người nhận, địa chỉ email của người nhận, chủ đề và nội dung của tin nhắn. Trong danh sách các thuộc tính, không có gì về người nhận nhưng có các thuộc tính cho chủ đề và nội dung. Bây giờ chúng ta biết cú pháp thích hợp để chỉ các thuộc tính này. Lưu ý rằng từ điển cung cấp cho bạn định dạng để xác định các thuộc tính. Ví dụ, cho chủ đề, chúng ta sẽ nhập từ "chủ đề" theo sau là một dấu hai chấm sau khi văn bản của chủ đề.

Hướng dẫn python applescript - applescript python
Hướng dẫn python applescript - applescript python
Hướng dẫn python applescript - applescript python

Nội dung môn học

Ngoài ra, trong bộ này, bạn sẽ tìm thấy một lệnh "Gửi", mà chúng ta có thể sử dụng để gửi tin nhắn bằng cách gõ "Gửi". Chúng tôi vẫn cần biết cú pháp thích hợp cho tên và địa chỉ email của người nhận. Vì nó không có trong bộ này, hãy nhấp vào bộ "Tin nhắn". Khoảng nửa chừng danh sách các lớp chúng tôi tìm thấy "người nhận". Nhấp vào lớp người nhận và chúng tôi thấy rằng một lần nữa, chúng tôi có thể sử dụng tiếng Anh đơn giản để chỉ các thuộc tính của người nhận. Chúng tôi chỉ cần nhập "Tên" và "Địa chỉ".

Bạn có thể sử dụng tính năng tìm kiếm để săn lùng các thuộc tính, lớp, phần tử và lệnh nhanh chóng.

Bây giờ chúng tôi đã sẵn sàng để tạo biến tin nhắn của chúng tôi bằng cách sử dụng cú pháp mà chúng tôi vừa học. Đây là mã trông như thế nào:

[AppleScript] -Variabled đặt người nhận thành "John Doe" đặt người nhận thành "" Đặt mục tiêu thành "Email tự động của AppleScript" đặt ra "Email này đã được tạo và gửi bằng AppleScript!"
--Variables
set recipientName to "John Doe"
set recipientAddress to ""
set theSubject to "AppleScript Automated Email"
set theContent to "This email was created and sent using AppleScript!"

--mail Tell Block Tell Ứng dụng "Mail"
tell application "Mail"

-Tạo thông báo đặt Themessage để tạo thông báo đi mới với các thuộc tính {chủ đề: thesubject, nội dung: thecontent, có thể nhìn thấy: true}
set theMessage to make new outgoing message with properties {subject:theSubject, content:theContent, visible:true}

End Tell [/Applescript]
[/applescript]

Lưu ý rằng tôi đã tạo một khối báo cáo để gửi kèm tất cả các lệnh vào ứng dụng thư. Sau đó, tôi đặt một biến (themessage) thành "tạo" một "tin nhắn gửi đi mới" với các thuộc tính được thảo luận ở trên. Cũng lưu ý rằng các bộ thuộc tính luôn được chứa trong dấu ngoặc {}.


Bước 4: Đặt người nhận và gửi tin nhắn Set the Recipient and Send the Message

Bây giờ chúng tôi đã tạo biến tin nhắn của mình, chúng tôi cần gọi biến đó và tạo một thông báo mới với các thuộc tính của Themessage. Chúng tôi cũng cần đặt người nhận và gửi tin nhắn. Để làm điều này, chúng tôi sẽ sử dụng một khối báo cáo trên biến của chúng tôi. Đây là kịch bản đã hoàn thành của chúng tôi.

[AppleScript] -Variabled đặt người nhận thành "John Doe" đặt người nhận thành "" Đặt mục tiêu thành "Email tự động của AppleScript" đặt ra "Email này đã được tạo và gửi bằng AppleScript!"
--Variables
set recipientName to "John Doe"
set recipientAddress to ""
set theSubject to "AppleScript Automated Email"
set theContent to "This email was created and sent using AppleScript!"

--mail Tell Block Tell Ứng dụng "Mail"
tell application "Mail"

-Tạo thông báo đặt Themessage để tạo thông báo đi mới với các thuộc tính {chủ đề: thesubject, nội dung: thecontent, có thể nhìn thấy: true}
set theMessage to make new outgoing message with properties {subject:theSubject, content:theContent, visible:true}

End Tell [/Applescript]
tell theMessage
make new to recipient with properties {name:recipientName, address:recipientAddress}

Lưu ý rằng tôi đã tạo một khối báo cáo để gửi kèm tất cả các lệnh vào ứng dụng thư. Sau đó, tôi đặt một biến (themessage) thành "tạo" một "tin nhắn gửi đi mới" với các thuộc tính được thảo luận ở trên. Cũng lưu ý rằng các bộ thuộc tính luôn được chứa trong dấu ngoặc {}.
send

Bước 4: Đặt người nhận và gửi tin nhắn
end tell
[/applescript]

Bây giờ chúng tôi đã tạo biến tin nhắn của mình, chúng tôi cần gọi biến đó và tạo một thông báo mới với các thuộc tính của Themessage. Chúng tôi cũng cần đặt người nhận và gửi tin nhắn. Để làm điều này, chúng tôi sẽ sử dụng một khối báo cáo trên biến của chúng tôi. Đây là kịch bản đã hoàn thành của chúng tôi.

.

Hướng dẫn python applescript - applescript python
Hướng dẫn python applescript - applescript python
Hướng dẫn python applescript - applescript python

-Kết thúc tin nhắn gửi

Kết thúc Tell End Tell [/AppleScript]


Đầu tiên, chúng tôi đã tạo một bản sao mới của Themessage (kế thừa tất cả các thuộc tính chúng tôi đã đặt vào đó) và đặt nó "thành người nhận thuộc tính". Điều này cho Mail rằng chúng tôi muốn thêm người nhận với các thuộc tính sau. Ở đây chúng tôi chỉ sử dụng cú pháp mà chúng tôi đã học trước đây và các biến cho tên và địa chỉ của người nhận.

Cuối cùng, chúng tôi đã gọi lệnh "Gửi" để gửi tin nhắn của chúng tôi. Lưu ý rằng chúng tôi có hai khối để đóng lần này. Khi bạn đã biên dịch mã của mình và sửa bất kỳ lỗi nào sẽ nhấn "Chạy". Thư sẽ tự động tạo và gửi tin nhắn. Tadaah! Kiểm tra thư mục đã gửi của bạn để đảm bảo mọi thứ hoạt động.

Thư

Bạn có thấy bài đăng này hữu ích?

Hướng dẫn python applescript - applescript python

Biên tập viên, nhà văn, nhà thiết kế, và nhiếp ảnh gia.Tôi làm việc cho Envato và đã viết hàng tấn công cụ cho Design Shack.