summaryrefslogtreecommitdiff
path: root/oovbaapi
diff options
context:
space:
mode:
authorDaniel Rentz <dr@openoffice.org>2010-06-15 20:02:53 +0200
committerDaniel Rentz <dr@openoffice.org>2010-06-15 20:02:53 +0200
commit5ed103d2dd5f8ee2f13183263c0930f84437bdc7 (patch)
treeab1c7cf7a0b884df473eeda6048030ee8629972b /oovbaapi
parentf9561071999b3c5c8505d648c14fff7b1bcd0caa (diff)
mib16: contributed bugfixes and various new symbols in VBA compatibility implementation
Diffstat (limited to 'oovbaapi')
-rw-r--r--oovbaapi/ooo/vba/XApplicationBase.idl8
-rw-r--r--oovbaapi/ooo/vba/XCollection.idl1
-rw-r--r--oovbaapi/ooo/vba/XCommandBarControl.idl1
-rw-r--r--oovbaapi/ooo/vba/XDocumentBase.idl3
-rw-r--r--oovbaapi/ooo/vba/excel/XApplication.idl19
-rw-r--r--oovbaapi/ooo/vba/excel/XComment.idl13
-rw-r--r--oovbaapi/ooo/vba/excel/XHyperlink.idl27
-rw-r--r--oovbaapi/ooo/vba/excel/XPane.idl7
-rw-r--r--oovbaapi/ooo/vba/excel/XRange.idl3
-rw-r--r--oovbaapi/ooo/vba/excel/XWindow.idl10
-rw-r--r--oovbaapi/ooo/vba/excel/XWorksheet.idl21
-rw-r--r--oovbaapi/ooo/vba/excel/makefile.mk3
-rw-r--r--oovbaapi/ooo/vba/makefile.mk5
-rw-r--r--oovbaapi/ooo/vba/msforms/XControl.idl6
-rw-r--r--oovbaapi/ooo/vba/msforms/XControls.idl7
-rw-r--r--oovbaapi/prj/d.lst14
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