使用 Excel 列数据填充 Applescript 从列表中选择

问题描述 投票:0回答:1

我正在使用 Applescript 在 Mac 上通过 Outlook 发送电子邮件,并从具有以下结构的 Excel 文件中提取数据:

我的目标是使用

A:C
列中的所有非空单元格来填充下拉列表,以便我选择收件人(将 A、B 和 C 列对应的三个值放入我稍后可以使用的变量中) ,但是当我尝试运行当前脚本时收到此消息:

“Microsoft Excel got an error: Can’t make {"", "", ""} into type string.”

这是我目前的 Applescript:

on run {input, parameters}
        
    tell application "Microsoft Excel"
        activate
        open file "Macintosh HD:Users:FAKEUSER:Desktop:automations:testlist.xlsx"
        
        set recipientList to (value of range "A100:C100")
        
        set recipientPick to choose from list recipientList with prompt "Select recipient: default items {item 1 of recipientList}"
        recipientPick
                
    end tell
    
    return input
end run
applescript automator
1个回答
0
投票

从列表中选择需要一个列表作为输入,但是您的变量recipientList如果是一个列表列表:一个与Excel数据行一样多的项目的列表,每个项目都是3个字符串{姓氏,名字,电子邮件}的列表。

您需要调整脚本以构建一个由姓氏和名字串联组成的新列表,然后您可以在从列表中选择命令中使用该字符串“surname_givenname”列表。 第二个列表将仅基于范围 C1:C100 用于存储电子邮件 用户做出选择后,您必须找到该选择的编号,并在电子邮件列表中获取相同的项目编号。

另请注意,范围 A100:C100 的值只会为您提供一个包含 1 项的列表(数据为第 100 行),即列表 {surname、givenname、email}。相反,您应该使用范围 A1:C100(如果没有标题)。

© www.soinside.com 2019 - 2024. All rights reserved.