2014-09-16 2 views
0

양식을 제출하는 사람들로부터 이메일 주소를받는 Google 양식에 연결된 스프레드 시트가 있습니다. 셀에서 전자 메일 주소를 가져 와서 전자 메일을 작성하여 보냅니다.
Google Script를 사용하여 팝업 작성 "메시지 작성"상자

function onOpen() { 
    var ui = SpreadsheetApp.getUi(); 
    ui.createMenu('Send E-mail') 
     .addItem('Selected E-mail', 'selected_email') 
     .addToUi(); 
} 

function selected_email() { 
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); 
    var email = sheet.getActiveCell().getValue(); 
    GmailApp.sendEmail(email, "Your Suggestion", ""); 
} 

그러나, 나는 스크립트를 변경하지 않고 내가 선택한대로 메시지를 편집 할 수 있도록하고 싶습니다.

Google Apps Script를 사용하여 Gmail에서와 같이 팝업 "메시지 작성"상자를 만드는 방법이 있습니까?

미리 감사드립니다.

+1

답은 예일 수도 있지만 .... 아니오 .- 편집 할 수있는 텍스트가있는 미리 채워진 텍스트 영역을 만들 수는 있지만 사용자가 가질 수있는 모든 서식 지정 및 이미지 삽입 기능을 사용할 수는 없습니다. Gmail. 즉, 그것은 상당히 기본이 될 것입니다. 사용하는 코드를 표시하면 코드 구현을 제안 할 수 있습니다. –

+0

@Sergeinsas 조금 더 설명 해주실 수 있겠습니까? 감사. – NTwers

+1

Serge는 당신이 제공 한 정보로 거의 모든 것을 말했습니다. 어떤 부분을 혼동하고 있습니까? – Tim

답변

0

질문에 대한 의견을 토대로 내 자신의 질문을 해결하는 방법을 알 수있었습니다.

function onOpen() { 
    var ui = SpreadsheetApp.getUi(); 
    ui.createMenu('Send E-mail') 
     .addItem('Selected E-mail', 'selected_email') 
     .addToUi(); 
} 

function selected_email() { 
    var aliases = GmailApp.getAliases(); 
    var desiredAlias = aliases[/*Any Number*/]; 
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); 
    var email = sheet.getActiveCell().getValue(); 
    var message = Browser.inputBox("Message Composer", "Compose E-mail:", Browser.Buttons.OK_CANCEL); 
    GmailApp.sendEmail(email, "Your Suggestion", message, {from: desiredAlias}); 
} 

GmailApp.sendEmail에는 복수 구현이 있으며 그 중 하나는 'options' parameter입니다. 이 계정에 액세스 할 수있는 경우 이메일을 보낼 사람을 설정할 수 있습니다. 이 작업은 계정의 별칭을 가져와 수행 할 수 있습니다.

사용자가 자신의 텍스트를 입력 할 수있게하려면 브라우저 클래스의 일부인 inputBox method이 있습니다.이 클래스는 사용자가 텍스트를 프로그램의 변수로 저장할 수 있도록합니다. 이렇게하면 준 우편 "전자 메일 작성"상자를 만들고 전자 메일 메시지로 입력 된 텍스트를 사용할 수 있습니다.

덕분에 @Sergeinsas@Hann에 감사드립니다.

관련 문제