GetVBAMacros
Returns all VBA macros from the document.
Syntax
expression.GetVBAMacros();
expression
- A variable that represents a Api class.
Parameters
This method doesn't have any parameters.
Returns
string | null
Example
window.Asc.plugin.executeMethod ("GetVBAMacros", null, function (data) {
if (data && typeof data === 'string' && data.includes ('<Module')) {
var arr = data.split ('<Module ').filter (function (el) {return el.includes ('Type="Procedural"')});
arr.forEach (function (el) {
var start = el.indexOf ('<SourceCode>') + 12;
var end = el.indexOf ('</SourceCode>', start);
var macros = el.slice (start, end);
start = el.indexOf ('Name="') + 6;
end = el.indexOf ('"', start);
var name = el.slice (start, end);
var index = Content.macrosArray.findIndex (function (macr) {return macr.name == name});
if (index == -1) {
macros = macros.replace (/&/g,'&');
macros = macros.replace (/</g,'<');
macros = macros.replace (/>/g,'>');
macros = macros.replace (/'/g,'\'');
macros = macros.replace (/"/g,'"');
macros = macros.replace (/Attribute [\w \.="\\]*/g,'');
Content.macrosArray.push (
{
name: name,
value: '(function ()\n{\n\t\n})();\n\n',
guid: create_guid ()
}
);
}
});
}
updateMenu ();
window.CustomContextMenu.init ();
if (Content.current === -1)
{
let event = new Event ("click");
document.getElementById ("button_new").dispatchEvent (event);
}
});