2017-12-21 20 views
0

선택한 셀을 가져올 수있는 앱 스크립트를 작성하고 싶습니다.Google 앱 스크립트 모니터 스프레드 시트에서 선택한 범위를 모니터합니다.

그리고 html 입력 텍스트에 표시하십시오.

예 : B11

I :

I는 A1 셀 선택

다음 입력 텍스트 A1

또한

나 B11에 A1의 범위를 선택하면, 다음은 A1을 표시 할 표시됩니다 알고 getActiveRange().getA1Notation() 세포를 얻을 수 있습니다.

그러나 드래그 선택 이벤트를 모니터링하는 방법은 무엇입니까?

+0

현재 getActiveRange()를 호출하기위한 어떤 이벤트가 있습니까? –

답변

1

나는 가능한 해결책으로 this을 만들었습니다. app 스크립트는 다음과 같습니다. 그것은 아주 잘 작동합니다. 그것이 당신이 찾고있는 것인지 확실하지 않습니다.

function onOpen() { 
    SpreadsheetApp.getUi() // Or DocumentApp or FormApp. 
     .createMenu('Custom Menu') 
     .addItem('Show sidebar', 'showSidebar') 
     .addToUi(); 
} 

function showSidebar() { 
    var html = HtmlService.createHtmlOutputFromFile('Page') 
     .setTitle('My custom sidebar') 
     .setWidth(300); 
    SpreadsheetApp.getUi() // Or DocumentApp or FormApp. 
     .showSidebar(html); 
} 

function getActiveRange(){ 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheetByName('Sheet1'); 
    var range = sheet.getActiveRange().getA1Notation(); 
    Logger.log(range) 
    return range 
} 

사이드 바에는 200 번째 초마다를 호출하는 기능이 있습니다. 마우스 끌기에 대한 데이터를 얻는 것처럼 보입니다.

<!DOCTYPE html> 
<html> 
<head> 
    <base target="_top"> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"> 
    </script> 
    <title></title> 
</head> 
<body> 
     <input id="data"> 
     <script> 
      $(document).ready(() => { 
      setInterval(()=>{ 
      google.script.run.withSuccessHandler(log).getActiveRange(); 
      },200)  
      })  
      log(e) => { 
      $('#data').val(e) 
      }  
     </script> 
</body> 
</html>