--- /dev/null	2006-06-16 21:07:58.000000000 +0800
+++ offapi/org/openoffice/vba/XApplication.idl	2006-09-28 23:31:04.000000000 +0800
@@ -0,0 +1,53 @@
+#ifndef __org_openoffice_vba_XApplication_idl__
+#define __org_openoffice_vba_XApplication_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module org {  module openoffice {  module vba { 
+
+interface XRange;
+interface XWorkbook;
+interface XWorkbooks;
+interface XWorksheets;
+interface XWorksheetFunction;
+interface XWindow;
+interface XWorksheet;
+
+interface XApplication: com::sun::star::uno::XInterface
+{
+	[attribute, readonly] XRange Selection;
+	[attribute, readonly] XWorkbook ActiveWorkbook;
+	[attribute, readonly] XRange ActiveCell;
+	[attribute, readonly] XWindow ActiveWindow;
+	[attribute, readonly] XWorksheet ActiveSheet;
+	[attribute] long Calculation;
+	//#TODO #FIXME this is more of a placeholder, will return
+	// the value of activeworkbook, in xl 'ThisWorkbook' should return the
+	// workbook in which the 'calling' macro is running. Should be possible
+	// to determine this
+	[attribute, readonly] XWorkbook ThisWorkbook;
+	[attribute] boolean ScreenUpdating;
+	[attribute] boolean DisplayStatusBar;
+	[attribute] any CutCopyMode;
+	[attribute] any StatusBar;
+    [attribute] long Cursor; 
+	any Workbooks( [in] any aIndex );
+	any Worksheets( [in] any aIndex );
+	any Windows( [in] any aIndex );
+	any WorksheetFunction();
+	any Evaluate( [in] string Name );
+	any Dialogs( [in] any DialogIndex );
+	any Range( [in] any Cell1, [in] any Cell2 );
+	void GoTo( [in] any Reference, [in] any Scroll );
+	// #FIXME #TODO up to 30 args needed
+	double CountA( [in] any arg1 );
+	void wait( [in] double time );
+};
+
+}; }; };
+
+#endif
+
+
