Lỗi trong applescript Việt Chỉ mục không hợp lệ


0

Tôi có một quy trình làm việc tự động hóa hoạt động tốt, ngoại trừ một phần của nó - applescript.

Đây là cách tiến trình công việc -

Chạy applescript (phần này hoạt động tốt) -

on run {input, parameters}

    tell application "Mail" to set theMessageText to content of (get first message of inbox)
    set x to text ((offset of "9" in theMessageText) + 2) thru ((offset of " " in theMessageText) - 1) of theMessageText
end run

Đặt giá trị cho biến (Tên của biến là 'số')

Nhận giá trị cho biến (Tôi đã đảm bảo rằng điều này không nhận được đầu vào trực tiếp từ các hành động trước. Tôi đang gọi biến 'số' ở đây và tôi đã nhân đôi quá trình này thêm 2 lần nữa để gọi thêm 2 biến)

Chạy Applescript (Đây là mã tôi gặp vấn đề) -

on run {input, parameters}
    set cat to first item of input
    set x to second item of input
    set o to third item of input
    tell application "Contacts"
        set thePerson to make new person with properties {first name:"Testing", last name:"Auto"}
        make new phone at end of phones of thePerson with properties {label:"Main", value:x}
        repeat with z from 1 to o
            set a to item z of cat
            add thePerson to group a
        end repeat
        save
    end tell
end run

Lỗi hiển thị ở đây là "Lỗi cú pháp - Không thể nhận mục 2. Chỉ mục không hợp lệ".

Mục đích của quy trình làm việc là lấy một số chi tiết liên hệ từ email và thêm chúng dưới dạng liên hệ trong sổ địa chỉ (Đây không phải là quy trình công việc đầy đủ vì nó là một quy trình khá lớn. Tôi chỉ hiển thị các hành động có liên quan).

Tôi thật sự rất biết ơn những người đã giúp đỡ tôi.

Câu trả lời:


0

Các giá trị bạn đặt trước không được cung cấp thông qua inputtham số. Miễn là bạn chạy Luồng công việc Máy tự động của mình dưới dạng Luồng công việc của Máy tự động chứ không phải là Ứng dụng hoặc Dịch vụ, bạn có thể truy cập các biến được đặt trước đây của mình bằng cách sử dụng như sau:

tell application "Automator"
    set cat to value of variable "NameOfFirstVariable" of front workflow
    set x to value of variable "NameOfSecondVariable" of front workflow
    set o to value of variable "NameOfThirdVariable" of front workflow
end tell

bên trong hành động "Chạy Applescript" của bạn.

Chúc mừng, Michael / Hamburg


Tôi đã thử cách này nhưng tôi gặp lỗi sau "Không thể lấy mục 2 trong số {3}". Vấn đề dường như là trong việc truy xuất biến thứ hai. Hành động "Nhận giá trị của biến" dường như đang hoạt động tốt. Mỗi lần tôi chạy chương trình, sau hộp thoại báo lỗi, phần "mục z" của mã được tô sáng. Bất cứ ý tưởng những gì đang xảy ra ở đây? Cảm ơn sự giúp đỡ @ShooTerKo
Kevin Vert

Bạn thử set a to item z of catbên trong repeat with z from 1 to o. Nó chỉ đơn giản là trông ocó giá trị lớn hơn số lượng vật phẩm trong danh sách mèo ...
ShooTerKo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.