src: http://www.debugpoint.com/2014/09/libreoffice-workbook-worksheet-and-cell-processing-using-macro/

LibreOffice巨集筆記:LibreOffice Workbook Worksheet and Cell Processing using Macro

(讀三個工作表(sheets)後顯示在彈跳視窗的巨集。)

Sub processing_sheets_cells
 
	dim my_doc   as object
	Dim my_sheets as object
	Dim my_cell as object
 
	Dim sheet_count, i, row, col, cell_value, str

'設定 my_doc 為現在開啟的workbook
'設定 my_sheets 以陣列方式存取 workbook 的全部 sheets
'為了存取他們我們必須使用 Sheets(subsrcipt) 像 sheets(0), sheets(1)等,注意此subscript是從0開始

	my_doc = ThisComponent 
	my_sheets = my_doc.Sheets 

	sheet_count = my_sheets.Count
'設定i從0開始 
	for i = 0 to sheet_count - 1		
'每一段要給間隔
		str = str & chr(13) & "--------" & chr(13)  
'列(水平)開始值為 1
		for row=1 to 4 
'欄(垂直)開始值為 0
				for col=0 to 1 

'一旦透過 sheets(subscript)掌握了sheets,利用getCellByPostion方法存取每個個別的儲存格。

					my_cell = ThisComponent.Sheets(i).getCellByPosition(col,row)

'每個個別儲存格的定義由內容定義(例如:如果你放了數字,則此儲存格為數字類別。)
'在LO中對Cell.Type有一系列的枚舉,所以為存取例子中的資料,設定如下:

					Select Case my_cell.Type
						Case com.sun.star.table.CellContentType.VALUE
							cell_value = my_cell.Value
						Case com.sun.star.table.CellContentType.TEXT
							cell_value = my_cell.String
					End Select

					str = str & " " & cell_value
				next col
				str = str & Chr(13)
		next row
	next i
	msgbox str
 
End Sub
arrow
arrow

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