0

내 안에 여러 시트가있는 스프레드 시트가 있습니다. 이 스프레드 시트를 여러 사용자와 공유 했으므로 특정 사용자가이 스프레드 시트 한 장만보고 편집 할 수 있도록 시트를 보호해야합니다. 다음과 같이 Google 시트 시트 보호

  • 사용자 1 (한 위치 관리자)보고 할 필요가

    편집 시트 1 ( 위치의 급여 있음)

  • 사용자 2 (다른 위치 관리자)보고 편집 시트 필요가 2 (해당 위치의 급여),하지만 시트 1

  • 사용자 3 (지역 관리자)보고 모두 시트 1과 시트 (2)를 편집 할 수 있지만 NOT 시트해야 3 & 4.

  • 사용자 4 (지역 관리자)를 볼 수 있어야하고 편집 시트 1, 2, 3, 4

Google 시트는 편집에 대한 보호를 제공하지만,이 경우 궁금 보기에 대한 보호 기능을 허용하는 타사 앱, 스크립트 또는 해결 방법은 무엇입니까?

답변

1

짧은 대답 = 아니오. API 또는 스크립트를 통해이 방법을 찾을 수 없다면 제 3자가 제공 할 방법이 없습니다. 우리는 API와 동일한 API에 액세스 할 수 없습니다.

약간 더 긴 해법 :이 모든 데이터를 포함하는 하나의 마스터 스프레드 시트를 만든 다음 올바른 시트의 데이터를 개인 스프레드 시트로 가져 오는 네 개의 다른 스프레드 시트 (각 사용자마다 하나씩)를 만들 수 있습니다.

좀 더 긴 해답을 원한다면 특정 사용자 스프레드 시트에서 'onOpen' trigger을보고 있으므로 스프레드 시트를 열면 마스터 스프레드 시트에서 방금 연 스프레드 시트로 오른쪽 시트를 복사합니다. 'openByID'(다른 스프레드 시트를 가져올 수 있음) 및 'copyTo'(다른 스프레드 시트 시트를 현재 스프레드 시트로 복사)와 같은 방법은 여기에 친구가됩니다.

A는 매우,이 매우 간단한 버전 일 수 있습니다 : 당신이 구글 스프레드 시트에 액세스 할 수있는 경우

var ss = SpreadsheetApp.openById("ID-FOR-MASTER-SHEET"); 
var sheet = ss.getSheets() 
var destination = SpreadsheetApp.openById("ID-FOR-USERS-SHEET"); 
sheet[0].copyTo(destination); 

그렇지 않으면, 당신은 내 모든 시트를 항상 볼 수 있습니다.

+0

좀 더 긴 해결책은 좋은 해결 방법일지도 모른다고 들리는데, 어떻게 풀어 낼지에 대한 기사가 있습니까? 그렇지 않으면, 나는 그저 궁금해 할 것입니다. 과정을 단순화하는 데 사용할 수있는 것이 있다면 –

+1

나는 내 뜻을 이해하고 그것을 달성 할 수있는 방법에 대한 일반적인 아이디어를 얻기 위해 약간의 대답을 확장했다. 불행히도 나는 한 단계 씩 생각하지 않는다. 가이드, 나는 이것이 내가 어떻게 구현할 것인가를 생각하고 있었다. 어떤 것이 명확하지 않은지 알려주기 바란다. – HDCerberus

+0

그것은 완벽하다! 고맙다. 그만! 이 문제를 해결하기 위해 나에게 좋은 시작을 줄 것입니다. –

1

아이디어

탭을 별도의 시트로 분할하십시오. 폴더를 만들고 모든 문서를 그 안에 넣습니다. 각 시트를 필요한 소유자와 만 공유 한 다음 폴더를 지역 관리자와 공유하십시오.

보너스

importrange 명령을 사용해보십시오.

당신은 할 수 있습니다 : = IMPORTRANGE (A1, A2)

  • A1 = 시트 URL
  • A2 = 탭 범위 즉, 상점 만들기를!A1 : Q500

지역 관리자에게 쉬운 스냅 샷을 제공 할 수있는 모든 개별 상점의 데이터를 가져 오는 마스터 시트를 만드는 데 사용하십시오. 원래 탭 구조를 미러링 할 수도 있습니다. 별도의 통합 문서 아키텍처에

0

코멘트와 ImportRange를

나는 별도의 통합 문서로 응용 프로그램을 분할에 대해주의한다. ImportRange()를 사용하려면보다 안전한 "특정 사용자 만"이 아니라 "링크가있는 모든 사용자"에게 공유 권한을 설정해야합니다.

이 보안 문제로 인해 별도의 (6 개) 통합 문서에서 비용 승인 응용 프로그램을 단일 마스터 통합 문서로 다시 설계했습니다.

대안 : 콘텐츠 서비스

내 응용 프로그램에서, I는 데이터베이스의 소유자가 할 수있는 편집 작업을 수행하는 컨텐츠 서비스를 사용합니다. 승인 된 사용자는 특정 시트의 특정 범위 만 편집 할 수 있습니다. 그런 다음 마술을하기 위해 데이터베이스 소유자로 실행되는 콘텐츠 서비스를 사용하여 매크로를 실행합니다.

알만하면 사용자가 누구인지에 따라 시트를 숨길 수있는 통합 문서를 프로그래밍 할 수

보기 제어. 예를 들어 onOpen()에서는이 작업을 수행 할 수 없습니다.이 문제는 공동 작업자가 통합 문서를 동시에 볼 때 문제가되는데, Sheets가 동일한 문서의 동시 뷰를 처리하는 방법을 알아 보는 것은 흥미로울 것입니다.