2017-05-13 7 views
0

제목을 제거하지만 현재 단락의 글꼴과 크기를 유지하는 함수를 작성하려고합니다.기본 스타일의 단락의 글꼴 패밀리 및 크기를 검색하는 방법은 무엇입니까?

그러나 글꼴 패밀리/크기 값은 적용된 제목으로 설정된대로 기본 글꼴이있는 단락에서 검색 할 수없는 것으로 보입니다.

var cursor = DocumentApp.getActiveDocument().getCursor(); if (!cursor) return; 
var ctext = cursor.getSurroundingText(); 
var para = ctext.asParagraph(); 
para.setHeading(DocumentApp.ParagraphHeading.HEADING1); // sets Arial 20 
var text = ctext.asText(); 
var ff = text.getFontFamily(); 
var fs = text.getFontSize(); 
DocumentApp.getUi().alert(ff+" "+fs); // NULL NULL 

나는 그들에게이 방법을 얻을 수있는 헤더 '글꼴과 크기, 접근했지만, 구글 앱 스크립트 어디서나 사람들을 노출하지 않는 것 같습니다.

답변

0

지금 당장이 작업을 수행 할 수 없다는 확인이 더 많아지면서 Attributes 객체를 살펴본 결과 동일한 결과로 직접 액세스했습니다. 이 문제를 해결 기본값을 알고 있기 때문에, 당신은 객체로 사람들을 저장할 수 있으며, 조건이 스크립트에서 만난 때를 설정 : 그것은 완벽 하진

function resetHeadings() { 
    var body = DocumentApp.getActiveDocument().getBody(); 

    // store an object with default object attributes you can apply later 
    var defaults = { 
    "Heading 1": { 
     FONT_SIZE: 20, 
     FONT_FAMILY: 'Arial', 
    }, 
    "Heading 2": { 
     FONT_SIZE: 16, 
     FONT_FAMILY: 'Arial' 
    } 
    }; 

    var pars = body.getParagraphs(); 

    for(var i in pars) { 
    var props = pars[i].getAttributes(); 
    if(props["HEADING"] == "Heading 1") { 

     // reset the Heading to normal 
     props[i].setHeading(DocumentApp.ParagraphHeading.NORMAL); 

     // Then, spoof with your stored defaults 
     // You can chain .setAttributes() with the line above. Shown separate for clarity. 
     props[i].setAttributes(defaults["Heading 1"]); 
    } 
    } 
} 

,하지만 당신이 설명하고있는 결과를 얻을 수 있습니다 . 여러 if 문보다는 각 표제마다 사례/스위치 테스트를 사용할 수 있습니다.

관련 문제