运行 PeopleSoft 查询 Excel VBA 超链接

Running PeopleSoft Query with Excel VBA Hyperlink

我在下面使用了类似的代码 运行 "public" PeopleSoft 从 Excel 查询使用 VBA。当我查看从下面的代码生成的超链接时,它类似于我们使用此方法 运行 的 public 查询。唯一的区别是这是一个 "private" 查询。我可以使用这些相同的提示在 PeopleSoft 中手动 运行 查询,它 运行s 并产生预期的结果(32 行)。但是,当我 运行 来自 Excel 的这段代码时,PeopleSoft 打开,您登录后它看起来像查询 运行s。但是,它没有 return 任何结果(0 行)。这与 运行ning "private" 查询有什么不同吗?用这个方法是不是不能运行"private"查询?任何建议将不胜感激,因为这让我们感到困惑。感谢您的帮助......

如果有帮助,我们正在使用 Excel 2010、PeopleSoft 9.1 和 PeopleTools 8.52

Dim vFROMACCT As Date
Dim vTOACCT As Date
vFROMACCT = "07/01/2016"
vTOACCT = "07/21/2016"
vFROMACCT = Format(vFROMACCT, "MM/DD/YYYY")
vTOACCT = Format(vTOACCT, "MM/DD/YYYY")
vHypRoot = "http://pswebfsprd.myco.com/fsprd_1/EMPLOYEE/ERP/q/?ICAction=ICQryNameExcelURL=PRIVATE.CAR_SALES_1"

vHypLnk = vHypRoot
vHypLnk = vHypLnk & "&bind1=" & vFROMACCT
vHypLnk = vHypLnk & "&bind2=" & vTOACCT

With Worksheets("Sheet1")
.Hyperlinks.Add .Cells(10, 1), vHypLnk
.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
End With

如果您得到 0 个结果,则查询 运行ning。我相信您的问题出在日期参数上。我能够 运行 带有日期参数的私有查询,但我必须使用 YYYY-MM-DD 格式的日期。

&BIND1=2016-07-21

这是在 DB2 上进行的,因此对于您的数据库来说可能有所不同。如果您需要使用其中包含斜杠的格式,请确保在提交之前对 URL 进行编码。这是一个Stack Overflow question on urlencoding in VBA

我的完整 URL 是:

https://dev.removed.com/psp/mydev/EMPLOYEE/ERP/q/?ICAction=ICQryNameURL=PRIVATE.TEST_DS&BIND1=2016-07-21

注意:这是在 PeopleTools 8.54.13 上运行的,但应该适用于 8.52