src: http://www.debugpoint.com/2015/02/deleting-all-types-of-contents-from-calc-range-using-macro/

使用巨集刪除儲存格內所有內容

使用儲存格的清除函數 clearContents(flags)

flags: flags的資料類型是 long。可以是儲存格內任何類型的值,例如字串、數值、公式、樣式。你可以指定任何類型清除。

flags 是 com.sun.star.sheet 的 CellFlags 群組一部分,部分 com.sun.star.sheet.CellFlags 如下:

VALUE 的值為1:     選取非日期時間格式的常數數值。
DATETIME 的值為2:    選取日期時間格式的常數數值。
STRING 的值為4:     選取常數字串。
ANNOTATION 的值為8:     選取儲存格註解。
FORMULA 的值為16:     選取公式。
HARDATTR 的值為32:     選取所有詳細格式,但不含隱蔵樣式試算表。
STYLES 的值為64:     選取儲存格樣式。
OBJECTS 的值為128:     選取圖像物件。
EDITATTR 的值為256:     選取儲存格內容的格式。
FORMATTED 的值為512:     選取格式化儲存格,或是包含段落的儲存格。

<code>

Sub ClearRangeContents()
 
    Dim oDoc As Object
    Dim oSheet As Object
    Dim oCell As Object
    Dim oRange As Object
    Dim oFlags As Long
 
    oDoc = ThisComponent
    oSheet = oDoc.Sheets(0) ' 試算表的序號為 0, 1, 2... 等等
    oRange = oSheet.getCellRangeByName("A3:B10")
 
    oFlags = com.sun.star.sheet.CellFlags.VALUE + _
        com.sun.star.sheet.CellFlags.DATETIME + _
        com.sun.star.sheet.CellFlags.STRING + _
        com.sun.star.sheet.CellFlags.ANNOTATION + _
        com.sun.star.sheet.CellFlags.FORMULA + _
        com.sun.star.sheet.CellFlags.HARDATTR + _
        com.sun.star.sheet.CellFlags.STYLES + _
        com.sun.star.sheet.CellFlags.OBJECTS + _
        com.sun.star.sheet.CellFlags.EDITATTR
 
    oRange.clearContents(oFlags)
 
End Sub

</code>

 

arrow
arrow
    文章標籤
    LibreOffice 巨集 macro calc
    全站熱搜

    理群 發表在 痞客邦 留言(0) 人氣()