Google Apps Script를 파일로 내보내거나 새 스프레드 시트로 가져 오는 방법은 무엇입니까?


13

나는 이것이 명백한 대답을 가질지도 모른다는 것을 두려워하지만, 나는 이것에 대해 내 머리를 두드리고 그것을 찾을 수 없다!

새 스프레드 시트를 만들 때 쉽게 스프레드 시트 내에 스크립트를 만들 수 있습니다 . 나는 그것을 매크로 라고 부른다 . 그러나 더 새로운 스프레드 시트를 만들 때 매크로 를 얻는 좋은 방법을 찾을 수 없습니다 !

파일을 저장하고 붙여 넣거나 이름을 바꿀 필요없이 파일을 저장하고 원하는대로 다시 사용하고 싶습니다. 내 목표는 스크립트를 공유하는 것이며 그것을 사용하려는 사람은 프로그래머가 아닙니다. 이것은 정말 간단해야합니다!

통찰력이 있습니까?

답변:


9

"라이브러리 솔루션"은 실제로 가장 좋은 방법입니다. 들리는 것처럼 복잡하지는 않지만 약간의 일회성 작업이 필요합니다.

먼저 하나의 스프레드 시트에서 스크립트를 작성하십시오 ( 마스터 스프레드 시트라고 함).

스크립트 편집기에서 파일 → 버전 관리 를 클릭하여 스크립트 버전을 저장하고 버전 이름을 지정하십시오.

버전 관리 대화 상자의 스크린 샷

이 대화 상자를 닫고 파일 → 프로젝트 속성으로 이동하십시오 . 여기에서 무작위로 조합 된 문자 조합 인 Project 키를 찾으십시오 .

프로젝트 속성 대화 상자의 스크린 샷

프로젝트 키를 복사하거나 메모하십시오.

새 스프레드 시트를 작성하고 스크립트를 재사용하려면 스크립트 편집기로 이동하여 자원 → 라이브러리를 클릭하십시오 (새 스크립트를 저장하지 않은 경우 지금 요청하십시오).

에서 도서관 찾기 필드의에서 프로젝트 키 붙여 마스터 프로젝트 (1)을 클릭 선택 (2)

라이브러리 관리 대화 상자의 스크린 샷

그러면 마스터 스크립트로 목록이 채워집니다 . 보다 친숙한 이름 (3)을 지정하고 개발 모드 (4)를 켜 십시오 (라이브러리를 디버그 할 수 있습니다). 가장 최신 버전의 스크립트를 선택하십시오 (5).

이제 포함 된 라이브러리의 함수를 새 스크립트에 사용할 수 있습니다. 함수 이름 앞에 (3)에서 지정한 이름을 붙여서 라이브러리를로 식별 MyLibrary하고 라이브러리 myFunction에 호출하려는 함수 가 있으면을 호출 MyLibrary.myFunction()합니다.

라이브러리를 업데이트하려면 간단하게 업데이트하고 파일을 저장하십시오. 라이브러리에 의존하는 모든 스크립트는 업데이트 된 라이브러리 코드를 보게됩니다.

방금이 운동을 개념 증명으로 시도했습니다.

  • 함수를 사용하여 라이브러리를 설정하십시오. function myFunction() {return "Foo"}
  • 라이브러리를 다음과 같이 식별하여 다른 스크립트에 포함 MyLibrary
  • 로 라이브러리 함수를 호출했습니다. Logger.log(MyLibrary.myFunction)
  • 로그가 표시됩니다 Foo
  • 라이브러리를 편집했습니다 : function myFunction() {return "Bar"}
  • 포함 스크립트를 다시 실행하면 로그가 표시됩니다. Bar

초기 설정 후 정말 간단합니다. 실제 예는 내 Google 드라이브 에서이 폴더 를 참조하십시오 .

라이브러리에 대한 Google 설명서 도 참조하십시오 .


2
내 질문에 충분히 명확하지 않다고 생각합니다 (라이브러리를 수행하는 방법을 보여주는 링크가 있었고 모든 링크를 많이 읽었습니다. 모든 문서를 읽은 것 같습니다). 정보, 죄송합니다. 나는 그것이 그렇게 복잡 하지 않다는 것을 알고 있지만, 여기서 나의 주요 목표 는 스크립트 를 공유 하는 것이며 이것은 내가 공유 할 사람에게 충분히 복잡하다. 단순해야합니다. 질문을 편집하겠습니다. 모든 고려에 감사드립니다! 또한 폴더에 아무것도 표시되지 않습니다. 단지 2 개의 빈 파일. 그것들을 연 후에도.
cregox

아, @JacobJanTuinstra의 라이브러리 생성 방법에 대한 훌륭한 답변에 대한 링크를 완전히 놓쳤습니다. 내 잘못이야. 의심 할 여지없이 문서를 읽었습니다. 그러나 나는 당신이 share의 의미를 이해하는지 잘 모르겠습니다 . 스크립트를 다른 사용자와 공유 하시겠습니까?
Vidar S. Ramdal

내 폴더의 파일은 비어 있습니다. 그러나 스프레드 시트 비어 있기 때문 입니다. 스크립트 외에는 아무것도 없습니다. 내 스프레드 시트를 사용하려면 위의 링크를 클릭하고 (공백) 파일 중 하나를 클릭 한 다음 열기 , 파일-> 사본 만들기를 클릭하여 Google 드라이브에 사본이 있어야합니다. 첨부 된 스크립트 파일과 함께 복사해야합니다.
Vidar S. Ramdal

좋아, 사본을 만든 후에 마침내 스크립트를 볼 수있었습니다. 여전히 거기에는 단순한 것이 없습니다. 예, 다른 사용자와 공유하십시오. 복사 및 붙여 넣기가 제대로 작동하지만 간단하지만 너무 까다 롭습니다. 나는 여전히 파일에 붙여 넣고 다른 사용자는 그 파일을 복사해야합니다! 왜 파일을 사용할 수 없는지 이해할 수 없습니다 ...
cregox

2

짧은 답변

스크립트를 애드온으로 게시 하십시오. Google 그룹과 공개, 비공개 또는 비공개로 공유 할 수 있습니다.

설명

스크립트 갤러리는 2014 년에 추가 된 애드온으로 대체되었습니다.

부가 기능을 게시하려면 부가 기능을 Chrome 웹 스토어에 게시 할 수 있도록 5 달러의 수수료를 지불해야합니다. 추가 기능을 공개하려면 공개적으로 사용 가능하게하기 전에 Google에서 추가 기능을 검토해야하지만 Google 그룹으로 만 제한하면 몇 분 후에 사용할 수 있습니다.

추가 기능을 게시하는 대안은 추가 기능 테스트 기능 을 사용하는 것입니다. 그러나 스크립트에 따라 중요한 제한이 될 수있는 트리거를 "테스트 할 수없는"것과 같은 몇 가지 제한 사항이 있습니다.

라이브러리는 스프레드 시트를 느리게 할 수 있기 때문에 추가 기능을 사용하는 것이 라이브러리를 사용하는 것보다 낫습니다. 그러나 특히 최종 사용자의 관점에서 스크립트 프로젝트를 추가하는 것보다 추가 및 사용이 더 쉽습니다. 라이브러리를 호출하고 라이브러리 자체를 추가하는 데 필요한 코드

애드온 제작자의 이점은 애드온 사용자가 애드온 자체에서 애드온 코드를 볼 수 없다는 사실입니다.

반면에 특정 사용 사례에서는 너무 복잡한 것으로 간주 될 수있는 특정 형식 및 크기 요구 사항을 가진 일부 이미지가 필요하며 스크립트의 복사 / 붙여 넣기 또는 스프레드 시트 (문서 / 양식 복사)를 수행 할 수 있습니다. / presentation)은 이러한 사용 사례에 대한 간단한 솔루션입니다.

참고 문헌


2

당신 이 말하는 Google Clasp 를 시도해야합니다

작성된 스크립트 프로젝트가 바인드 된 상위 파일의 드라이브 ID

시도하지 않았지만 프로젝트 스크립트 코드를 검색하고 작성하고 업데이트하는 명령이있는 것처럼 보입니다.

  • 풀 : 제공된 스크립트 ID 또는 저장된 스크립트 ID에서 프로젝트를 가져옵니다. Apps Script 프로젝트로 로컬 파일 업데이트
  • 푸시 : 모든 로컬 파일을 스크립트 관리 서버에 강제로 씁니다.
  • 작성 : 새 스크립트 프로젝트를 작성합니다 (선택적 프로젝트 상위 ID를 사용하여 작성된 스크립트 프로젝트가 바인드 된 상위 파일의 드라이브 ID).

2
이 공헌에 감사드립니다, Masson! 나는 곧 그것을 테스트 할 수 없어도 꽤 흥미 롭습니다. :) 어쨌든 걸쇠로 질문을 해결하는 방법에 대해 더 자세히 설명해 주시겠습니까? 링크가 끊어 지거나 중요한 방식으로 변경되는 경우 나중에 참조 할 수 있도록 답변을 독립적으로 유지하는 것이 좋습니다.
cregox

1

중간은 프로젝트에서 파일을 다운로드하는 것입니다.

해결책 # 1

나는 이것을 달성하기위한 도구를 찾았다.

http://googleappsscriptexport.trototype.com/ 에 의해 케렘 tiryaki

  • 당신은 당신의 드라이브에 액세스 권한을 부여해야
  • 스크립트를 찾으려면 스크립트 키를 복사해야합니다.

여기에 이미지 설명을 입력하십시오

불리

GoogleAppsScriptExporterForAll은 이제 Google 계정에 액세스 할 수 있습니다 (수동으로 삭제해야 함)

해결책 # 2

또한이 부가 기능을 사용하여 Git-Hub와 Google 스프레드 시트 스크립트를 통합합니다 : https://chrome.google.com/webstore/detail/google-apps-script-github/lfjcgcmkmjjlieihflfhjopckgpelofo

이 애드온을 설치 한 후 다음을 수행해야합니다.

  1. 로그인 & 코드를 GitHub에 푸시합니다 (버튼이 편집기에 나타납니다)
  2. 필요한 경우 GitHub에서 코드를 다운로드하십시오.
  3. GitHub에서 프로젝트를 가져올 수도 있습니다 (평균 사용자는하지 않습니다).

불리

사용자는 여전히 스크립트 편집기를 열고 코드를 복사해야합니다.

장점

  1. 빠른 구현. 부가 기능을 가지고 놀 필요가 없습니다
  2. 사용자가 여러 파일 대신 하나의 스크립트를 쉽게 복사 할 수 있습니다.

다음 단계

다음 단계는 다음과 같습니다.

  1. *.js파일을 한 줄 파일로 병합 하십시오. 성공적으로 사용 https://jscompress.com/ =)
  2. 하나의 파일을 사용자와 공유 (스크립트를 GitHub에 게시하거나 직접 이메일로 보내기)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.