如何在vba中为sasprompts添加日期范围

时间:2017-04-13 14:39:53

标签: vba excel-vba sas excel

我正在努力解决一个问题。我想通过Excel中的vba代码从sas门户下载数据。 Sas门户网站提示您需要输入数据范围(在此特定存储过程中)。

我不知道如何在vba中编写可变日期范围,可以通过提示传递。

以下是代码:

Sub SAS_Downloader()

Dim sas As SASExcelAddIn

Set sas = Application.COMAddIns.Item("SAS.ExcelAddIn").Object

Dim daterange As SASRanges
Dim prompts As SASPrompts
Set prompts = New SASPrompts

prompts.Add "date_range", "01Jun2011,01Jun2011,01Jun2011,02Jun2011,02Jun2011,02Jun2011"


Dim a1 As Range
Set a1 = ActiveSheet.Range("A1")
sas.InsertStoredProcess "Poland/Reports/Documents/Stored Process Raport", a1, prompts

End Sub

PS。当提示不是数据范围时,代码可以很好地工作。

1 个答案:

答案 0 :(得分:0)

我明白了!

在SAS支持网站上,有一个PDF,其中包含可以解析为SASPrompts的宏,因此 date_range 可以解析为 date_range_min date_range_max < / b>

  Dim prompts As SASPrompts
  Set prompts = New SASPrompts

  prompts.Add "date_range_min", "01Jun2011"
  prompts.Add "date_range_max", "10Jun2011"

这里是其他类型的宏:

http://support.sas.com/resources/papers/proceedings11/309-2011.pdf