Google apps script 如何设置段落标题2的第一行和其余普通文本

Google apps script 如何设置段落标题2的第一行和其余普通文本,google-apps-script,google-docs,Google Apps Script,Google Docs,我正在使用谷歌应用程序脚本迭代我的联系人,并将姓名、地址、电子邮件和电话号码打印到文档中 我希望名称的样式为“标题2”,其余的样式为“普通文本” 我该怎么做 这是我到目前为止得到的,但它构成了整个段落的标题2,而不仅仅是名称 var myContacts = ContactsApp.findContactGroup('Some group').getContacts(); for (i=0; i < myContacts.length; i++) { var fullNam

我正在使用谷歌应用程序脚本迭代我的联系人,并将姓名、地址、电子邮件和电话号码打印到文档中

我希望名称的样式为“标题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());         

}
var myContacts=ContactsApp.findContactGroup('Some group').getContacts();
对于(i=0;i0)
contactPara.appendText('\n'+家庭地址[0].getAddress());
contactPara.appendText('\n'+'电子邮件:'+myContacts[i].getPrimaryEmail());
var mobilePhones=myContacts[i].getPhones(ContactsApp.Field.MOBILE\u PHONE);
如果(mobilePhones.length>0)
contactPara.appendText('\n'+'手机:'+手机[0].getPhoneNumber());
var homePhones=myContacts[i].getPhones(ContactsApp.Field.HOME\u PHONE);
如果(homePhones.length>0)
contactPara.appendText('\n'+'家庭电话:'+家庭电话[0].getPhoneNumber());
var workPhones=myContacts[i].getPhones(ContactsApp.Field.WORK\u PHONE);
如果(workPhones.length>0)
contactPara.appendText('\n'+'工作电话:'+工作电话[0].getPhoneNumber());
}

或者,如果有更好的方法来做我想让他们做的事情,请提出建议。

您首先在整个段落中设置样式,然后重新添加文本

您可以创建两个部分: 全名

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());         

  } 
var myContacts=ContactsApp.getContacts();
对于(i=0;i0)
contactPara.appendText('\n'+家庭地址[0].getAddress());
contactPara.appendText('\n'+'电子邮件:'+myContacts[i].getPrimaryEmail());
var mobilePhones=myContacts[i].getPhones(ContactsApp.Field.MOBILE\u PHONE);
如果(mobilePhones.length>0)
contactPara.appendText('\n'+'手机:'+手机[0].getPhoneNumber());
var homePhones=myContacts[i].getPhones(ContactsApp.Field.HOME\u PHONE);
如果(homePhones.length>0)
contactPara.appendText('\n'+'家庭电话:'+家庭电话[0].getPhoneNumber());
var workPhones=myContacts[i].getPhones(ContactsApp.Field.WORK\u PHONE);
如果(workPhones.length>0)
contactPara.appendText('\n'+'工作电话:'+工作电话[0].getPhoneNumber());
} 

出于某种原因,我认为它看起来不像两个单独的段落。但是没关系。谢谢。@cja如果您想将所有内容都放在一个段落中,可以在每个appendText()后面添加适当的样式。示例:
contactPara.appendText(全名).setBold(真).setFontSize(20)。。。contactPara.appendText(电子邮件).setBold(错误).setFontSize(10)谢谢,但是我想使用定义的“普通文本”样式来允许在文档中而不是在代码中配置样式。