我为我的英语道歉。我希望PAD中的流从Excel文件中的列中获取' yes‘和'No’值,如果是,它将打开来自另一列的链接,并在Excel文件中写入所需UI元素的值。如果-条件和循环分别工作很好,但不能在一起。谢谢你的帮助。


发布于 2022-03-03 06:01:42
是的,你需要有一点不同的想法。
我在相关的单元格中使用以下信息重新创建了您的工作簿(在一定程度上)。

循环时,需要处理其中一个数据表,然后在循环中从彼此的表中获取索引行。
例如,循环遍历每个优先级,然后对于给定的优先级,在相应的行中获取URL。当然,这意味着两个表都需要相同的大小。
总之,需要遍历每一行,并分别处理每一行。--这是当前脚本的主要问题,它试图大量处理优先级,这是行不通的。
这个脚本可以粘贴到PAD中,它将演示您需要应用的思想,只需更改对工作簿和列的引用,等等。
Excel.LaunchAndOpen Path: $'''c:\\temp\\Data.xlsx''' Visible: True ReadOnly: False LoadAddInsAndMacros: False Instance=> ExcelInstance
SET RowIndex TO 0
Excel.ReadCells Instance: ExcelInstance StartColumn: $'''A''' StartRow: 1 EndColumn: $'''A''' EndRow: 11 ReadAsText: False FirstLineIsHeader: True RangeValue=> URLs
Excel.ReadCells Instance: ExcelInstance StartColumn: $'''B''' StartRow: 1 EndColumn: $'''B''' EndRow: 11 ReadAsText: False FirstLineIsHeader: True RangeValue=> Priorities
LOOP FOREACH Priority IN Priorities
SET URL TO URLs[RowIndex]
IF Priority = $'''Y''' THEN
Display.ShowMessage Title: $'''URL''' Message: URL Icon: Display.Icon.None Buttons: Display.Buttons.OK DefaultButton: Display.DefaultButton.Button1 IsTopMost: False ButtonPressed=> ButtonPressed
END
Variables.IncreaseVariable Value: RowIndex IncrementValue: 1 IncreasedValue=> RowIndex
END
Excel.Close Instance: ExcelInstance您可以看到,我有一个名为RowIndex的变量,每次递增。该变量通过给出当前的位置并允许我获取给定行的URL,从而提供到另一个数据表的链接。

这是一个解决办法。
或者,您可以在AD和AG之间提取所有列,然后在循环时简单地引用每一行上的列。
https://stackoverflow.com/questions/71330919
复制相似问题