2013-07-02 2 views
0

Google Apps Script를 사용하여 연락처를 반복하고 이름, 주소, 이메일 및 전화 번호를 문서에 인쇄합니다.HEADING2 단락을 설정하고 일반 텍스트를 사용하는 방법

스타일을 "제목 2"로, 나머지를 스타일 "일반 텍스트"로 지정하고 싶습니다.

어떻게하면됩니까?

다음은 지금까지 내가 가지고있는 것입니다. 단, 이름 대신 전체 단락 제목 2가됩니다.

var myContacts = ContactsApp.findContactGroup('Some group').getContacts(); 

for (i=0; i < myContacts.length; i++) 
{  

    var fullName = myContacts[i].getFullName(); 
    if (fullName == '') 
    fullName = 'Anonymous'; 

    var contactPara = doc.appendParagraph(fullName); 
    contactPara.setHeading(DocumentApp.ParagraphHeading.HEADING2);  

    var homeAddresses = myContacts[i].getAddresses(ContactsApp.Field.HOME_ADDRESS); 

    var homeAddress = ''; 
    if (homeAddresses.length > 0) 
    contactPara.appendText('\n' + homeAddresses[0].getAddress()); 

    contactPara.appendText('\n' + 'Email: ' + myContacts[i].getPrimaryEmail()); 

    var mobilePhones = myContacts[i].getPhones(ContactsApp.Field.MOBILE_PHONE);  
    if (mobilePhones.length > 0) 
    contactPara.appendText('\n' + 'Mobile phone: ' + mobilePhones[0].getPhoneNumber());   

    var homePhones = myContacts[i].getPhones(ContactsApp.Field.HOME_PHONE);  
    if (homePhones.length > 0) 
    contactPara.appendText('\n' + 'Home phone: ' + homePhones[0].getPhoneNumber());    

    var workPhones = myContacts[i].getPhones(ContactsApp.Field.WORK_PHONE);  
    if (workPhones.length > 0) 
    contactPara.appendText('\n' + 'Work phone: ' + workPhones[0].getPhoneNumber());   

} 

또는 내가 원하는 것을 수행 할 수있는 더 좋은 방법이 있다면 제안하십시오.

답변

0

처음에는 단락 전체에서 스타일을 설정 한 다음 텍스트를 다시 추가합니다.

당신은이 섹션을 만들 수 있습니다 를 일반 스타일로 전체 이름

var headPara = doc.appendParagraph(fullName); 
headPara.setHeading(DocumentApp.ParagraphHeading.HEADING2); 

새로운 단락 나는 그것이 같으면 생각 어떤 이유로 내용

var contactPara = doc.appendParagraph(' ').setHeading(DocumentApp.ParagraphHeading.NORMAL); 

결과

var myContacts = ContactsApp.getContacts(); 

    for (i=0; i < myContacts.length; i++) 
    {  

    var fullName = myContacts[i].getFullName(); 
    if (fullName == '') 
     fullName = 'Anonymous'; 

    var headPara = doc.appendParagraph(fullName); 
    headPara.setHeading(DocumentApp.ParagraphHeading.HEADING2);  

    var contactPara = doc.appendParagraph(' ').setHeading(DocumentApp.ParagraphHeading.NORMAL); 
    var homeAddresses = myContacts[i].getAddresses(ContactsApp.Field.HOME_ADDRESS); 

    var homeAddress = ''; 
    if (homeAddresses.length > 0) 
     contactPara.appendText('\n' + homeAddresses[0].getAddress()); 

    contactPara.appendText('\n' + 'Email: ' + myContacts[i].getPrimaryEmail()); 

    var mobilePhones = myContacts[i].getPhones(ContactsApp.Field.MOBILE_PHONE);  
    if (mobilePhones.length > 0) 
     contactPara.appendText('\n' + 'Mobile phone: ' + mobilePhones[0].getPhoneNumber());   

    var homePhones = myContacts[i].getPhones(ContactsApp.Field.HOME_PHONE);  
    if (homePhones.length > 0) 
     contactPara.appendText('\n' + 'Home phone: ' + homePhones[0].getPhoneNumber());    

    var workPhones = myContacts[i].getPhones(ContactsApp.Field.WORK_PHONE);  
    if (workPhones.length > 0) 
     contactPara.appendText('\n' + 'Work phone: ' + workPhones[0].getPhoneNumber());   

    } 
+0

에 대한 두 개의 분리 된 단락으로 잘 보이지 않습니다. 하지만 괜찮아. 감사. – cja

+0

@cja 한 문단에 모든 것을 넣고 싶다면 각 appendText() 뒤에 적절한 스타일을 추가 할 수 있습니다. 예 : 'contactPara.appendText (fullName) .setBold (true) .setFontSize (20); ... contactPara.appendText (email) .setBold (false) .setFontSize (10); ' –

+0

감사하지만, 코드 대신 문서에서 스타일을 구성 할 수 있도록 정의 된 "일반 텍스트"스타일을 사용하고 싶습니다. . – cja

관련 문제