From ed5640d8b587fbcfed7dd7967f3de04b37a76f26 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 11:06:44 +0200 Subject: Adding upstream version 4:7.4.7. Signed-off-by: Daniel Baumann --- offapi/com/sun/star/script/vba/VBAEventId.idl | 123 +++++++++++++++++++++ .../com/sun/star/script/vba/VBAEventProcessor.idl | 39 +++++++ .../com/sun/star/script/vba/VBAMacroResolver.idl | 39 +++++++ offapi/com/sun/star/script/vba/VBAScriptEvent.idl | 60 ++++++++++ .../com/sun/star/script/vba/VBAScriptEventId.idl | 86 ++++++++++++++ .../script/vba/VBASpreadsheetEventProcessor.idl | 40 +++++++ .../sun/star/script/vba/VBATextEventProcessor.idl | 40 +++++++ .../com/sun/star/script/vba/XVBACompatibility.idl | 54 +++++++++ .../com/sun/star/script/vba/XVBAEventProcessor.idl | 86 ++++++++++++++ .../com/sun/star/script/vba/XVBAMacroResolver.idl | 81 ++++++++++++++ offapi/com/sun/star/script/vba/XVBAModuleInfo.idl | 62 +++++++++++ .../com/sun/star/script/vba/XVBAScriptListener.idl | 41 +++++++ 12 files changed, 751 insertions(+) create mode 100644 offapi/com/sun/star/script/vba/VBAEventId.idl create mode 100644 offapi/com/sun/star/script/vba/VBAEventProcessor.idl create mode 100644 offapi/com/sun/star/script/vba/VBAMacroResolver.idl create mode 100644 offapi/com/sun/star/script/vba/VBAScriptEvent.idl create mode 100644 offapi/com/sun/star/script/vba/VBAScriptEventId.idl create mode 100644 offapi/com/sun/star/script/vba/VBASpreadsheetEventProcessor.idl create mode 100644 offapi/com/sun/star/script/vba/VBATextEventProcessor.idl create mode 100644 offapi/com/sun/star/script/vba/XVBACompatibility.idl create mode 100644 offapi/com/sun/star/script/vba/XVBAEventProcessor.idl create mode 100644 offapi/com/sun/star/script/vba/XVBAMacroResolver.idl create mode 100644 offapi/com/sun/star/script/vba/XVBAModuleInfo.idl create mode 100644 offapi/com/sun/star/script/vba/XVBAScriptListener.idl (limited to 'offapi/com/sun/star/script/vba') 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. + +

If one of these events is fired, a specific VBA macro in a specific + document code module will be executed.

+ +

Each event expects some specific arguments to be passed to + XVBAEventProcessor::processVbaEvent().

+ + @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 + + +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 + + +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 + + +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. + +

Several scripts may run simultaneously, e.g. when a running script + triggers a document event that starts another script.

+ +

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.

+ +

The member VBAScriptEvent::ModuleName of the event + object will contain the name of the code module that contains the + started script.

+ */ + const long SCRIPT_STARTED = 0; + + /** This event is fired when a VBA script in the current document stops + running. + +

Several scripts may run simultaneously, e.g. when a running script + triggers a document event that starts another script.

+ +

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.

+ +

The member VBAScriptEvent::ModuleName of the event + object will contain the name of the code module that contains the + script that has been stopped.

+ */ + const long SCRIPT_STOPPED = 1; + + /** This event is fired when a VBA script in the current document tries to + instantiate a userform. + +

The member VBAScriptEvent::ModuleName of the event + object will contain the name of the userform module.

+ */ + 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 + + +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 + + +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 +#include + + +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 +#include +#include + + +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 + + +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 +#include +#include +#include +#include +#include + + +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 +#include + + +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: */ -- cgit v1.2.3