2012-06-11 1 views
1

자동 생성 된 일부 스프레드 시트를 자동으로 구성하는 스크립트를 만들고 있습니다. 목표는 스프레드 시트를 이름을 기반으로 디렉토리에 보관하는 것입니다.이 스프레드 시트는 모두 같은 이름으로 시작하지만 그 파일을 구성하는 데 사용하는 패턴으로 끝납니다. 내가 가진 문제는 기능입니다 :Google 스크립트 DocsList 서비스 쿼리 문자열이 작동하지 않습니다.

lstFile = DocsList.find('type:spreadsheet title:"PROG_GRAL_CENTRE"'); 

기능 the docs에 지정된 조회 옵션이없는,하지만 난 다른 스크립트에 그것을 사용하고 있는데 잘 작동! 또한 퍼팅 만 시도했습니다.

lstFile = DocsList.find('PROG_GRAL_CENTRE'); 

200 개의 문서를 찾을 수 있지만 찾을 수는 없습니다. 실제로 Google 드라이브의 검색 창에 PROG_GRAL_CENTRE를 입력하면 모든 문서가 검색되므로 내 검색 필터에 어떤 문제가 있는지 알 수 없습니다.

의견이 있으십니까?

+0

[개봉 된 문제가 있습니다.] (http://code.google.com/p/google-apps-script-issues/issues/detail?id=876&q=DocsList.find&colspec=Stars%20Opened%) 20ID % 20Type % 20Status % 20Summary % 20Component % 20Owner) 관련이있을 수 있습니다 ... 지금 당장 따르고 있습니다. – mTorres

답변

0

find (쿼리)는 파일 이름뿐만 아니라 파일 내용의 문자열을 찾습니다. 그래서 심지어 정상적으로 작동합니다 (언급 한 문제없이 의미가 있음). 나는 그것이 좋을지 확신하지 못합니다. (예를 들어 참조로 ...) 다른 이름을 가진 다른 문서에서 일부 파일 이름을 찾을 수있는 위험이 있으므로 사용 사례에 대한 솔루션을 제공합니다.

왜 배열의 모든 파일 이름을 가져 와서이 배열을 검색해보십시오. 이것은 매우 쉽게 수행 할 수 있으며 귀하의 문제에 대한 우아한 해결책을 가져다 줄까요? 내가 ;-) 여기 지금 스크립트의 바로이 같은 유형에 일하고 있어요

내 파일을 얻는 부분 (당신이 관심이 그 어느 경우 그냥 예)입니다 : 그 후

var doclist=DocsList.getRootFolder().getFilesByType("document",0,2000); 
var names = new Array(); 
    for (nn=0;nn<doclist.length;++nn){ 
    if(doclist[nn].getName().match("IMPRESSION_")=="IMPRESSION_"){ 
    names.push([doclist[nn].getName(),doclist[nn].getId()]); 
    } 
    } 

I 종류 내가 원하는 방식으로 배열을 만들고 목록 UI에 결과를 표시합니다.

+0

음, 유망한 소리. 나는 나중에 그것을 시도하고 약간의 피드백을 돌려 줄 것이다. – mTorres

+0

좋아, "죽은"을 되살려서 미안하지만, 마침내 좀 더 일할 시간이있어. [이 문제는] (http://code.google.com/p/google-apps-script-issues/issues/detail?id=1127) 매우 유용한 정보임을 알게되었습니다. [이 댓글] (http://code.google.com/p/google-apps-script-issues/issues/detail?id=1127#c6)을 참조하십시오. 댓글 # 6입니다. BTW, 나는 getFileByName 함수에서 귀하의 제안과 일부 코드를 병합했다. 감사! – mTorres

+0

재미 있습니다. 어제 검색을 통해 내 doclist UI 앱의 새 버전을 완성했습니다 ... 원한다면 [https://sites.google.com/site/appsscriptexperiments/home/ doclist-viewer-new-version). 정보 및 링크를 제공해 주셔서 감사합니다. 어쩌면 최종 코드를 게시 할 수 있습니까? 나는 항상 관심이 있어요 ;-) –