长计算表-页面底部的小计,转移到下一页?

长计算表-页面底部的小计,转移到下一页?

假设我有一张打印输出中横跨多页的 LibreOffice Calc 工作表。有没有办法计算每页的小计并将其打印在相应页面的底部以及下一页的顶部?

我知道可以使用小计来自动计算小计,但“仅”取决于数据(例如日期、名称、零件编号),而不是简单地针对每一页。此外,计算出的小计不会出现在下一页上。

答案1

单元格值(例如总计)可以放在页眉和/或页脚中通过使用宏。下面的宏由 Zizi64(Tibor Kovacs)创建,用于开发办公室并从他的电子表格中复制而来Prestige2.ods来自上面的链接。根据您的需要进行修改。

这已在自由办公室并且它起作用了。当然,您需要在选项 | 安全中启用宏。在下面的示例中,调用宏 EditFooterHeader() 会将单元格 L1 的值插入到页脚中。

调用宏 EditFooterHeader

REM ***** 基本 *****

选项明确

函数 EditFooterText(WS_Index 作为整数,MyFooterLeftText,MyFooterCenterText,MyFooterRightText 作为字符串) 作为字符串

Dim oDocument 作为对象 Dim oSheet 作为对象 Dim oPStyle 作为对象 Dim oThisStyle 作为对象 Dim oFContent 作为对象 Dim oText 作为对象 Dim oCursor 作为对象 Dim oField 作为对象 Dim i 作为整数 Dim StyleName 作为字符串 Dim sAns 作为字符串

  rem Adjusting the actual pagestyle (Pagestyle of actual WorkSheet

在此文档中) oDocument = ThisComponent oSheet = oDocument.Sheets.getByIndex( WS_Index-1 ) oPStyle = oDocument.StyleFamilies.getByName("PageStyles") oThisStyle = oPStyle.getByName(oSheet.PageStyle) StyleName = oThisStyle.Name

    oThisStyle.FooterOn = True
    'Zizi64: False/True turns on/off the running foot

    oFContent = oThisStyle.RightPageFooterContent
    'Zizi64: Get the all text from running foot

'************************************************************' oText = oFContent.LeftText' oCursor = oText.createTextCursor()' oText.insertString(oCursor, "", True)

' oCursor.CharHeight = 12 ' oCursor.CharFontName = "Arial" ' oCursor.CharWeight = com.sun.star.awt.FontWeight.NORMAL ' oCursor.CharPosture = com.sun.star.awt.FontSlant.NONE ' oCursor.CharUnderline = com.sun.star.awt.FontUnderline.NONE ' ' 插入文本... ' oText.insertString(oCursor, MyFooterLeftText, False) '********************************************************

' oText = oFContent.CenterText ' oCursor = oText.createTextCursor() ' oText.insertString(oCursor, "", True)

' oCursor.CharHeight = 12 ' oCursor.CharFontName = "Courir New" ' oCursor.CharWeight = com.sun.star.awt.FontWeight.NORMAL ' oCursor.CharPosture = com.sun.star.awt.FontSlant.NONE ' oCursor.CharUnderline = com.sun.star.awt.FontUnderline.NONE

' oText.insertString(oCursor,MyFooterCenterText,False) '************************************************************

    oText = oFContent.RightText

    oCursor = oText.createTextCursor()

    oText.insertString(oCursor, "", True)

    oCursor.CharHeight = 12
    oCursor.CharFontName = "Times New Roman"
    oCursor.CharWeight = com.sun.star.awt.FontWeight.NORMAL
    oCursor.CharPosture = com.sun.star.awt.FontSlant.NONE
    oCursor.CharUnderline = com.sun.star.awt.FontUnderline.NONE

    oText.insertString(oCursor, MyFooterRightText, False) '********************************************************  



    oThisStyle.RightPageFooterContent = oFContent      'write content back into running foot

          EditFooterText = StyleName & ": Style modified!:" End function

相关内容