This document attempts to capture commonly used vba macros and prioritize them as High (H) Med(M) and Low(L) and is expected to serve as the Requirements Doc for VBA interoperability in OpenOffice.org

D – Done; N – Not Done; P – Partially Done.

Req No	Requirement	Priority	Remarks	Status
1	Sheet			
1.1	Sheet Operations			
1.1.1	Sheets(“sheetname”).Select	H	Activate WorkSheet	D (Worksheets(“sheetname”)) disabled due to conflict with Worksheets property
1.1.2	Selection.Copy	H	for copying one worksheet to another; used with Cells.Select	N
1.1.3	ActiveSheet.Paste	H	“	P
1.1.4	ActiveSheet.Delete	H	deleting a sheet	D
1.1.5	Sheets(“<sheetname>”).Move	L	Before:= and After:= as parameters	P
	ActiveSheet.Name	H	get and set; naming active sheet	D
1.2	Rows/Columns Operations			
1.2.1	Columns(3).Select Columns(“C”).Select Columns(“A:C”).Select	M	select 3rd col to right select col C select col A to C	N
1.2.2	Rows(3).Select Rows(“1:3”).Select	M		N
1.2.3	Columns(“A:C”).Delete	H	deleting a range of column	N
1.2.4	Selection.Delete	H	selection can be Rows(“1:4”).Select etc. [check for shift:=xlUp relevance]	P
1.2.5	Selection.SubTotal	M	GroupBy, Function, TotalList, Replace, PageBreaks, SummaryBelowData are parameters	N
1.2.6	Sum() functions	M		N
1.2.7	Selection.EntireColumn.Hidden	M	Hiding/Unhiding a column	N
1.2.8	Sheets(“sheetname”).Unprotect Sheets(“sheetname”).Protect	M	password parameter	P
1.2.9	Selection.PasteSpecial	L		N
1.2.10	Selection.EntireRow.Insert			N
1.3	WorkSheets.Add	H	Collections method	P
2	Ranges/Cells			
2.1	Accessing Cells			
2.1.1	Cells.Select	H	Selects all cells in the WorkSheet	D
2.1.2	Range(“A1”).Select	H		D
2.1.3	Range(“A1:C1”)	H		D
2.1.4	ActiveCell	H	Usage: ActiveCell.Value ?	
2.1.5	Cells(<row>,<col>).Select	H	Typical usage is Cells(ActiveCell.Row + 1, ActiveCell.Column + 2).Select --- Moving from one cell to another; moving one cell right, one cell down etc.	D
2.1.6	range.Cells	H	*	D
2.1.7	range.Cells(n)	H	*	D
2.1.8	range.Cells(r,c)	H	*	D
2.1.9	range.Areas	L	all rectangular ranges !	N
2.1.10	range.Areas(n)	L	nth rectangular range !	N
2.1.11	range.EntireColumn	M	!	N
2.1.12	range.EntireRow	M	!	N
2.1.13	range.Rows(n)	H	access individual rows ?	N
2.1.14	range.SpecialCells(type)	L	access based on type of cells - empty, visible, subordinate etc. !	N
2.1.15	range.End(xlXxx)	M	access last cell in a direction !	N
2.1.16	range.[Direct]Precedents	L	access preceding cells !	N
2.1.17	range.[Direct]Dependents	L	access following cells !	N
2.1.18	range.ListHeaderRows	M	gets the number of header rows !	N
	range.ReSize	M	*	D
2.2	Cell Content and Format			
2.2.1	ActiveCell.Address	H	address of the current active cell in the form ($I$3) absolute reference *	D
2.2.2	ActiveCell.Address(RowAbsolute, ColumnAbsolute)	H	!	N
2.2.3	ActiveCell.Address(ReferenceStyle:=R1C1)	H	!	N
2.2.4	Range(“A1”).Value	H	get and set *	D
2.2.5	range.Text	H	*	D
2.2.6	range.Characters(start,number)	H	*	D
2.2.7	Range(“A1”).Formula	H	*	D
2.2.8	Range(“A1”).HasFormula	H	true/false for formula existence. *	D
2.2.9	range.Font	H	*?	P
2.2.10	range.NoteText(text,start,end)	M	!	N
2.2.11	range.VerticalAlignment	L	!	N
2.2.12	range.HorizontalAlignment	L	!	N
2.2.13	range.Orientation	L	!	N
2.2.14	Range(“A1”).WrapText	L	*	D
2.2.15	Range(“A1”).ColumnWidth	L	getting and setting !	N
2.2.16	range.RowHeight	L	!	N
2.2.17	range.NumberFormat	L	!	N
2.2.18	Range(“A1”).Style	L	!	N
2.2.19	range.Borders	L	!	N
2.2.20	range.BordersAround	L	!	N
2.2.21	Range(“A1”).Row	H	*	D
2.2.22	Range(“A1”).Column	H	*	D
2.2.23	Mid()	L	!	N
2.2.24	Selection.Sort	L	sorting a range; OrderCustom, Order1, Header, MatchCase, Orientation are paramters [:=] !	N
2.3	Cell Comments		!	N
2.3.1	ActiveCell.AddComment	M	creating comment !	N
2.3.2	ActiveCell.Comment.Visible	M	Comment properties !	N
2.3.3	.Comment.Shape.Height	L	Comment Shape properties !	N
2.3.4	.Comment.Shape.Width	L	“	N
2.3.5	.Comment.Shape.AutoShapeType	L	“	N
2.3.6	.Comment.Shape.Select	L	“	N
2.3.7	.Comment.Shape.IncrementLeft	L	“	N
2.3.8	.Comment.Shape.IncrementTop	L	“	N
2.4	Cell Clear/Delete			
2.4.1	Selection.ClearContents	H	clearing the contents without deleting cell *	D
2.4.2	.Clear	H	clear all including contents and formats *	D
2.4.3	.ClearFormat	H	clear formats *	D
2.4.4	.ClearValue	H	clear value *	D
3	WorkBook			
3.1	WorkBooks.Add	H		
3.2	Kill filename	M	deleting a workbook/ file	
3.3	ActiveWorkBook.FullName	H		
3.4	WorkBooks.Open FileName:=”path”	H	Opening a named WorkBook	
3.5	ActiveWorkBook.SaveAs	M		
3.6	ActiveWorkBook.Close ActiveWorkBook.Close(True) ActiveWorkBook.Close(True)	H	close with or without saving changes	
4	Application Object			
4.1	Application.CommandBars(“Test”).Delete	L	deletes the toolbar	
4.2	Application.DisplayAlerts	L	property	
4.3	Application.Union(Cells(i,1), Cells(i,10), Cells(i,4)).Select	M	Selecting cells that are non-adjacent	
4.4	Application.Run	L	Running macro with code	
4.5	Application.Dialogs(xlDialogSaveAs).Show	L	Using built-in dialogs – xlDialogOpen etc.	
4.6	Application.Cursor	L		
4.7	Application.CutCopyMode			
5	Misc			
5.1	Selection.Hyperlinks(1).Follow	L	follow the hyperlink in a cell	
5.2	.HyperLinks.Add	L		
5.3	ActiveWindow operations	L		
5.4	ActiveCell.Hyperlinks.Count			
6	Syntactic			
6.1	:=	M		
6.2	With	M		
6.3	Option			
7	Formatting		Lots of properties; very few may be of priority; Some already mentioned in Ranges/Cells	
7.1	HorizontalAlignment	L		
7.2	VerticalAlignment	L		
7.3	WrapText	L		
7.4	Orientation	L		
7.5	AddIndent	L		
7.6	MergeCells	M		
7.7	Font.Bold	M	*	D
7.8	Font.Underline	M	*	D
7.9	Font.Name	H		
7.10	Font.Size	H		
7.11	NumberFormat	L		
7.12	FontStyle	L		
7.13	Size	L		
7.14	Subscript	L	*	D
7.15	Superscript	L	*	D
7.16	Selection.Borders(<xlEdgeBottom>).LineStyle, Weight, ColorIndex etc.	L		
7.17	Selection.Interior.ColorIndex, .Pattern, .PatternColorIndex etc.	L		
8	Functions			
8.1	Sum Functions: SUM, SUMIF, SUMSQ, SUMX2PY2 etc			
8.2	Logical Functions?			
8.3	Date and Time: Now() function			
8.4	Date type

2005-06-01T17:47:48