사용자 목록을 Excel로 내보내는 몇 가지 방법

2867 단어 Excel
최근 고객이 SharePoint 위의 사용자 목록을 Excel로 내보내는 방법을 문의하고 있습니다. 확인해 보니 SharePoint는 직접 사용할 수 있는 내보내기 기능을 제공하지 않았습니다(List는 모두 있지만 내보내지 못하게 합니다...)
인터넷을 검색해 보니 방법이 다양하니 필요에 따라 사용하세요.
방법 1:
1. 내보내려는 SharePoint Group 페이지를 엽니다. 2. 페이지 URL을 복사합니다. 3. Excel > Data > From Web을 열고 마지막으로 복사한 URL을 붙여넣은 다음 GO를 클릭합니다.
페이지에 노란색 화살표가 많은 것을 볼 수 있습니다. User Group의 표를 선택하고import를 누르십시오.
 
방법 2:
1. People and Groups 페이지를 엽니다.2. Settings > List Settings 를 선택합니다.3. View > List View를 선택합니다. 4. 내보낼 필드를 선택하십시오.5. 이 페이지의 URL에서 List 및 View ID를 복사합니다. 6. 다음 URL의 [LISTID] 및 [VIEWID]를 복사된 ID로 대체한 다음 브라우저에서 엽니다. URL Format: {Site URL}/_vti_bin/owssvr.dll?CS=109&Using=_layouts/query.iqy&List={List GUID}&View={View GUID}&CacheControl=1
 
방법 3:
VBA 호출 SharePoint의 웹 서비스를 작성하여 사용자 목록을 XML로 내보내기
Function GetUserGroups(userName As String,webUrl As String)

 Dim soapClient As MSXML2.XMLHTTP

 

 Set soapClient = New MSXML2.XMLHTTP

 

 Dim xmlDoc As MSXML2.DOMDocument

 Set xmlDoc = New MSXML2.DOMDocument

 

 'Creating SOAP Envelope

 Dim body As String

 

 body = "<?xml version=""1.0"" encoding=""utf-8""?>" & _

 "<soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"">" & _

 "<soap:Body>" & _

 "<GetGroupCollectionFromUser xmlns=""http://schemas.microsoft.com/sharepoint/soap/directory/"">" & _

  "<userLoginName>" & userName & "</userLoginName>" & _

 "</GetGroupCollectionFromUser >" & _

 "</soap:Body>" & _

 "</soap:Envelope>"

 

 

 'Load it in an xml document

 xmlDoc.LoadXML body

 

 'Open HTTP port

 soapClient.Open "POST", webUrl & "_vti_bin//usergroup.asmx", False

 'Send soap envelope via HTTP

 soapClient.send xmlDoc

 

 'Parse result to retreive groups

 Dim strGroups As String

 strGroups = ""

 If soapClient.readyState = 4 Then

 If soapClient.Status = 200 Then

  Dim grp As IXMLDOMNode

  For Each grp In soapClient.responseXML.getElementsByTagName("Group")

  Debug.Print (grp.XML)

  Dim attr As IXMLDOMAttribute

  

  For Each attr In grp.Attributes

   If attr.Name = "Name" Then

   If strGroups <> "" Then

    strGroups = strGroups & ";"

   End If

   strGroups = strGroups & attr.Value

   End If

   

  Next

  

  Next

 Else

  Debug.Print XMLHttpReq.Status & ", " & XMLHttpReq.responseText

 End If

 End If

 GetUserGroups = strGroups

End Function


  

좋은 웹페이지 즐겨찾기