Good morning,
I have a requirement to email a specific column range from a Google Sheets tab into a PDF and ensure all other columns are not included in the email. I have created a function in Apps script to email column range (A1:F105) from worksheet tab: Email Invoice.
Problem - Although the function sends the email in pdf format, the entire worksheet tab is included, not the specified range. Also as the function runs, several of the other columns are hidden, but it doesn't un-hide the worksheet tabs as needed.
Below I have provided the function, identifying a solution is greatly appreciated. Thanks!
function sendReport() {
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Fuel Usage").hideSheet();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Gross Metrics").hideSheet();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Historical Tracking Metrics").hideSheet();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Scale Ticket Form").hideSheet();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Pay Stub").hideSheet();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Lookups").hideSheet();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Trucking Data").hideSheet();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Indexes").hideSheet();
var driverName = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Email Invoice").getRange("J7");
var driveremail = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Email Invoice").getRange("J14");
var range = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Email Invoice").getRange("A1:F105");
var emailDriverName = driverName.getValue();
var driveremailaddr = driveremail.getValue();
var printrange = range.getValue();
var message = {
to: driveremailaddr,
subject: "Loads by " + emailDriverName,
body: "Please do not respond to this email as it is an unmonitored address.\n\nIf you have any questions please call User or email example-email2.com\n\nSee Attachment",
cc: 'example-email@gmail.com',
// {cc: 'example-email2.com',attachments:[att]}
attachments: [SpreadsheetApp.getActiveSpreadsheet().getAs(MimeType.PDF).setName("Load Invoice")]
}
MailApp.sendEmail(message);
{
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Fuel Usage").activate();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Gross Metrics").activate();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Historical Tracking Metrics").activate();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Scale Ticket Form").activate();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Pay Stub").activate();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Lookups").activate();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Trucking Data").activate();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Indexes").activate();
}
}