Automation Anywhere-如果通过AA打开Excel文件,Excel宏将不会运行

Automation Anywhere-如果通过AA打开Excel文件,Excel宏将不会运行,excel,vba,automation,automationanywhere,Excel,Vba,Automation,Automationanywhere,我有一个很奇怪的问题,我想不出来 总之,我有两个Excel文件。一个“MyMacro.xlsm”文件和一个“MyPortfolio.xlsx”文件。“MyMacro.xlsm”旨在对“MyPortfolio.xlsx”进行更改。稍后我将调整宏以接受AA中的参数,以便可以针对多个单独的文件运行它。但现在我只是想让它自己运行 更奇怪的是,当我自己手动打开这些文件时,宏的工作是完美的。没有错误,每次都有效 但是,当我使用Automation Anywhere打开文件时,它总是失败。在AA中,它给了我以

我有一个很奇怪的问题,我想不出来

总之,我有两个Excel文件。一个“MyMacro.xlsm”文件和一个“MyPortfolio.xlsx”文件。“MyMacro.xlsm”旨在对“MyPortfolio.xlsx”进行更改。稍后我将调整宏以接受AA中的参数,以便可以针对多个单独的文件运行它。但现在我只是想让它自己运行

更奇怪的是,当我自己手动打开这些文件时,宏的工作是完美的。没有错误,每次都有效

但是,当我使用Automation Anywhere打开文件时,它总是失败。在AA中,它给了我以下错误:

Cannot run the macro 'ConvertTextToNumber'. The macro may not be available in this workbook or all macros may be disabled.
Run-time error '9': Subscript out of range
发生该错误后,如果我手动转到已打开的“MyMacro.xlsm”文件并尝试运行宏,它将失败并出现以下错误:

Cannot run the macro 'ConvertTextToNumber'. The macro may not be available in this workbook or all macros may be disabled.
Run-time error '9': Subscript out of range
如果我立即关闭excel文件并手动再次打开它们,它会再次工作

所以一定是有东西坏了,因为AA打开了那些文件。有人知道是什么可能导致这个错误吗?有没有办法在不破坏宏的情况下运行该宏?或者,我是否遗漏了Automation Anywhere如何使用宏?我假设会话无法识别单独的打开文件,但我不知道如何修复

为了更加清晰,下面是我正在运行的两个超级简单的宏

Sub ConvertTextToNumber()
Workbooks("My Portfolio.xlsx").Sheets("Sheet1").Range("A2:A2000").NumberFormat = "General"
End Sub

Sub SortSmallestToLargest()
    Workbooks("My Portfolio.xlsx").Sheets("Sheet1").Range("A2:BT2000").Sort Key1:=Workbooks("My Portfolio.xlsx").Sheets("Sheet1").Range("A:A"), Order1:=xlAscending
End Sub

谢谢

似乎您的两个Excel文件可能在两个不同的Excel实例中打开?xlsm文件中的宏安全性是否设置为自动接受?@TimWilliams是的,我认为这就是问题所在。在Automation Anywhere中,每个excel文件都有自己的会话,我认为这会阻止一个“会话”中的宏与另一个“会话”进行交互…即使手动操作效果很好。@ceci是的,它被设置为自动接受。可能让MyMacro.xlsm中的宏直接打开另一个工作簿。