如何在Excel中获取与XMLHTTP请求(如userid)一起传递的隐藏属性?

如何在Excel中获取与XMLHTTP请求(如userid)一起传递的隐藏属性?,excel,vba,rest,authentication,xmlhttprequest,Excel,Vba,Rest,Authentication,Xmlhttprequest,我有一个excel工作簿,它与具有身份验证的Web服务交互。第一次使用VBA和XMLHTTP发出Web服务请求时,我必须在Web服务的弹出框中输入我的用户ID和密码。Excel会记住我在关闭Excel应用程序之前提出的每个连续xml请求的用户名和密码。RESTWebService的身份验证工具是无状态的,所以我没有保持连接。我需要捕获用户输入的userid,以便在GET请求的webservicesurl中使用它。有没有一种方法可以使用VBA从Excel中捕获用户的用户ID,这样就不会对用户提示两

我有一个excel工作簿,它与具有身份验证的Web服务交互。第一次使用VBA和XMLHTTP发出Web服务请求时,我必须在Web服务的弹出框中输入我的用户ID和密码。Excel会记住我在关闭Excel应用程序之前提出的每个连续xml请求的用户名和密码。RESTWebService的身份验证工具是无状态的,所以我没有保持连接。我需要捕获用户输入的userid,以便在GET请求的webservicesurl中使用它。有没有一种方法可以使用VBA从Excel中捕获用户的用户ID,这样就不会对用户提示两次相同的信息

卡茨,谢谢你的回复。我熟悉这些功能。我的场景不同,因为我正在与外部安全Web服务交互,该服务需要与我的windows域不同的用户ID。在我的例子中,Web服务是无状态的,每次调用它时,它都需要服务唯一的用户ID/密码。当使用VBA通过Excel向此Web服务发送请求时,Excel会以某种方式记住用户ID和密码,只要我不关闭Excel实例,我就不需要以交互方式输入用户ID/密码。我需要能够从Excel获取这些信息的地方提取userid,这样我就可以将它放在GET请求中,因为userid可以在GET请求中用作Web服务响应的过滤条件


此用户ID必须存储在excel或系统环境中的某个位置,以便在后续GET请求发送到此Web服务时重用,以便在第一次请求后抑制登录窗口。任何帮助都将不胜感激。

对于本地文件,您可以使用以下代码读取计算机名称和用户名:

Set WSHnet = CreateObject("WScript.Network")
    UserName = WSHnet.UserName
    UserDomain = WSHnet.UserDomain
    Set objUser = GetObject("WinNT://" & UserDomain & "/" & UserName & ",user")
    userfullname = objUser.FullName
Workbook.Sheets("Sheet1").Cells(1, 1).Value = Environ("COMPUTERNAME") & ", " & userfullname
也许它在你的在线文件中也适用于你