Ir ao conteúdo
  • Cadastre-se

Sidirlan

Membro Júnior
  • Posts

    4
  • Cadastrado em

  • Última visita

posts postados por Sidirlan

  1. @Pedro Medeiros da Silva tentei a função e retornou o erro "TypeError: guia.setRowGroup is not a function"

    Já tentei muita coisa para funcionar as quebras de páginas, abaixo segue como utilizei a função que sugeriu.

    var PRINT_OPTIONS = {
      'size': 7,               // Tamanho do papel. 0 = carta, 1 = tablóide, 2 = Ofício, 3 = declaração, 4 = executivo, 5 = fólio, 6 = A3, 7 = A4, 8 = A5, 9 = B4, 10 = B
      'fzr': false,            // repetir cabeçalhos de linha
      'portrait': true,        // false = paisagem
      'fitw': true,            // ajustar a janela ou tamanho real
      'gridlines': false,      // mostrar linhas de grade
      'printtitle': false,
      'sheetnames': false,
      'pagenum': 'UNDEFINED',  // CENTRO = mostrar números de página / UNDEFINED = não mostrar
      'attachment': false,
      'top_margin': 0,
      'bottom_margin': 0,
      'left_margin': 0,
      'right_margin': 0
    };
    
    function onOpen(e) {
      SpreadsheetApp.getUi().createMenu('PDF').addItem('Gerar PDF', 'Pdf').addToUi();
    }
    
    function Pdf() {
      SpreadsheetApp.flush();
      
      var planilha = SpreadsheetApp.getActiveSpreadsheet();
      var guia = planilha.getSheetByName("IMP. PLANO ALIMENTAR");
    
      // Adiciona quebras de página nas linhas desejadas
      guia.setRowGroup(38, 1, 1); // Quebra de página na linha 39
      guia.setRowGroup(67, 1, 1); // Quebra de página na linha 68
      guia.setRowGroup(96, 1, 1); // Quebra de página na linha 97
      guia.setRowGroup(125, 1, 1); // Quebra de página na linha 126
      guia.setRowGroup(154, 1, 1); // Quebra de página na linha 155
      
      var gid = guia.getSheetId();
    
      var printRange = objectToQueryString({
        'gid': gid
      });
    
      var PDF_OPTS = objectToQueryString(PRINT_OPTIONS);
    
      var url = planilha.getUrl().replace(/edit$/, '') + 'export?format=pdf' + PDF_OPTS + printRange;
    
      var htmlTemplate = HtmlService.createTemplateFromFile('Abrirpdf');
      htmlTemplate.url = url;
      var dialog = htmlTemplate.evaluate().setHeight(10).setWidth(100);
      var ui = SpreadsheetApp.getUi();
      ui.showModalDialog(dialog, 'Gerando PDF');
    }
    
    function objectToQueryString(obj) {
      return Object.keys(obj).map(function(key) {
        return Utilities.formatString('&%s=%s', key, obj[key]);
      }).join('');
    }

     

  2. Boa tarde a todos.

     

    Estou com um problema em um código script em para planilha do Google.

    Basicamente ele deveria abrir uma guia para impressão com algumas configurações definidas, uma delas são as quebras de páginas nas linhas 38, 67, 96, 125 e 154, essa é a única função que não está funcionando, as outras estão tudo ok.
    Abaixo segue o script

     

    var PRINT_OPTIONS = {
    'size': 7, // Tamanho do papel. 0 = carta, 1 = tabloide, 2 = Ofício, 3 = declaração, 4 = executivo, 5 = fólio, 6 = A3, 7 = A4, 8 = A5, 9 = B4, 10 = B
    'fzr': false, // repetir cabeçalhos de linha
    'portrait': true, // false = paisagem
    'fitw': true, // ajustar a janela ou tamanho real
    'gridlines': false, // mostrar linhas de grade
    'printtitle': false,
    'sheetnames': false,
    'pagenum': 'UNDEFINED', // CENTRO = mostrar números de página / UNDEFINED = não mostrar
    'attachment': false,
    'top_margin': 0,
    'bottom_margin': 0,
    'left_margin': 0,
    'right_margin': 0
    };
    
    função onOpen(e) {
    SpreadsheetApp.getUi().createMenu('PDF').addItem('Gerar PDF', 'Pdf').addToUi();
    }
    
    função Pdf() {
    SpreadsheetApp.flush();
    
    var planilha = SpreadsheetApp.getActiveSpreadsheet();
    var guia = planilha.getSheetByName("IMP. PLANO ALIMENTAR");
    var range = guia.getRange("A1:F185").activate();
    
    Adiciona quebras de página nas linhas desejadas
    guia.setRowHeights(38, 1, [1]);
    guia.setRowHeights(67, 1, [1]);
    guia.setRowHeights(96, 1, [1]);
    guia.setRowHeights(125, 1, [1]);
    guia.setRowHeights(154, 1, [1]);
    
    var gid = guia.getSheetId();
    
    var printRange = objectToQueryString({
    'c1': range.getColumn() - 1,
    'r1': range.getRow() - 1,
    'c2': range.getColumn() + range.getWidth() - 1,
    'r2': range.getRow() + range.getHeight() - 1
    });
    
    var PDF_OPTS = objectToQueryString(PRINT_OPTIONS);
    
      var url = planilha.getUrl().replace(/edit$/, '') + 'export?format=pdf' + PDF_OPTS + printRange + "&gid=" + gid;
    
    var htmlTemplate = HtmlService.createTemplateFromFile('Abrirpdf');
    htmlTemplate.url = url;
    SpreadsheetApp.getUi().showModalDialog(htmlTemplate.evaluate().setHeight(10).setWidth(100), 'gerando PDF');
    }
    
    function objectToQueryString(obj) {
    return Object.keys(obj).map(function(key) {
    return Utilities.formatString('&%s=%s', key, obj[key]);
    }). junte-se('');
    }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!