diff options
author | Daniel Rentz <dr@openoffice.org> | 2010-06-15 20:02:53 +0200 |
---|---|---|
committer | Daniel Rentz <dr@openoffice.org> | 2010-06-15 20:02:53 +0200 |
commit | 5ed103d2dd5f8ee2f13183263c0930f84437bdc7 (patch) | |
tree | ab1c7cf7a0b884df473eeda6048030ee8629972b /oovbaapi | |
parent | f9561071999b3c5c8505d648c14fff7b1bcd0caa (diff) |
mib16: contributed bugfixes and various new symbols in VBA compatibility implementation
Diffstat (limited to 'oovbaapi')
-rw-r--r-- | oovbaapi/ooo/vba/XApplicationBase.idl | 8 | ||||
-rw-r--r-- | oovbaapi/ooo/vba/XCollection.idl | 1 | ||||
-rw-r--r-- | oovbaapi/ooo/vba/XCommandBarControl.idl | 1 | ||||
-rw-r--r-- | oovbaapi/ooo/vba/XDocumentBase.idl | 3 | ||||
-rw-r--r-- | oovbaapi/ooo/vba/excel/XApplication.idl | 19 | ||||
-rw-r--r-- | oovbaapi/ooo/vba/excel/XComment.idl | 13 | ||||
-rw-r--r-- | oovbaapi/ooo/vba/excel/XHyperlink.idl | 27 | ||||
-rw-r--r-- | oovbaapi/ooo/vba/excel/XPane.idl | 7 | ||||
-rw-r--r-- | oovbaapi/ooo/vba/excel/XRange.idl | 3 | ||||
-rw-r--r-- | oovbaapi/ooo/vba/excel/XWindow.idl | 10 | ||||
-rw-r--r-- | oovbaapi/ooo/vba/excel/XWorksheet.idl | 21 | ||||
-rw-r--r-- | oovbaapi/ooo/vba/excel/makefile.mk | 3 | ||||
-rw-r--r-- | oovbaapi/ooo/vba/makefile.mk | 5 | ||||
-rw-r--r-- | oovbaapi/ooo/vba/msforms/XControl.idl | 6 | ||||
-rw-r--r-- | oovbaapi/ooo/vba/msforms/XControls.idl | 7 | ||||
-rw-r--r-- | oovbaapi/prj/d.lst | 14 |
16 files changed, 97 insertions, 51 deletions
diff --git a/oovbaapi/ooo/vba/XApplicationBase.idl b/oovbaapi/ooo/vba/XApplicationBase.idl index b42e456bd7eb..7f59ddb75247 100644 --- a/oovbaapi/ooo/vba/XApplicationBase.idl +++ b/oovbaapi/ooo/vba/XApplicationBase.idl @@ -38,19 +38,27 @@ module ooo { module vba { //============================================================================= + + interface XApplicationBase { interface ::ooo::vba::XHelperInterface; [attribute] boolean ScreenUpdating; [attribute] boolean DisplayStatusBar; + [attribute] boolean Interactive; [attribute, readonly] string Version; + //mbn + [attribute, readonly] any VBE; + [attribute, readonly] any VBProjects; void Quit(); any CommandBars( [in] any aIndex ); void Run([in] string MacroName, [in] /*Optional*/ any varg1, [in] /*Optional*/ any varg2, [in] /*Optional*/ any varg3, [in] /*Optional*/ any varg4, [in] /*Optional*/ any varg5, [in] /*Optional*/ any varg6, [in] /*Optional*/ any varg7, [in] /*Optional*/ any varg8, [in] /*Optional*/ any varg9, [in] /*Optional*/ any varg10, [in] /*Optional*/ any varg11, [in] /*Optional*/ any varg12, [in] /*Optional*/ any varg13, [in] /*Optional*/ any varg14, [in] /*Optional*/ any varg15, [in] /*Optional*/ any varg16, [in] /*Optional*/ any varg17, [in] /*Optional*/ any varg18, [in] /*Optional*/ any varg19, [in] /*Optional*/ any varg20, [in] /*Optional*/ any varg21, [in] /*Optional*/ any varg22, [in] /*Optional*/ any varg23, [in] /*Optional*/ any varg24, [in] /*Optional*/ any varg25, [in] /*Optional*/ any varg26, [in] /*Optional*/ any varg27, [in] /*Optional*/ any varg28, [in] /*Optional*/ any varg29, [in] /*Optional*/ any varg30); + void OnTime( [in] any aEarliestTime, [in] string aFunction, [in] any aLatestTime, [in] any aSchedule ); float CentimetersToPoints([in] float Centimeters ); + void Undo(); }; }; }; diff --git a/oovbaapi/ooo/vba/XCollection.idl b/oovbaapi/ooo/vba/XCollection.idl index 60971034bb5d..63982aab36d6 100644 --- a/oovbaapi/ooo/vba/XCollection.idl +++ b/oovbaapi/ooo/vba/XCollection.idl @@ -52,6 +52,7 @@ interface XCollection interface ::com::sun::star::container::XEnumerationAccess; [attribute, readonly] long Count; + any Item( [in] any Index1, [in] any Index2 ); }; diff --git a/oovbaapi/ooo/vba/XCommandBarControl.idl b/oovbaapi/ooo/vba/XCommandBarControl.idl index 2f89959cdaa0..7f20a6bf2c3f 100644 --- a/oovbaapi/ooo/vba/XCommandBarControl.idl +++ b/oovbaapi/ooo/vba/XCommandBarControl.idl @@ -48,6 +48,7 @@ interface XCommandBarControl [attribute] boolean Visible; [attribute, readonly] long Type; [attribute] boolean Enabled; + [attribute] boolean BeginGroup; void Delete() raises ( com::sun::star::script::BasicErrorException ); any Controls( [in] any Index ) raises ( com::sun::star::script::BasicErrorException ); diff --git a/oovbaapi/ooo/vba/XDocumentBase.idl b/oovbaapi/ooo/vba/XDocumentBase.idl index 12cb931987d6..a4ee8b4366c6 100644 --- a/oovbaapi/ooo/vba/XDocumentBase.idl +++ b/oovbaapi/ooo/vba/XDocumentBase.idl @@ -38,6 +38,8 @@ module ooo { module vba { //============================================================================= + + interface XDocumentBase { interface ::ooo::vba::XHelperInterface; @@ -46,6 +48,7 @@ interface XDocumentBase [attribute, readonly] string Path; [attribute, readonly] string FullName; [attribute] boolean Saved; + [attribute, readonly] any VBProject; // Michael E. Bohn void Close([in] any SaveChanges, [in] any FileName, [in] any RouteWorkBook); void Save(); diff --git a/oovbaapi/ooo/vba/excel/XApplication.idl b/oovbaapi/ooo/vba/excel/XApplication.idl index e4c063d161cf..39693a37511c 100644 --- a/oovbaapi/ooo/vba/excel/XApplication.idl +++ b/oovbaapi/ooo/vba/excel/XApplication.idl @@ -27,17 +27,10 @@ #ifndef __ooo_vba_excel_XApplication_idl__ #define __ooo_vba_excel_XApplication_idl__ -#ifndef __com_sun_star_uno_XInterface_idl__ -#include <com/sun/star/uno/XInterface.idl> -#endif - -#ifndef __ooo_vba_XHelperInterface_idl__ +#include <com/sun/star/beans/XExactName.idl> +#include <com/sun/star/script/XInvocation.idl> #include <ooo/vba/XHelperInterface.idl> -#endif - -#ifndef __ooo_vba_XAssistant_idl__ #include <ooo/vba/XAssistant.idl> -#endif module ooo { module vba { module excel { @@ -49,8 +42,11 @@ interface XWorksheetFunction; interface XWindow; interface XWorksheet; -interface XApplication : com::sun::star::uno::XInterface +interface XApplication { + // Application serves as WorksheetFunction object with little differences + interface ::com::sun::star::beans::XExactName; + interface ::com::sun::star::script::XInvocation; // interface ::ooo::vba::XHelperInterface; @@ -86,8 +82,7 @@ interface XApplication : com::sun::star::uno::XInterface any Range( [in] any Cell1, [in] any Cell2 ); any Names( [in] any Index ); 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 ); void Calculate() raises(com::sun::star::script::BasicErrorException); XRange Intersect([in] XRange Arg1, [in] XRange Arg2, [in] /*Optional*/ any Arg3, [in] /*Optional*/ any Arg4, [in] /*Optional*/ any Arg5, [in] /*Optional*/ any Arg6, [in] /*Optional*/ any Arg7, [in] /*Optional*/ any Arg8, [in] /*Optional*/ any Arg9, [in] /*Optional*/ any Arg10, [in] /*Optional*/ any Arg11, [in] /*Optional*/ any Arg12, [in] /*Optional*/ any Arg13, [in] /*Optional*/ any Arg14, [in] /*Optional*/ any Arg15, [in] /*Optional*/ any Arg16, [in] /*Optional*/ any Arg17, [in] /*Optional*/ any Arg18, [in] /*Optional*/ any Arg19, [in] /*Optional*/ any Arg20, [in] /*Optional*/ any Arg21, [in] /*Optional*/ any Arg22, [in] /*Optional*/ any Arg23, [in] /*Optional*/ any Arg24, [in] /*Optional*/ any Arg25, [in] /*Optional*/ any Arg26, [in] /*Optional*/ any Arg27, [in] /*Optional*/ any Arg28, [in] /*Optional*/ any Arg29, [in] /*Optional*/ any Arg30) diff --git a/oovbaapi/ooo/vba/excel/XComment.idl b/oovbaapi/ooo/vba/excel/XComment.idl index 9f333cfd9542..8b811f31cc41 100644 --- a/oovbaapi/ooo/vba/excel/XComment.idl +++ b/oovbaapi/ooo/vba/excel/XComment.idl @@ -27,15 +27,8 @@ #ifndef __ooo_vba_excel_XComment_idl__ #define __ooo_vba_excel_XComment_idl__ -#ifndef __com_sun_star_uno_XInterface_idl__ -#include <com/sun/star/uno/XInterface.idl> -#endif -#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ -#include <com/sun/star/lang/IllegalArgumentException.idl> -#endif -#ifndef __ooo_vba_XHelperInterface_idl__ -#include <ooo/vba/XHelperInterface.idl> -#endif +#include <ooo/vba/msforms/XShape.idl> + //============================================================================= module ooo { module vba { module excel { @@ -48,7 +41,7 @@ interface XComment interface ::ooo::vba::XHelperInterface; [attribute] string Author; -// [attribute, readonly] Shape Shape; + [attribute, readonly] ooo::vba::msforms::XShape Shape; [attribute] boolean Visible; void Delete(); diff --git a/oovbaapi/ooo/vba/excel/XHyperlink.idl b/oovbaapi/ooo/vba/excel/XHyperlink.idl index 32fd985a4a37..1f6f9d23bfa6 100644 --- a/oovbaapi/ooo/vba/excel/XHyperlink.idl +++ b/oovbaapi/ooo/vba/excel/XHyperlink.idl @@ -27,31 +27,38 @@ #ifndef __ooo_vba_excel_XHyperlink_idl__ #define __ooo_vba_excel_XHyperlink_idl__ -#ifndef __com_sun_star_uno_XInterface_idl__ -#include <com/sun/star/uno/XInterface.idl> -#endif - -#ifndef __ooo_vba_XHelperInterface_idl__ #include <ooo/vba/XHelperInterface.idl> -#endif //============================================================================= +module ooo { module vba { module msforms { + interface XShape; +}; }; }; + module ooo { module vba { module excel { -//============================================================================= interface XRange; + +//============================================================================= + interface XHyperlink { interface ::ooo::vba::XHelperInterface; - [attribute] string Address; [attribute] string Name; + [attribute] string Address; + [attribute] string SubAddress; + [attribute] string ScreenTip; [attribute] string TextToDisplay; - - XRange Range(); + [attribute, readonly] long Type; + [attribute, readonly] XRange Range; + [attribute, readonly] ooo::vba::msforms::XShape Shape; }; +//============================================================================= + }; }; }; +//============================================================================= + #endif diff --git a/oovbaapi/ooo/vba/excel/XPane.idl b/oovbaapi/ooo/vba/excel/XPane.idl index acc5520bb9ea..ac9ec2e3ca08 100644 --- a/oovbaapi/ooo/vba/excel/XPane.idl +++ b/oovbaapi/ooo/vba/excel/XPane.idl @@ -27,9 +27,7 @@ #ifndef __com_sun_star_helper_XPane_idl__ #define __com_sun_star_helper_XPane_idl__ -#ifndef __com_sun_star_uno_XInterface_idl__ #include <com/sun/star/uno/XInterface.idl> -#endif //============================================================================ @@ -37,10 +35,13 @@ module ooo { module vba { module excel { //============================================================================ -interface XPane: com::sun::star::uno::XInterface +interface XRange; + +interface XPane : com::sun::star::uno::XInterface { [attribute] long ScrollColumn; [attribute] long ScrollRow; + [attribute, readonly] XRange VisibleRange; void SmallScroll([in] /*Optional*/ any Down, [in] /*Optional*/ any Up, [in] /*Optional*/ any ToRight, [in] /*Optional*/ any ToLeft); void LargeScroll([in] /*Optional*/ any Down, [in] /*Optional*/ any Up, [in] /*Optional*/ any ToRight, [in] /*Optional*/ any ToLeft); diff --git a/oovbaapi/ooo/vba/excel/XRange.idl b/oovbaapi/ooo/vba/excel/XRange.idl index 5eb1913fc40a..3820911f2c96 100644 --- a/oovbaapi/ooo/vba/excel/XRange.idl +++ b/oovbaapi/ooo/vba/excel/XRange.idl @@ -98,6 +98,7 @@ interface XRange [attribute, readonly ] any Left; [attribute] any PageBreak; [attribute, readonly] XValidation Validation; + [attribute, readonly] any PrefixCharacter; [attribute] any Style; [attribute] any AddIndent; [attribute] any ShowDetail; @@ -164,7 +165,7 @@ interface XRange void RemoveSubtotal() raises ( com::sun::star::script::BasicErrorException ); void Subtotal( [in] long GroupBy, [in] long Function, [in] /*Optional*/ sequence<long> TotalList, [in] /*Optional*/ any Replace, [in] /*Optional*/ any PageBreaks, [in] any SummaryBelowData ) raises ( com::sun::star::script::BasicErrorException ); XRange MergeArea( ) raises ( com::sun::star::script::BasicErrorException ); - + any Hyperlinks( [in] any aIndex ); }; //============================================================================= diff --git a/oovbaapi/ooo/vba/excel/XWindow.idl b/oovbaapi/ooo/vba/excel/XWindow.idl index 0ac2271a32d6..dde7818ebda7 100644 --- a/oovbaapi/ooo/vba/excel/XWindow.idl +++ b/oovbaapi/ooo/vba/excel/XWindow.idl @@ -27,22 +27,18 @@ #ifndef __ooo_vba_excel_XWindow_idl__ #define __ooo_vba_excel_XWindow_idl__ -#ifndef __com_sun_star_uno_XInterface_idl__ -#include <com/sun/star/uno/XInterface.idl> -#endif - -#ifndef __ooo_vba_XHelperInterface_idl__ #include <ooo/vba/XHelperInterface.idl> -#endif //============================================================================= module ooo { module vba { module excel { //============================================================================= + interface XRange; interface XWorksheet; interface XPane; + interface XWindow : com::sun::star::uno::XInterface { [attribute] any Caption; @@ -61,6 +57,7 @@ interface XWindow : com::sun::star::uno::XInterface [attribute] any ScrollColumn; [attribute] any ScrollRow; [attribute] any View; + [attribute, readonly] XRange VisibleRange; [attribute] any WindowState; [attribute] any Zoom; any SelectedSheets( [in] any aIndex ); @@ -71,6 +68,7 @@ interface XWindow : com::sun::star::uno::XInterface void Close([in] any SaveChanges, [in] any FileName, [in] any RouteWorkBook); XRange ActiveCell() raises(com::sun::star::script::BasicErrorException); any Selection() raises(com::sun::star::script::BasicErrorException); + XRange RangeSelection() raises(com::sun::star::script::BasicErrorException); long PointsToScreenPixelsX([in] long Points) raises(com::sun::star::script::BasicErrorException); long PointsToScreenPixelsY([in] long Points) raises(com::sun::star::script::BasicErrorException); void PrintOut([in] /*optional short*/ any From, diff --git a/oovbaapi/ooo/vba/excel/XWorksheet.idl b/oovbaapi/ooo/vba/excel/XWorksheet.idl index 3620c899de83..271cd81d4d0e 100644 --- a/oovbaapi/ooo/vba/excel/XWorksheet.idl +++ b/oovbaapi/ooo/vba/excel/XWorksheet.idl @@ -83,6 +83,8 @@ interface XWorksheet void Protect([in] any Password,[in] any DrawingObjects ,[in] any Contents,[in] any Scenarios,[in] any UserInterfaceOnly); void Unprotect([in] any Password ); void CheckSpelling([in] any CustomDictionary,[in] any IgnoreUppercase, [in] any AlwaysSuggest,[in] any SpellingLang ); + void ShowDataForm(); + XRange Range([in] any Cell1, [in] any Cell2 ); any ChartObjects([in] any Index); any PivotTables([in] any Index); @@ -92,23 +94,32 @@ interface XWorksheet any HPageBreaks([in] any Index); any VPageBreaks([in] any Index); any OLEObjects([in] any Index); - void ShowDataForm(); any Shapes([in] any Index); + /* The following form control related symbols do not refer to ActiveX form + controls embedded in the sheet, but to the old-style drawing controls + of Excel. This is an Excel-only feature. */ + any Buttons( [in] any aIndex ); + any CheckBoxes( [in] any aIndex ); + any DropDowns( [in] any aIndex ); + any GroupBoxes( [in] any aIndex ); + any Labels( [in] any aIndex ); + any ListBoxes( [in] any aIndex ); + any OptionButtons( [in] any aIndex ); + any ScrollBars( [in] any aIndex ); + any Spinners( [in] any aIndex ); // FIXME: should prolly inherit from Range somehow... XRange Cells([in] any RowIndex, [in] any ColumnIndex); XRange Rows([in] any aIndex); XRange Columns([in] any aIndex); + any Hyperlinks( [in] any aIndex ); any Evaluate( [in] string Name); - void setEnableCalculation([in] boolean EnableCalculation) raises(com::sun::star::script::BasicErrorException); boolean getEnableCalculation() raises(com::sun::star::script::BasicErrorException); void PrintOut( [in] any From, [in] any To, [in] any Copies, [in] any Preview, [in] any ActivePrinter, [in] any PrintToFile, [in] any Collate, [in] any PrToFileName, [in] any IgnorePrintAreas ); - - }; //============================================================================= @@ -116,5 +127,3 @@ interface XWorksheet }; }; }; #endif - - diff --git a/oovbaapi/ooo/vba/excel/makefile.mk b/oovbaapi/ooo/vba/excel/makefile.mk index 01e26d4cb19b..12dcf025e489 100644 --- a/oovbaapi/ooo/vba/excel/makefile.mk +++ b/oovbaapi/ooo/vba/excel/makefile.mk @@ -39,6 +39,8 @@ PACKAGE=ooo$/vba$/Excel IDLFILES= XGlobals.idl\ Globals.idl\ + SheetObject.idl\ + SheetObjects.idl\ XApplication.idl\ XComment.idl\ XComments.idl\ @@ -92,6 +94,7 @@ IDLFILES= XGlobals.idl\ Window.idl \ XHyperlink.idl \ Hyperlink.idl \ + XHyperlinks.idl \ XPageSetup.idl \ XPageBreak.idl \ XHPageBreak.idl \ diff --git a/oovbaapi/ooo/vba/makefile.mk b/oovbaapi/ooo/vba/makefile.mk index 7fc70303d942..75f6465bf4c0 100644 --- a/oovbaapi/ooo/vba/makefile.mk +++ b/oovbaapi/ooo/vba/makefile.mk @@ -1,4 +1,4 @@ -#************************************************************************* + #************************************************************************* # # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # @@ -62,7 +62,8 @@ IDLFILES=\ XDialogsBase.idl\ XDialogBase.idl\ XPageSetupBase.idl \ - + XVBAAppService.idl\ + XVBADocService.idl\ # ------------------------------------------------------------------ .ENDIF .INCLUDE : target.mk diff --git a/oovbaapi/ooo/vba/msforms/XControl.idl b/oovbaapi/ooo/vba/msforms/XControl.idl index 867fd564c9af..97ca9d152716 100644 --- a/oovbaapi/ooo/vba/msforms/XControl.idl +++ b/oovbaapi/ooo/vba/msforms/XControl.idl @@ -45,13 +45,16 @@ interface XControl { interface ::ooo::vba::XHelperInterface; void SetFocus(); + void Move( [in] double Left, [in] double Top, [in] any Width, [in] any Height ); + [attribute, readonly ] com::sun::star::uno::XInterface Object; [attribute] string ControlSource; [attribute] string RowSource; [attribute] boolean Enabled; [attribute] boolean Visible; //Size. there are some defferent between Mso and OOo. - //Mso use double but OOo use long. OOo 1 = 1/100mm but Mso use pt + //Mso use double but OOo use long. OOo 1 = 1/100mm but Mso use pt. + //in Dialogs Mso uses pixels [attribute] double Height; [attribute] double Width; //Postion @@ -59,6 +62,7 @@ interface XControl [attribute] double Top; [attribute] string Name; [attribute] string ControlTipText; + [attribute] string Tag; }; //============================================================================= diff --git a/oovbaapi/ooo/vba/msforms/XControls.idl b/oovbaapi/ooo/vba/msforms/XControls.idl index 00d8f16f9dd9..11325303d56c 100644 --- a/oovbaapi/ooo/vba/msforms/XControls.idl +++ b/oovbaapi/ooo/vba/msforms/XControls.idl @@ -41,6 +41,13 @@ interface XControls { interface ooo::vba::XCollection; void Move( [in] double cx, [in] double cy ); + + // the following two methods should be actually part of XCollection, but at least Add conflicts with + // methods in the derived from XCollection interfaces + // thus the methods are declared in the top-level interface + any Add( [in] any Object, [in] any StringKey, [in] any Before, [in] any After ); + void Remove( [in] any StringKeyOrIndex ); + }; }; }; }; diff --git a/oovbaapi/prj/d.lst b/oovbaapi/prj/d.lst index 1acd2acd5b4b..ac5924e2d684 100644 --- a/oovbaapi/prj/d.lst +++ b/oovbaapi/prj/d.lst @@ -1 +1,15 @@ +mkdir: %COMMON_DEST%\idl%_EXT%\ooo + +mkdir: %COMMON_DEST%\idl%_EXT%\ooo\vba +mkdir: %COMMON_DEST%\idl%_EXT%\ooo\vba\constants +mkdir: %COMMON_DEST%\idl%_EXT%\ooo\vba\excel +mkdir: %COMMON_DEST%\idl%_EXT%\ooo\vba\msforms +mkdir: %COMMON_DEST%\idl%_EXT%\ooo\vba\word + ..\%__SRC%\ucr\oovbaapi.db %_DEST%\bin%_EXT%\oovbaapi.rdb + +..\ooo\vba\*.idl %COMMON_DEST%\idl%_EXT%\ooo\vba\ +..\ooo\vba\constants\*.idl %COMMON_DEST%\idl%_EXT%\ooo\vba\constants +..\ooo\vba\excel\*.idl %COMMON_DEST%\idl%_EXT%\ooo\vba\excel +..\ooo\vba\msforms\*.idl %COMMON_DEST%\idl%_EXT%\ooo\vba\msforms +..\ooo\vba\word\*.idl %COMMON_DEST%\idl%_EXT%\ooo\vba\word |