मुझे गलती से समाधान मिल गया। अगर मैं ref_cursor पैरामीटर को परिभाषित नहीं करता, तो यह काम करता है।
cmd.CommandText = "testproc"
cmd.ActiveConnection = cn
cmd.CommandType = adCmdStoredProc
Set param1 = cmd.CreateParameter("articlenr", adInteger, adParamInput, , 47)
Set param2 = cmd.CreateParameter("storenr", adInteger, adParamInput, , 281)
Set param3 = cmd.CreateParameter("cweek", adVarChar, adParamInput, 10, "201705")
'Next line not needed
'Set param4 = cmd.CreateParameter("prc", adVariant, adParamOutput, , Null)
cmd.Parameters.Append param1
cmd.Parameters.Append param2
cmd.Parameters.Append param3
'Next line not needed
'cmd.Parameters.Append param4
Set rs = cmd.Execute
यह काम करता है, जाहिरा तौर पर ref_cursor विनिर्देश की आवश्यकता नहीं है और डिफ़ॉल्ट रूप से होता है :)