两次运行后,在Excel中运行SAS存储过程失败

 报告大王报报报报告大王 发布于 2023-01-07 18:20

我希望这是一个提出这个问题的合适场所.

我最近在Excel中构建了一个数据分析工具,它通过将输入提交到SAS存储过程(作为"输入流"),运行流程并在Excel中显示结果来工作.

我还使用一些代码来检查并删除工作簿中的所有活动存储进程,然后再次运行该进程.

这前两次成功运行,但第三次尝试失败.它总是在第三次尝试失败,我无法弄清楚为什么.

Excel VBA是否有某种内存分配在这个阶段耗尽?还是其他一些最大化的缓冲区?我已经介入VBA代码的每一行,它似乎挂起(在第三次运行)在以下行:

SAS.InsertStoredProcess processLoc, _
    outputSheet.Range("A1"), , , inputStream

用于启动Microsoft Office SAS加载项的代码:

Dim SAS As SASExcelAddIn
Set SAS = Application.COMAddIns.Item("SAS.ExcelAddIn").Object

用于从目标输出表中删除存储过程的代码:

Dim Processes As SASStoredProcesses
Set Processes = SAS.GetStoredProcesses(outputSheet)
Dim i As Integer
For i = 1 To Processes.Count
'    MsgBox Processes.Item(i).DisplayName
    Processes.Item(i).Delete
Next i

用于插入和运行存储过程的代码:

Dim inputStream As SASRanges
Set inputStream = New SASRanges
inputStream.Add "Prompts", inputSheet.Range("DrillDown_Input")
SAS.InsertStoredProcess processLoc, _
    outputSheet.Range("A1"), , , inputStream

干杯

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有