2

以下の同様のコードを使用して、VBA を使用して Excel から "パブリック" PeopleSoft クエリを実行しました。以下のコードから作成されたハイパーリンクを見ると、このメソッドで実行するパブリック クエリに似ています。唯一の違いは、これが「プライベート」クエリであることです。これらと同じプロンプトを使用して PeopleSoft でクエリを手動で実行すると、クエリが実行され、想定どおりの結果 (32 行) が生成されます。ただし、このコードを Excel から実行すると、PeopleSoft が開き、サインインすると、クエリが実行されているように見えます。ただし、結果は返されません (0 行)。これは、「プライベート」クエリの実行にひねりがありますか。この方法で「プライベート」クエリを実行することはできませんか? これは私たちを困惑させたので、どんな提案も大歓迎です。助けてくれてありがとう......

役立つ場合は、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
4

1 に答える 1

1

結果が 0 の場合、クエリは実行されています。問題は日付パラメーターにあると思います。日付パラメーターを使用してプライベート クエリを実行できましたが、YYYY-MM-DD 形式の日付を使用する必要がありました。

&BIND1=2016-07-21

これは DB2 にあったため、DB によって異なる場合があります。スラッシュを含む形式を使用する必要がある場合は、送信する前に URL をエンコードしてください。これは、VBA での urlencoding に関するスタック オーバーフローの質問です。

私の完全な 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 でも動作するはずです

于 2016-07-21T16:48:24.847 に答える