简体   繁体   中英

How to send email in office 365 using office script excel online

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

  1. I need a code sample on how to send email from office script in excel online(office 365)
  2. I need to know what language is being used in office script, is it javascript or typescript.

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)
}

Upon running that code, i get在此处输入图像描述 在此处输入图像描述

Below is the snip for the excel online and office script. 在此处输入图像描述

Question 1

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.

Question 2

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. "

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM