diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
commit | ed5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch) | |
tree | 7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /offapi/com/sun/star/script/vba | |
parent | Initial commit. (diff) | |
download | libreoffice-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')
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: */ |