I'm currently creating an office script to send email from excel online(hosted in onedriveforbusiness). The components of the email am extracting from excel cell values. Have done a research and it looks to me that office script has syntax similar to javascript or typescript. I'm also not sure if the language used is javascript or typescript, kindly clarify for me on that.
In summary
Below is the sample code office script have written and its failing when i run it.
function main(workbook: ExcelScript.Workbook) {
// Your code here
// select a sheet
let selected_sheet = workbook.getActiveWorksheet()
// get subject
let subject = selected_sheet.getRange("C2")
let subject_ = subject.getValue()
// get body
let body = selected_sheet.getRange("E2")
let body_ = body.getValue()
// to email
let receivembx = selected_sheet.getRange("B2")
let receivembx_ = receivembx.getValue()
// from email
let sendmbx = "emailhere"
let pwd_ = "passwordhere"
Email.send({
Host: "smtp.office365.com",
Username: sendmbx,
Password: pwd_,
To: receivembx_,
From: sendmbx,
Subject: subject_,
Body: body_,
}).then(
console.log("mail sent successfully")
);
console.log(sendmbx)
}
The code editor you're using has more limited capabilities so you aren't permitted to directly send emails. With VBA this is somewhat intuitive as VBA has the power to do a lot with your PC (perhaps too much). You would be better off to try to use powerapps.
Since you asked for an example, consider this one from Microsoft.
Note that you can capture fields from an table in excel so that's how you would get a dynamic email address per message, etc.
You are using TypeScript, but very similar. The difference is described as:
"Office Scripts are written in TypeScript, which is a superset of JavaScript. The Action Recorder generates code in TypeScript and the Office Scripts documentation uses TypeScript. Since TypeScript is a superset of JavaScript, any scripting code that you write in JavaScript will work just fine."