2016-12-07 1 views
0

SharePoint에있는 통합 문서를 참조하려고 할 때 방해가됩니다.VBA에서 온라인 통합 문서를 참조하는 방법

내가 파일을 열려면이를 사용할 수 있습니다

Workbooks.Open("http://www.website.com/File.xlsx") 

그러나, 내가 파일을 열지 않고 실행할을 ... 열지 않고 그 온라인 통합 문서를 활용하는 방법은 무엇입니까?

Workbooks("http://www.website.com/File.xlsx")._ 
Sheets("Sheet1").Range("A1").Value 

참조와 나는 통합 문서 섹션에 웹 사이트를 추가하려고하면 일반적으로 (오류를 얻을 :

내가 시도

(이 코드처럼 표시 할 수 있도록 여러 줄의 문자열을 분할했다) 런타임 오류 9, 아래 첨자 범위를 벗어남). 미리 통합 문서를 정의 할 때 동일한 오류가 발생했습니다.

Dim wbk as Workbook 
Set wbk = Workbooks("http://www.website.com/File.xlsx") 

아무 도움이됩니다.

+0

HTTP 호스팅 된 통합 문서를 열지 않고 읽을 수는 없습니다. HTTP 프로토콜에 지원되는 기능이 없습니다 (일부 종류의 서버 쪽 코딩 없음). 통합 문서를 여는 데있어서 문제점은 무엇입니까? –

답변

1

짧은 답변 :. 당신은 통합 문서를 분석하기 위해서는 "Workbooks.Open( 필요


솔루션 설명 :

workbooks 그 자체로 최종 지시 아니라, 공통의 언어를 사용하여, 당신은 그 객체로 무엇을하고 싶은지를 지정해야합니다. - 제 3의 사람과 이야기하는 것 : - "통합 문서 가져 오기"(Workbooks.Open) "통합 문서에 새 시트 추가"(통합 문서 .NewSheet) 등. 보시다시피 "통합 문서"는 그 자체로는 작동 할 수 없으며 "주문"(이 경우에는 이벤트)을 기다리고 있습니다. official documentation에서 통합 문서로 할 수있는 작업 목록을 볼 수 있습니다.

또한 설명 :
코드 자체가 불가능 당신이 뭘 하려는지 알 수 있습니다. Excel 아카이브로 객체를 분석하거나 webpage itself을 통해 수행하는 방법을 찾아야합니다. 더 복잡 할 것이고 API이 없기 때문에 IE에서만 수행 할 수 있습니다 (API는 간단히 말해서 : 한 프로그램에서 다른 프로그램으로 명령을 보내면 크롬이나 파이어 폭스 용 Excel에서 제 지식을 얻을 수 있습니다).

+1

그 설명에 감사드립니다. 로컬 통합 문서를 정의 할 수 있다는 것을 알고 있었지만 온라인 통합 문서에서는 문제가 발생했습니다. 이 특정 스프레드 시트가 SharePoint에 있기 때문에 VBA 인터페이스를 만들 API가 있다면 잘 알고 있습니까? 나는 독자적으로 조금 파고 들겠지 만, 당신은 이미 그 문제에 대해 조금 지식이 있고, 나의 독서보다 더 빠를 수도 있습니다. – Cyril

+0

그래, 나는 너와 똑같은 문제를 겪었고 과거에 내가 능가 할 수있는 초과 근무를 읽었지 만, 그렇게하는 효과적인 방법을 찾지 못했고 솔직히 말해서 셰익스피어에는 많은 한계가있다. 엑셀 용 API - 많은 매크로가 있기 때문에 내 통합 문서를 Excel에서 열면 더 좋습니다. 내 해결 방법은 코드에서 screenupdating = false를 사용하여 물건을 처리 한 다음 통합 문서를 닫는 것입니다. 슬프게도 코드를 실행하는 속도를 향상시킬 수있는 다른 방법은 없습니다. – Sgdva

+1

스크린 업데이트를위한 팁을 가져 주셔서 감사합니다. 나는 너의 대답을 받아 들일 것이다. 모든 정보를 제공해 주셔서 감사합니다! – Cyril

관련 문제