Reputation: 11
I have created a macro to update values in several cells and I would like to have a msgbox pop up to confirm the execution of the macro.
function myfunction() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('I22').activate();
spreadsheet.getRange('J22').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet.getRange('L22').activate();
spreadsheet.getRange('O22').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet.getRange('H22').activate();
spreadsheet.getCurrentCell().setValue('0');
spreadsheet.getRange('K22').activate();
spreadsheet.getCurrentCell().setValue('0');
spreadsheet.getRange('M22').activate();
spreadsheet.getCurrentCell().setValue('0');
spreadsheet.getRange('N22').activate();
};
I would like to have the above script to run only when "OK" is clicked from the below msgBox.
Browser.msgBox("title", "message.", Browser.Buttons.OK_CANCEL);
To sum up, when myfunction is executed,
Upvotes: 1
Views: 1752
Reputation: 6481
Try something like this:
var response = Browser.msgBox('Greetings', 'Do you want to run the script?', Browser.Buttons.YES_NO);
if (response == "yes") {
myfunction();
} else {
Logger.log('The user clicked "No" or the dialog\'s close button.');
}
You can also refer to the documentation https://developers.google.com/apps-script/guides/dialogs
Upvotes: 3