Download Editor
Notice
Please report any erros in the Documentation or Editor/Compiler.
Documentation
Syntax
Comment
> Example:
# This line will not be read as code
Action/Function
Note: some spaces are optional.
Action/function:<parameters>;
Action: value;
> or
Action: parameter1=value1; parameter2=value2;
​
> Examples:
ppt.slideshow.gotoslide:10;
ppt.msgbox: prompt=Hello world!; title=LAMP Coding 2;
PPT > SlideShow
> Clear slide
# Deletes all shapes from a specific slide.
ppt.slideshow.clearslide:<SLIDE-NUMBER>;
​
> Navigate
# Go to next slide
ppt.slideshow.navigate:next;
​
# Go to previous slide
ppt.slideshow.navigate:previous;
​
# Go to first slide
ppt.slideshow.navigate:first;
​
# Go to last slide
ppt.slideshow.navigate:last;
​
# Go to a specific slide
ppt.slideshow.gotoslide:<SLIDE-NUMBER>;
PPT > Shapes
> Add a new shape
ppt.shapes.add: slide=<SLIDE-NUMBER>; type=<SHAPE-TYPE>; name=<SHAPE-NAME>; x=<SHAPE-HORIZONTAL-POSITION>; y=<SHAPE-VERTICAL-POSITION>; w=<SHAPE-WIDTH>; h=<SHAPE-HEIGHT>;
​
PARAMETERS
SLIDE-NUMBER - Number of the slide where the shape should be added.
SHAPE-TYPE - Type of the shape. Can be rectangle, circle or triangle.
SHAPE-NAME - Name of the shape.
SHAPE-HORIZONTAL-POSITION - Shape's Left property.
SHAPE-VERTICAL-POSITION - Shape's Top property.
SHAPE-WIDTH - Shape's Width property.
SHAPE-HEIGHT - Shape's Height property.
​
​
> Delete a shape
ppt.shapes.delete: slide=<SLIDE-NUMBER>; shape=<SHAPE-NAME>;
​
PARAMETERS
SLIDE-NUMBER - Number of the slide where the shape is.
SHAPE-NAME - Name of the shape.
​
​
> Set shape property
ppt.shapes.setproperty: slide=<SLIDE-NUMBER>; shape=<SHAPE-NAME> property=<SHAPE-PROPERTY>; value=<PROPERTY-VALUE>;
​
PARAMETERS
SLIDE-NUMBER - Number of the slide where the shape is.
SHAPE-NAME - Name of the shape.
SHAPE-PROPERTY - The shape's property that should be changed.
PROPERTY-VALUE - The new value of the shape's property. See SHAPE PROPERTIES for a list of available properties.
​
SHAPE PROPERTIES
text - String
fill_color - RGB Long Number (between 0 and 16777215)
fill_transparency - Number (between 0,00 and 1,00)
fill_picture - String (Picture URL from PC files or web)
line_color - RGB Long Number (between 0 and 16777215)
line_transparency - Number (between 0,00 and 1,00)
line_dashstyle - Number index (between 1 and 12). See SHAPE LINE DASH STYLES for a list of dash styles.
line_weight - Number (between 0,01 and 999,99)
line_visible - Boolean (Number) (0 - False (line not visible), any other number - True (line visible))
font_color - RGB Long Number (between 0 and 16777215)
font_size - Number (between 1,0 and 4000,0)
font_bold - Boolean (Number) (0 - False (bold disabled), any other number - True (bold enabled))
font_italic - Boolean (Number) (0 - False (italic disabled), any other number - True (italic enabled))
font_underline - Boolean (Number) (0 - False (underline disabled), any other number - True (underline enabled))
font_name - String
visible - Boolean (Number) (0 - False (shape not visible), any other number - True (shape visible))
position_x - Number (Horizontal position - Left property of shape)
position_y - Number (Vertical position - Top property of shape)
size_w - Number (Width property of shape)
size_h - Number (Height Top property of shape)
shadow_visible - Boolean (Number) (0 - False (shadow not visible), any other number - True (shadow visible))
shadow_blur - Number (between 1,0 and 100,0)
shadow_offset_x - Number
shadow_offset_y - Number
shadow_size - Number (between 1,0 and 100,0)
shadow_transparency - Number (between 0,00 and 1,00)
​
​
SHAPE LINE DASH STYLES
1 - msoLineSolid
2 - msoLineSquareDot
3 - msoLineRoundDot
4 - msoLineDash
5 - msoLineDashDot
6 - msoLineDashDotDot
7 - msoLineLongDash
8 - msoLineLongDashDot
9 - msoLineLongDashDotDot
10 - msoLineSysDash
11 - msoLineSysDot
12 - msoLineSysDashDot
PPT > Controls
> Add a new control
# Controls are ActiveX Controls or OLEObjects as described in VBA.
ppt.controls.add: slide=<SLIDE-NUMBER>; type=<CONTROL-TYPE>; name=<CONTROL-NAME>; x=<CONTROL-HORIZONTAL-POSITION>; y=<CONTROL-VERTICAL-POSITION>; w=<CONTROL-WIDTH>; h=<CONTROL-HEIGHT>;
​
PARAMETERS
SLIDE-NUMBER - Number of the slide where the control should be added.
CONTROL-TYPE - Type of the control. Can be textbox.
CONTROL-NAME - Name of the control.
CONTROL-HORIZONTAL-POSITION - Control's Left property.
CONTROL-VERTICAL-POSITION - Control's Top property.
CONTROL-WIDTH - Control's Width property.
CONTROL-HEIGHT - Control's Height property.
​
​
> Delete a control
ppt.controls.control: slide=<SLIDE-NUMBER>; control=<CONTROL-NAME>;
​
PARAMETERS
SLIDE-NUMBER - Number of the slide where the control is.
CONTROL-NAME - Name of the control.
​
> Set control property
ppt.controls.setproperty: slide=<SLIDE-NUMBER>; control=<CONTROL-NAME> property=<CONTROL-PROPERTY>; value=<PROPERTY-VALUE>;
​
PARAMETERS
SLIDE-NUMBER - Number of the slide where the control is.
CONTROL-NAME - Name of the control.
CONTROL-PROPERTY - The control's property that should be changed.
PROPERTY-VALUE - The new value of the control's property. See CONTROL PROPERTIES for a list of available properties.
​
CONTROL PROPERTIES
text - String
autowordselect - Boolean (Number) (0 - False (AutoWordSelect not enabled), any other number - True (AutoWordSelect enabled)). More information
back_color - RGB Long Number (between 0 and 16777215)
border_color - RGB Long Number (between 0 and 16777215)
border_style - Number index (0 (fmBorderStyleNone) or 1 (fmBorderStyleSingle))
enabled - Boolean (Number) (0 - False (control not enabled), any other number - True (control enabled))
font_name - String
font_size - Number
font_bold - Boolean (Number) (0 - False (bold disabled), any other number - True (bold enabled))
font_italic - Boolean (Number) (0 - False (italic disabled), any other number - True (italic enabled))
font_underline - Boolean (Number) (0 - False (underline disabled), any other number - True (underline enabled))
font_color - RGB Long Number (between 0 and 16777215)
position_x - Number (Horizontal position - Left property of control)
position_y - Number (Vertical position - Top property of control)
size_w - Number (Width property of control)
size_h - Number (Height Top property of control)
locked - Boolean (Number) (0 - False (not locked), any other number - True (locked))
maxlength - Number (0 (no limit) or integer greater than 0)
multiline - Boolean (Number) (0 - False (multiline disabled), any other number - True (multiline enabled))
passwordchar - String (empty (no passwordchar) or a single character)
specialeffect - Number (0 (fmSpecialEffectFlat), 1 (fmSpecialEffectRaised), 2 (fmSpecialEffectSunken), 3 (fmSpecialEffectEtched) or 6 (fmSpecialEffectBump))
textalign - Number (1 (fmTextAlignLeft), 2 (fmTextAlignCenter) or 3 (fmTextAlignRight))
visible - Boolean (Number) (0 - False (control not visible), any other number - True (control visible))
wordwrap - Boolean (Number) (0 - False (wordwrap disabled), any other number - True (wordwrap enabled)). More information
enterkeybehavior - Boolean (Number) (0 - False (enterkeybehavior disabled), any other number - True (enterkeybehavior enabled)). More information
User variables
> Create a new user variable
variables.new: name=<VARIABLE-NAME>; value=<VARIABLE-VALUE>;
​
PARAMETERS
VARIABLE-NAME - Name of the new variable.
VARIABLE-VALUE - Value of the new variable. (optional)
​
> Edit a user variable
variables.edit: name=<VARIABLE-NAME>; newvalue=<VARIABLE-VALUE>;
PARAMETERS
VARIABLE-NAME - Name of the variable.
VARIABLE-VALUE - New value of the variable.
> Use a user variable
Variables can be used in all parameters of actions/functions.
$var(<VARIABLE-NAME>)
System variables
> Use a system variable
Some system variables can be used as functions.
$<VARIABLE>
​
LIST OF SYSTEM VARIABLES
$datetime(<DATE-TIME-PARAMETER>) - Current system date and time
$char(<CHARACTER-NAME>) - Return a specific character
$chr(<ASCII-CODE>) - Return a specific character using VBA Chr function. More information
$presentation_path - Path of the active presentation
$rgb(r[<RED>]g[<GREEN>]b[<BLUE>])
$exc(<VBA-FUNCTION>) - Let's you execute VBA code. Use it to make mathematical calculations or run VBA functions.
​
PARAMETERS
DATE-TIME-PARAMETER - See DATE&TIME PARAMETERS for the list.
CHARACTER-NAME - See CHARACTERS NAMES for a list of available characters.
RED - Red value of RGB, Number (between 0 and 255)
GREEN - Green value of RGB, Number (between 0 and 255)
BLUE - Blue value of RGB, Number (between 0 and 255)
​
DATE&TIME PARAMETERS
day - Day of current system date.
month - Month of current system date.
year - Year of current system date.
weekday - Weekday of current system date.
hours - Hours of current system time.
minutes - Minutes of current system time.
seconds - Seconds of current system time.
​
Tip: to format the parameter to 2 digits (example: turn 4 to 04), add a # after the parameter (example: $datetime(day#))
Notes:
- Using this for the year parameter returns the last 2 digits (example: 2019 turns into 19).
- Using this for the weekday parameter returns the weekday day (example: on Sunday it returns 1 and on Wednesday it returns 4).
​
CHARACTERS NAMES AND IDS
dollar_sign - Dollar sign $
colon - Colon :
semicolon - Semicolon ;
equals_sign - Equals sign =
new_line - vbNewLine
VBA > Macros
> Add a new macro (sub)
vba.macros.add: name=<MACRO-NAME>; code=([<MACRO-CODE>]);
​
PARAMETERS
MACRO-NAME - Name of the new macro (sub) (cannot contain spaces and some special characters)
MACRO-CODE - The code of the new macro (sub)
​
EXAMPLE
vba.macros.add: name=MyMacro; code=([MsgBox "Hello world!"]);
​
In this example, the code added will look like this
Sub MyMacro()
MsgBox "Hello world!"
End Sub
​
​
> Edit a macro (sub)
vba.macros.edit: name=<MACRO-NAME>; code=([<MACRO-CODE>]);
​
PARAMETERS
MACRO-NAME - Name of the macro (sub) you want to edit (cannot contain spaces and some special characters)
MACRO-CODE - The new code of the macro (sub)
​
​
> Remove a macro (sub)
vba.macros.remove:<MACRO-NAME>;
​
> Run a macro (sub)
vba.macros.run:<MACRO-NAME>;
Misc
> Message box
msgbox: prompt=<MSG-BOX-PROMPT>; title=<MSG-BOX-TITLE>;
​
PARAMETERS
MSG-BOX-PROMPT - Text that is displayed in the message box.
MSG-BOX-TITLE - Title of the message box. (optional)
Examples
A Simple House
# Clear the slide
ppt.slideshow.clearslide:10;
​
# Chimney
ppt.shapes.add: slide=10; type=rectangle; name=chimney; x=160; y=90; w=30; h=60;
ppt.shapes.setproperty: slide=10; shape=chimney; property=fill_color; value=$rgb(r[50]g[50]b[50]);
ppt.shapes.setproperty: slide=10; shape=chimney; property=line_visible; value=0;
​
# Roof
ppt.shapes.add: slide=10; type=triangle; name=roof; x=100; y=50; w=290; h=160;
ppt.shapes.setproperty: slide=10; shape=roof; property=fill_color; value=$rgb(r[255]g[100]b[100]);
ppt.shapes.setproperty: slide=10; shape=roof; property=line_visible; value=0;
​
# Wall
ppt.shapes.add: slide=10; type=rectangle; name=wall; x=130; y=210; w=230; h=140;
ppt.shapes.setproperty: slide=10; shape=wall; property=fill_color; value=$rgb(r[60]g[150]b[230]);
ppt.shapes.setproperty: slide=10; shape=wall; property=line_visible; value=0;
​
# Door
ppt.shapes.add: slide=10; type=rectangle; name=door; x=222,5; y=270; w=45; h=80;
ppt.shapes.setproperty: slide=10; shape=door; property=fill_color; value=$rgb(r[50]g[50]b[50]);
ppt.shapes.setproperty: slide=10; shape=door; property=line_visible; value=0;
​
# Go to the slide
ppt.slideshow.gotoslide:10;
​
​
RESULT
Date and Time Display
# Clear the slide
ppt.slideshow.clearslide:10;
​
# Time
ppt.shapes.add: slide=10; type=rectangle; name=time; x=200; y=120; w=300; h=80;
ppt.shapes.setproperty: slide=10; shape=time; property=fill_color; value=$rgb(r[27]g[128]b[219]);
ppt.shapes.setproperty: slide=10; shape=time; property=line_visible; value=0;
ppt.shapes.setproperty: slide=10; shape=time; property=text; value=$datetime(hours#):$datetime(minutes#):$datetime(seconds#);
ppt.shapes.setproperty: slide=10; shape=time; property=font_name; value=Segoe UI;
ppt.shapes.setproperty: slide=10; shape=time; property=font_bold; value=1;
ppt.shapes.setproperty: slide=10; shape=time; property=font_size; value=30;
ppt.shapes.setproperty: slide=10; shape=time; property=shadow_visible; value=1;
ppt.shapes.setproperty: slide=10; shape=time; property=shadow_offset_x; value=0;
ppt.shapes.setproperty: slide=10; shape=time; property=shadow_offset_y; value=5;
ppt.shapes.setproperty: slide=10; shape=time; property=shadow_blur; value=15;
ppt.shapes.setproperty: slide=10; shape=time; property=shadow_transparency; value=0,6;
ppt.shapes.setproperty: slide=10; shape=time; property=shadow_size; value=104;
​
# Date
ppt.shapes.add: slide=10; type=rectangle; name=date; x=200; y=180; w=300; h=30;
ppt.shapes.setproperty: slide=10; shape=date; property=fill_color; value=$rgb(r[27]g[128]b[219]);
ppt.shapes.setproperty: slide=10; shape=date; property=line_visible; value=0;
ppt.shapes.setproperty: slide=10; shape=date; property=text; value=$datetime(weekday), $datetime(day#)/$datetime(month#)/$datetime(year#);
ppt.shapes.setproperty: slide=10; shape=date; property=font_name; value=Segoe UI;
ppt.shapes.setproperty: slide=10; shape=date; property=font_size; value=15;
​
# Go to the slide
ppt.slideshow.gotoslide:10;
​
​
RESULT
Login Page
# Clear the slide
ppt.slideshow.clearslide:10;
​
# Title (Login)
ppt.shapes.add: slide=10; type=rectangle; name=title; w=200; h=25; x=380; y=100;
ppt.shapes.setproperty: slide=10; shape=title; property=text; value=Login;
ppt.shapes.setproperty: slide=10; shape=title; property=fill_color; value=$rgb(r[255]g[255]b[255]);
ppt.shapes.setproperty: slide=10; shape=title; property=line_visible; value=0;
ppt.shapes.setproperty: slide=10; shape=title; property=font_color; value=0;
ppt.shapes.setproperty: slide=10; shape=title; property=font_size; value=24;
​
# TextBox for username
ppt.shapes.add: slide=10; type=rectangle; name=username; w=200; h=25; x=230; y=170;
ppt.shapes.setproperty: slide=10; shape=username; property=text; value=Username:;
ppt.shapes.setproperty: slide=10; shape=username; property=fill_color; value=$rgb(r[255]g[255]b[255]);
ppt.shapes.setproperty: slide=10; shape=username; property=line_visible; value=0;
ppt.shapes.setproperty: slide=10; shape=username; property=font_color; value=0;
ppt.controls.add: slide=10; type=textbox; name=txtbox_username; w=200; h=25; x=380; y=170;
​
# TextBox for password
ppt.shapes.add: slide=10; type=rectangle; name=password; w=200; h=25; x=233; y=210;
ppt.shapes.setproperty: slide=10; shape=password; property=text; value=Password:;
ppt.shapes.setproperty: slide=10; shape=password; property=fill_color; value=$rgb(r[255]g[255]b[255]);
ppt.shapes.setproperty: slide=10; shape=password; property=line_visible; value=0;
ppt.shapes.setproperty: slide=10; shape=password; property=font_color; value=0;
ppt.controls.add: slide=10; type=textbox; name=txtbox_password; w=200; h=25; x=380; y=210;
ppt.controls.setproperty: slide=10; control=txtbox_password; property=passwordchar; value=*;
​
# Button to login
ppt.shapes.add: slide=10; type=rectangle; name=btn_login; w=100; h=30; x=430; y=280;
ppt.shapes.setproperty: slide=10; shape=btn_login; property=text; value=Login;
ppt.shapes.setproperty: slide=10; shape=btn_login; property=fill_color; value=$rgb(r[27]g[128]b[219]);
ppt.shapes.setproperty: slide=10; shape=btn_login; property=line_visible; value=0;
ppt.shapes.setproperty: slide=10; shape=btn_login; property=font_color; value=$rgb(r[255]g[255]b[255]);
ppt.shapes.setproperty: slide=10; shape=btn_login; property=font_bold; value=1;
ppt.shapes.setproperty: slide=10; shape=btn_login; property=shadow_visible; value=1;
ppt.shapes.setproperty: slide=10; shape=btn_login; property=shadow_offset_x; value=0;
ppt.shapes.setproperty: slide=10; shape=btn_login; property=shadow_offset_y; value=3;
ppt.shapes.setproperty: slide=10; shape=btn_login; property=shadow_blur; value=8;
ppt.shapes.setproperty: slide=10; shape=btn_login; property=shadow_transparency; value=0,7;
ppt.shapes.setproperty: slide=10; shape=btn_login; property=shadow_size; value=98;
​
# Go to the slide
ppt.slideshow.gotoslide:10;
​
​
RESULT
Simple Addition Calculator
# Clear the slide
ppt.slideshow.clearslide:10;
​
# TextBox for the first number
ppt.controls.add: slide=10; type=textbox; name=txtbox_1stnum; w=200; h=25; x=380; y=170;
ppt.controls.setproperty: slide=10; control=txtbox_1stnum; property=border_style; value=1;
ppt.controls.setproperty: slide=10; control=txtbox_1stnum; property=border_color; value=$rgb(r[180]g[180]b[180]);
​
# Plus sign
ppt.shapes.add: slide=10; type=rectangle; name=btn_plussign; w=140; h=30; x=410; y=192;
ppt.shapes.setproperty: slide=10; shape=btn_plussign; property=text; value=+;
ppt.shapes.setproperty: slide=10; shape=btn_plussign; property=fill_color; value=$rgb(r[255]g[255]b[255]);
ppt.shapes.setproperty: slide=10; shape=btn_plussign; property=line_visible; value=0;
ppt.shapes.setproperty: slide=10; shape=btn_plussign; property=font_color; value=0;
ppt.shapes.setproperty: slide=10; shape=btn_plussign; property=font_bold; value=1;
ppt.shapes.setproperty: slide=10; shape=btn_plussign; property=font_size; value=16;
​
# TextBox for the second number
ppt.controls.add: slide=10; type=textbox; name=txtbox_2ndnum; w=200; h=25; x=380; y=220;
ppt.controls.setproperty: slide=10; control=txtbox_2ndnum; property=border_style; value=1;
ppt.controls.setproperty: slide=10; control=txtbox_2ndnum; property=border_color; value=$rgb(r[180]g[180]b[180]);
​
# calc macro
vba.macros.add: name=calc; code=([shapes("result").textframe.textrange.text="Result: "&(val(txtbox_1stnum.text)+val(txtbox_2ndnum.text))]);
​
# Button to calculate sum
ppt.shapes.add: slide=10; type=rectangle; name=btn_calc; w=140; h=30; x=410; y=280;
ppt.shapes.setproperty: slide=10; shape=btn_calc; property=text; value=Calculate sum;
ppt.shapes.setproperty: slide=10; shape=btn_calc; property=fill_color; value=$rgb(r[27]g[128]b[219]);
ppt.shapes.setproperty: slide=10; shape=btn_calc; property=line_visible; value=0;
ppt.shapes.setproperty: slide=10; shape=btn_calc; property=font_color; value=$rgb(r[255]g[255]b[255]);
ppt.shapes.setproperty: slide=10; shape=btn_calc; property=font_bold; value=1;
ppt.shapes.setproperty: slide=10; shape=btn_calc; property=font_size; value=16;
ppt.shapes.setproperty: slide=10; shape=btn_calc; property=shadow_visible; value=1;
ppt.shapes.setproperty: slide=10; shape=btn_calc; property=shadow_offset_x; value=0;
ppt.shapes.setproperty: slide=10; shape=btn_calc; property=shadow_offset_y; value=3;
ppt.shapes.setproperty: slide=10; shape=btn_calc; property=shadow_blur; value=8;
ppt.shapes.setproperty: slide=10; shape=btn_calc; property=shadow_transparency; value=0,7;
ppt.shapes.setproperty: slide=10; shape=btn_calc; property=shadow_size; value=98;
ppt.shapes.setproperty: slide=10; shape=btn_calc; property=onclickaction; value=macro;
ppt.shapes.setproperty: slide=10; shape=btn_calc; property=onclickaction_macro; value=calc;
​
# Shape for the result
ppt.shapes.add: slide=10; type=rectangle; name=result; w=140; h=30; x=410; y=325;
ppt.shapes.setproperty: slide=10; shape=result; property=text; value=Result: 0;
ppt.shapes.setproperty: slide=10; shape=result; property=fill_color; value=$rgb(r[255]g[255]b[255]);
ppt.shapes.setproperty: slide=10; shape=result; property=line_visible; value=0;
ppt.shapes.setproperty: slide=10; shape=result; property=font_color; value=0;
ppt.shapes.setproperty: slide=10; shape=result; property=font_bold; value=1;
ppt.shapes.setproperty: slide=10; shape=result; property=font_size; value=16;
​
# Go to the slide
ppt.slideshow.gotoslide:10;
​
​
RESULT