summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/script/vba
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
commited5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch)
tree7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /offapi/com/sun/star/script/vba
parentInitial commit. (diff)
downloadlibreoffice-upstream.tar.xz
libreoffice-upstream.zip
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'offapi/com/sun/star/script/vba')
-rw-r--r--offapi/com/sun/star/script/vba/VBAEventId.idl123
-rw-r--r--offapi/com/sun/star/script/vba/VBAEventProcessor.idl39
-rw-r--r--offapi/com/sun/star/script/vba/VBAMacroResolver.idl39
-rw-r--r--offapi/com/sun/star/script/vba/VBAScriptEvent.idl60
-rw-r--r--offapi/com/sun/star/script/vba/VBAScriptEventId.idl86
-rw-r--r--offapi/com/sun/star/script/vba/VBASpreadsheetEventProcessor.idl40
-rw-r--r--offapi/com/sun/star/script/vba/VBATextEventProcessor.idl40
-rw-r--r--offapi/com/sun/star/script/vba/XVBACompatibility.idl54
-rw-r--r--offapi/com/sun/star/script/vba/XVBAEventProcessor.idl86
-rw-r--r--offapi/com/sun/star/script/vba/XVBAMacroResolver.idl81
-rw-r--r--offapi/com/sun/star/script/vba/XVBAModuleInfo.idl62
-rw-r--r--offapi/com/sun/star/script/vba/XVBAScriptListener.idl41
12 files changed, 751 insertions, 0 deletions
diff --git a/offapi/com/sun/star/script/vba/VBAEventId.idl b/offapi/com/sun/star/script/vba/VBAEventId.idl
new file mode 100644
index 000000000..f01cf84ad
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBAEventId.idl
@@ -0,0 +1,123 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_vba_VBAEventId_idl__
+#define __com_sun_star_script_vba_VBAEventId_idl__
+
+
+module com { module sun { module star { module script { module vba {
+
+
+/** Constants used to identify VBA document events.
+
+ <p>If one of these events is fired, a specific VBA macro in a specific
+ document code module will be executed.</p>
+
+ <p>Each event expects some specific arguments to be passed to
+ XVBAEventProcessor::processVbaEvent().</p>
+
+ @see XVBAEventProcessor
+ */
+constants VBAEventId
+{
+
+ /** An identifier not corresponding to any VBA document event. */
+ const long NO_EVENT = -1;
+
+ // Global events (identifiers from 1 to 999)
+
+ /** New document opened from template. No arguments. */
+ const long AUTO_NEW = 1;
+ /** Document opened (loaded). No arguments. */
+ const long AUTO_OPEN = 2;
+ /** Document about to be closed. No arguments. */
+ const long AUTO_CLOSE = 3;
+ /** Application start. No arguments. */
+ const long AUTO_EXEC = 4;
+ /** Application exit. No arguments. */
+ const long AUTO_EXIT = 5;
+
+ // MS Word (identifiers from 1001 to 1999)
+
+ /** New text document opened from template. No arguments. */
+ const long DOCUMENT_NEW = 1001;
+ /** Text document opened (loaded). No arguments. */
+ const long DOCUMENT_OPEN = 1002;
+ /** Document about to be closed. No arguments. */
+ const long DOCUMENT_CLOSE = 1003;
+
+ // MS Excel (identifiers from 2001 to 2999)
+
+ // document events (2001-2099)
+
+ /** Document activated. No arguments. */
+ const long WORKBOOK_ACTIVATE = 2001;
+ /** Document deactivated. No arguments. */
+ const long WORKBOOK_DEACTIVATE = 2002;
+ /** Document opened (loaded). No arguments. */
+ const long WORKBOOK_OPEN = 2003;
+ /** Document about to be closed. Arguments: [out] boolean bCancel. */
+ const long WORKBOOK_BEFORECLOSE = 2004;
+ /** Document about to be printed. Arguments: [out] boolean bCancel. */
+ const long WORKBOOK_BEFOREPRINT = 2005;
+ /** Document about to be saved. Arguments: boolean bSaveAs, [out] boolean bCancel. */
+ const long WORKBOOK_BEFORESAVE = 2006;
+ /** Document has been saved. Arguments: boolean bSuccess. */
+ const long WORKBOOK_AFTERSAVE = 2007;
+ /** New sheet inserted. Arguments: short nSheet. */
+ const long WORKBOOK_NEWSHEET = 2008;
+ /** Document window has been activated. Arguments: XController aController. */
+ const long WORKBOOK_WINDOWACTIVATE = 2009;
+ /** Document window has been deactivated. Arguments: XController aController. */
+ const long WORKBOOK_WINDOWDEACTIVATE = 2010;
+ /** Document window has been resized. Arguments: XController aController. */
+ const long WORKBOOK_WINDOWRESIZE = 2011;
+
+ // sheet events (2101-2199)
+
+ /** Worksheet has been activated (made visible). Arguments: short nSheet. */
+ const long WORKSHEET_ACTIVATE = 2101;
+ /** Worksheet has been activated (made visible). Arguments: short nSheet. */
+ const long WORKSHEET_DEACTIVATE = 2102;
+ /** Double click in the sheet. Arguments: XRange/XSheetCellRangeContainer aRange, [out] boolean bCancel. */
+ const long WORKSHEET_BEFOREDOUBLECLICK = 2103;
+ /** Right click in the sheet. Arguments: XRange/XSheetCellRangeContainer aRange, [out] boolean bCancel. */
+ const long WORKSHEET_BEFORERIGHTCLICK = 2104;
+ /** Cells in sheet have been recalculated. Arguments: short nSheet. */
+ const long WORKSHEET_CALCULATE = 2105;
+ /** Cells in sheet have been changed. Arguments: XRange/XSheetCellRangeContainer aRange. */
+ const long WORKSHEET_CHANGE = 2106;
+ /** Selection in sheet has been changed. Arguments: XRange/XSheetCellRangeContainer aRange. */
+ const long WORKSHEET_SELECTIONCHANGE = 2107;
+ /** Hyperlink has been clicked. Arguments: XCell aCell. */
+ const long WORKSHEET_FOLLOWHYPERLINK = 2108;
+
+
+ /** Implementations are allowed to use identifiers above this value for any
+ internal purpose. */
+ const long USERDEFINED_START = 1000000;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/VBAEventProcessor.idl b/offapi/com/sun/star/script/vba/VBAEventProcessor.idl
new file mode 100644
index 000000000..0053eda2e
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBAEventProcessor.idl
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_vba_VBAEventProcessor_idl__
+#define __com_sun_star_script_vba_VBAEventProcessor_idl__
+
+#include <com/sun/star/script/vba/XVBAEventProcessor.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+
+service VBAEventProcessor : XVBAEventProcessor
+{
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/VBAMacroResolver.idl b/offapi/com/sun/star/script/vba/VBAMacroResolver.idl
new file mode 100644
index 000000000..4f587ef91
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBAMacroResolver.idl
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_vba_VBAMacroResolver_idl__
+#define __com_sun_star_script_vba_VBAMacroResolver_idl__
+
+#include <com/sun/star/script/vba/XVBAMacroResolver.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+
+service VBAMacroResolver : XVBAMacroResolver
+{
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/VBAScriptEvent.idl b/offapi/com/sun/star/script/vba/VBAScriptEvent.idl
new file mode 100644
index 000000000..4576ec2fe
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBAScriptEvent.idl
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_vba_VBAScriptEvent_idl__
+#define __com_sun_star_script_vba_VBAScriptEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+
+/** Describes a VBA script event fired via
+ XVBACompatibility::broadcastVBAScriptEvent(), and received by
+ XVBAScriptListener::notifyVBAScriptEvent().
+
+ @see XVBACompatibility
+ @see XVBAScriptListener
+ */
+struct VBAScriptEvent : ::com::sun::star::lang::EventObject
+{
+
+ /** Identifies the type of the event.
+
+ @see VBAScriptEventId
+ */
+ long Identifier;
+
+
+ /** Contains the name of the involved VBA module.
+
+ @see VBAScriptEventId
+ */
+ string ModuleName;
+
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/VBAScriptEventId.idl b/offapi/com/sun/star/script/vba/VBAScriptEventId.idl
new file mode 100644
index 000000000..faeea8a32
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBAScriptEventId.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_vba_VBAScriptEventId_idl__
+#define __com_sun_star_script_vba_VBAScriptEventId_idl__
+
+
+module com { module sun { module star { module script { module vba {
+
+
+/** Identifies a VBA script event fired via
+ XVBACompatibility::broadcastVBAScriptEvent(), and received by
+ XVBAScriptListener::notifyVBAScriptEvent().
+
+ @see VBAScriptEvent
+ @see XVBACompatibility
+ @see XVBAScriptListener
+ */
+constants VBAScriptEventId
+{
+ /** This event is fired when a VBA script in the current document has been
+ started.
+
+ <p>Several scripts may run simultaneously, e.g. when a running script
+ triggers a document event that starts another script.</p>
+
+ <p>The number of running scripts can be obtained via
+ XVBACompatibility::RunningVBAScripts. The number returned
+ there will already contain the new script notified with this event.</p>
+
+ <p>The member VBAScriptEvent::ModuleName of the event
+ object will contain the name of the code module that contains the
+ started script.</p>
+ */
+ const long SCRIPT_STARTED = 0;
+
+ /** This event is fired when a VBA script in the current document stops
+ running.
+
+ <p>Several scripts may run simultaneously, e.g. when a running script
+ triggers a document event that starts another script.</p>
+
+ <p>The number of scripts still running can be obtained via
+ XVBACompatibility::RunningVBAScripts. The number returned
+ there will not contain the stopped script notified with this event
+ anymore.</p>
+
+ <p>The member VBAScriptEvent::ModuleName of the event
+ object will contain the name of the code module that contains the
+ script that has been stopped.</p>
+ */
+ const long SCRIPT_STOPPED = 1;
+
+ /** This event is fired when a VBA script in the current document tries to
+ instantiate a userform.
+
+ <p>The member VBAScriptEvent::ModuleName of the event
+ object will contain the name of the userform module.</p>
+ */
+ const long INITIALIZE_USERFORM = 2;
+
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/VBASpreadsheetEventProcessor.idl b/offapi/com/sun/star/script/vba/VBASpreadsheetEventProcessor.idl
new file mode 100644
index 000000000..ac306b042
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBASpreadsheetEventProcessor.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_vba_VBASpreadsheetEventProcessor_idl__
+#define __com_sun_star_script_vba_VBASpreadsheetEventProcessor_idl__
+
+#include <com/sun/star/script/vba/XVBAEventProcessor.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+
+service VBASpreadsheetEventProcessor
+{
+ interface XVBAEventProcessor;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/VBATextEventProcessor.idl b/offapi/com/sun/star/script/vba/VBATextEventProcessor.idl
new file mode 100644
index 000000000..816163fbb
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBATextEventProcessor.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_vba_VBATextEventProcessor_idl__
+#define __com_sun_star_script_vba_VBATextEventProcessor_idl__
+
+#include <com/sun/star/script/vba/XVBAEventProcessor.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+
+service VBATextEventProcessor
+{
+ interface XVBAEventProcessor;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/XVBACompatibility.idl b/offapi/com/sun/star/script/vba/XVBACompatibility.idl
new file mode 100644
index 000000000..072bd045a
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/XVBACompatibility.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_vba_XVBACompatibility_idl__
+#define __com_sun_star_script_vba_XVBACompatibility_idl__
+
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/script/vba/XVBAScriptListener.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+interface XVBACompatibility
+{
+
+ [attribute] boolean VBACompatibilityMode;
+ [attribute ] string ProjectName;
+
+
+ [attribute, readonly] long RunningVBAScripts;
+
+
+ void addVBAScriptListener( [in] XVBAScriptListener Listener );
+
+
+ void removeVBAScriptListener( [in] XVBAScriptListener Listener );
+
+
+ void broadcastVBAScriptEvent( [in] long Identifier, [in] string ModuleName );
+
+};
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/XVBAEventProcessor.idl b/offapi/com/sun/star/script/vba/XVBAEventProcessor.idl
new file mode 100644
index 000000000..1fbf75d65
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/XVBAEventProcessor.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_vba_XVBAEventProcessor_idl__
+#define __com_sun_star_script_vba_XVBAEventProcessor_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/util/VetoException.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+
+/** Executes VBA event handlers.
+ */
+interface XVBAEventProcessor
+{
+
+ /** Returns whether a VBA event handler exists.
+
+ @param nEventId
+ The identifier of the event. Must be a constant from VBAEventId.
+
+ @param aArgs
+ Additional arguments needed to identify some event handlers, e.g. a
+ sheet index for spreadsheet events.
+
+ @return
+ `TRUE`, if the VBA event handler exists.
+ `FALSE`, for all other cases.
+ **/
+ boolean hasVbaEventHandler( [in] long nEventId, [in] sequence< any > aArgs )
+ raises (::com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Executes a VBA event handler.
+
+ @param nEventId
+ The identifier of the event. Must be a constant from VBAEventId.
+
+ @param aArgs
+ The input arguments needed to create the argument list of the VBA
+ event handler.
+
+ @return
+ `TRUE`, if event handing is enabled, and the event handler macro
+ exists and has been invoked.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the passed event identifier is not supported, or if the passed
+ arguments do not conform to the arguments expected by the specified
+ event.
+
+ @throws ::com::sun::star::util::VetoException
+ if the VBA event handler has indicated to veto the event.
+ **/
+ boolean processVbaEvent( [in] long nEventId, [in] sequence< any > aArgs )
+ raises (::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::util::VetoException);
+
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/XVBAMacroResolver.idl b/offapi/com/sun/star/script/vba/XVBAMacroResolver.idl
new file mode 100644
index 000000000..da6f0e8d2
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/XVBAMacroResolver.idl
@@ -0,0 +1,81 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_vba_XVBAMacroResolver_idl__
+#define __com_sun_star_script_vba_XVBAMacroResolver_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+
+/** Converts VBA macro names to script URLs and vice versa.
+ */
+interface XVBAMacroResolver
+{
+
+ /** Returns the script URL representing the passed VBA macro name.
+
+ @param aVBAMacroName
+ The VBA macro name to be resolved to a script URL. The macro name
+ may consist of up to three parts, divided by periods. The first two
+ parts are optional. The first part represents the VBA project name.
+ The second part represents the module name. The third part
+ represents the procedure name. Example: All the VBA macro names
+ "VBAProject.Module1.TestMacro", "Module1.TestMacro",
+ "VBAProject.TestMacro", and "TestMacro" may refer to the same VBA
+ procedure located in "Module" of the project "VBAProject". If the
+ module name is missing, then all modules are searched for a macro
+ with the specified name.
+
+ @return
+ The script URL referring to the passed VBA macro.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if a macro with the passed name does not exist.
+ **/
+ string resolveVBAMacroToScriptURL( [in] string aVBAMacroName )
+ raises (::com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Returns the VBA macro name for a macro with the passed script URL.
+
+ @param aScriptURL
+ The script URL to be resolved to a VBA macro name. Must be a
+ document-local script.
+
+ @return
+ The VBA macro name referring to a macro with the passed script URL.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if a macro with the passed name does not exist.
+ **/
+ string resolveScriptURLtoVBAMacro( [in] string aScriptURL )
+ raises (::com::sun::star::lang::IllegalArgumentException);
+
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/XVBAModuleInfo.idl b/offapi/com/sun/star/script/vba/XVBAModuleInfo.idl
new file mode 100644
index 000000000..5c1bd8b14
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/XVBAModuleInfo.idl
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_vba_XVBAModuleInfo_idl__
+#define __com_sun_star_script_vba_XVBAModuleInfo_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/ModuleInfo.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/container/ElementExistException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+interface XVBAModuleInfo
+{
+
+ com::sun::star::script::ModuleInfo getModuleInfo( [in] string ModuleName )
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+ boolean hasModuleInfo( [in] string ModuleName );
+
+
+ void insertModuleInfo( [in] string ModuleName,
+ [in] com::sun::star::script::ModuleInfo ModuleInfo )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::ElementExistException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+ void removeModuleInfo( [in] string ModuleName )
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::WrappedTargetException );
+
+};
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/script/vba/XVBAScriptListener.idl b/offapi/com/sun/star/script/vba/XVBAScriptListener.idl
new file mode 100644
index 000000000..3113aa920
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/XVBAScriptListener.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_script_vba_XVBAScriptListener_idl__
+#define __com_sun_star_script_vba_XVBAScriptListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/script/vba/VBAScriptEvent.idl>
+
+
+module com { module sun { module star { module script { module vba {
+
+
+interface XVBAScriptListener : ::com::sun::star::lang::XEventListener
+{
+ void notifyVBAScriptEvent( [in] VBAScriptEvent Event );
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */