2013-06-14 2 views
0

VBA를 사용하여 Excel 내에서 Excel 파일의 openXML 요소를 조작하는 방법을 스스로 학습하고 있습니다.CLOSED Excel 통합 문서의 xml 부분에 액세스하십시오. -

나는 CustomXMLPart를 만들고, CustomXMLPart를 추가하고, 이들의 '내용'(속성)을 읽고/업데이트 할 수있는 VBA 코드를 가지고있다.

내가 가지고있는 코드는 ActiveWorkbook에서만 작동합니다. 이것은 특정 Excel 파일이 열려 있어야 함을 의미합니다.

VBA에서 CLOSED Excel 통합 문서의 CustomXMLParts에 액세스 할 수 있습니까? 어떻게해야합니까? 이것들은 zip 아카이브에 포함되어 있지만 특정 폴더가있는 동안에는 '로드'에 확장자가 .XML 인 특정 '파일'이 없다는 것을 알고 있습니다.

일반적인 접근법과 간단한 코드 예제가 가장 도움이 될 것입니다.

Dim WB As Workbook 
Application.ScreenUpdating = False 
Set WB = Workbooks.Open(FileName, ReadOnly:=True) 
[ ... do your stuff with WB ... ] 
WB.Close False 
Application.ScreenUpdating = True 

파일이 열려있을 것입니다,하지만 오픈 읽기 (훨씬 더 빨리 쓰기 권한보다) 만 있기 때문에 그것을 빨리하고 어떤 UI가 없습니다 :

+0

왜 파일을 열지 않으시겠습니까? 매크로와 같은 동적 인 내용이 너무 많습니까? ... – Pragmateek

+0

예 작업 할 파일은 알 수 없으며 실제로 관련되지 않으려는 WorkBook_Open 이벤트가 포함될 수 있습니다. – barryleajo

+0

통합 문서에 CustomXMLPart를 추가하고 저장 한 다음 .zip 아카이브로 열면 추가 된 내용을 포함하는'item1.xml' 파일로'customXml' 폴더를 찾을 수 있습니다. Excel 2010 64 비트에서 테스트되었습니다. – omegastripes

답변

0

내가 질문을 이해한다면이 당신을 도움이 될 것입니다 업데이트 (종종 VBA 매크로의 가장 느린 부분).

+0

관심을 가져 주셔서 감사합니다. 내가 작업 할 파일은 알 수 없으며 '시작'매크로가 포함될 수 있습니다. 귀하의 의견을 주셔서 감사합니다. VBA는 괜찮습니까?하지만 속도에 대한 의견을 말씀드립니다. 특히 통합 문서 외부에있는 XLM 파일을 액세스하고 조작하는 데 관심이 있습니다. – barryleajo

+0

이벤트를 사용하지 않으면 매크로가 실행되지 않습니다 :'Application.EnableEvents = False/Set WB = Workbooks.Open (FileName)/Application.EnableEvents = True' – stenci

관련 문제