2017-04-13 13 views
0

데이터베이스와 같이 SharePoint에 저장된 Excel 스프레드 시트를 쿼리하려고합니다.
로컬 스프레드 시트 인 경우 Excel 스프레드 시트를 완벽하게 쿼리 할 수 ​​있지만 SharePoint에서는 쿼리 할 수 ​​없습니다.ADO OLEDB 모델을 사용하여 UFT에서 VBScript를 통해 SharePoint에 저장된 Excel 스프레드 시트

Excel.Application 개체를 사용하여 UFT의 VBScript에서 스프레드 시트를 열 수 있지만 SharePoint 링크를 연결 문자열 데이터 원본에 넣을 때 사용할 수 없습니다. \/에서

  • 변경 슬래시와 행운과 %20에 넣어 공백을 복용 : 나는 다음 시도했습니다.
  • 신뢰할 수있는 연결과 사용자 이름 및 암호를 포함하여 "데이터 원본"을 "데이터베이스"로 변경합니다. 여기 내 연결 문자열/코드입니다 :

    (실패) ExcelFileLocation = "http://sharepointlocation/folders/spreadsheet.xlsx"

    (작품) ExcelFileLocation = "C:\projects\spreadsheet.xlsx"

나는이 선을 할 때, 셰어 포인트에서 스프레드 시트를 열 않습니다,하지만 난 피하려고 행/열을 탐색하여 원하는 데이터를 찾습니다.

TemExcel.Workbooks.Open "http://sharepointlocation/folders/spreadsheet.xlsx" 
TempExcel.ActiveWorkbook.SaveAs "C:\projects\Temp.xlsx" 
TempExcel.Application.Quit 
objConnection.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ExcelFileLocation & ";Extended Properties=""Excel 8.0;HDR=Yes;"";" 
objRecordSet.Open ExcelQuery,objConnection,adOpenStatic,adLockOptimistic,adCmdTest 
+1

당신은 슬래시의 방향을 바꾸는 것이 도움이되지 않는다고 언급했습니다. SharePoint 위치에 대한 UNC 경로를 사용해 보셨습니까? '\\ sharepointlocation \ folder \ spreadsheet.xlsx'와 같은 것입니다 (이중 슬래시와 프로토콜 접두어 없음). 또 다른 옵션은 드라이브 문자를 SharePoint 라이브러리의 UNC 경로에 매핑 한 다음 로컬 컴퓨터의 파일처럼 파일을 열어 봅니다. – Thriggle

+0

방금 ​​시도했는데 작동합니다! 매우 감사. 나는 이미 그것을 시도했다고 생각했지만, 나는 모든 것이 UNC로 완전히 바뀌지는 않았다고 생각한다. 다시 한 번 감사드립니다! –

+0

좋습니다! 나는 그것을 답으로 추가 할 것이다. (만약 당신이 이미 그것을 시도하고 그것이 작동하지 않았다 대답을 제안하고 싶지 않았어.) – Thriggle

답변

0

SharePoint 위치에 대한 UNC 경로를 사용하십시오. \\sharepointlocation\folder\spreadsheet.xlsx

같은

뭔가 (프로토콜 접두사의 이중 슬래시와 부족을 참고).

다른 옵션은 드라이브 문자를 SharePoint 라이브러리의 UNC 경로에 매핑 한 다음 로컬 컴퓨터의 파일처럼 파일을 열어 봅니다.

+0

위의 사항을 언급 한 내용을 제외하고는 다음과 같이 작동합니다. 난 수동으로 할 때 일반적으로 팝업 윈도우 보안 대화 상자에 붙어지고있다. Excel을 데이터 소스로 사용할 때 통합 보안을 연결 문자열에 포함시키는 방법을 알고 계십니까? –

+0

UNC 경로는 [이 질문에] (http://stackoverflow.com/questions/38020887/vba-sharepoint-authentication-for-drive-mapping)에 따라 WebClient (WebDAV 기반) 서비스를 사용합니다. 일반 인증 쿠키를 지원하지 않으므로 프롬프트가 표시됩니다.컴퓨터가 다시 시작될 때 (인증을 강제하기 위해) 원하는 SharePoint 디렉토리로 이동하는 시작 스크립트를 사용할 수는 있지만 최종 사용자에게는 너무 위험 할 수 있습니다. – Thriggle

+0

머리를 주셔서 감사합니다! Excel.Application 개체를 통해 파일을 열고 로컬 드라이브의 임시 파일에 저장하는 계획 B가 있습니다.이 파일을 처리해야합니다. 나는 단지 그것을 피하려고했지만 그것은 내가 필요로하는 해결책을 위해 잘 작동 할 것이다. 모든 도움을 주셔서 감사합니다! –