This is possible via the Google Script which you can find here
I adjusted the script to make it possible to filter on Label and skip the newest messages.
https://docs.google.com/spreadsheet/ccc?key=0Ai8p-jhLBDB2dGtyWVc5cm9MTFZQVks0U2x0QloyN0E&newcopy=true
The code of the script can be found here:
var sheet = SpreadsheetApp.getActiveSheet();
var spreadsheet=SpreadsheetApp.getActiveSpreadsheet();
function getEmails()
{
sheet.getRange("A8:C108").clear();
var label = GmailApp.getUserLabelByName(sheet.getRange(4,2).getValue());
var threads = label.getThreads(sheet.getRange(5,2).getValue(), sheet.getRange(6,2).getValue());
var row = getFirstRow()+1;
var firstmessageId=getfirstmsgid();
UserProperties.setProperty("firstmsgid", firstmessageId);
spreadsheet.toast("Loading emails..Please wait. It could take few seconds", "Status", -1);
for (var i = 0; i < threads.length; i++)
{
try{
var messages=threads[i].getMessages();
for (var m=0; m<messages.length; m++)
{
sheet.getRange(row,1).setValue(messages[m].getFrom());
sheet.getRange(row,2).setValue(messages[m].getSubject());
sheet.getRange(row,3).setValue(messages[m].getDate());
row++;
}
}
catch(error)
{
spreadsheet.toast("Error Occured. Report it @ http://techawakening.org/", "Status", -1);
}
if(i==threads.length-1)
{
spreadsheet.toast("Successfully loaded emails.", "Status", -1);
spreadsheet.toast("Now mark emails to be forwarded by changing the background color of the cells to green. Then select Forward->Forward selected emails", "Status", -1);
}
}
}
function getFirstRow() {
var start=10;
return start;
}
function getfirstmsgid(){
var threads = GmailApp.getInboxThreads(0, 1);
var message = threads[0].getMessages()[0];
var firstmessageId = message.getId();
return firstmessageId;
}
function emailstoforward()
{
var row = getFirstRow()+1;
var email= sheet.getRange(3,2).getValue();
var isanyforwarded=0;
var firstmsg=UserProperties.getProperty("firstmsgid");
var firstmessageId=getfirstmsgid();
spreadsheet.toast("Please wait while we forward your emails. It could take few seconds", "Status", -1);
if(email!="")
{
if(firstmsg==firstmessageId)
{
var label = GmailApp.getUserLabelByName(sheet.getRange(4,2).getValue());
var threads = label.getThreads(sheet.getRange(5,2).getValue(), sheet.getRange(6,2).getValue());
for (var i = 0; i < threads.length; i++)
{
try{
var messages=threads[i].getMessages();
for (var m=0; m<messages.length; m++)
{
var rowcolor= sheet.getRange(row,2).getBackgroundColor();
if( rowcolor == '#00ff00' || rowcolor=='green')
{
messages[m].forward(email);
sheet.getRange(row,2).clearFormat();
isanyforwarded=1;
}
row++;
}
}
catch(err)
{
}
if(i==threads.length-1 && isanyforwarded== 1 )
{
spreadsheet.toast("Done. Forwarded all messages", "Status", -1);
}
}
}
else
{
spreadsheet.toast("New emails have been found or Emails have been deleted. Updating the Sheet again", "Status", 8);
getEmails();
}
}//end if
else
{
Browser.msgBox("Enter atleast one email address in B3 cell");
}
}
function clearcanvas()
{
sheet.getRange("A8:C108").clear();
sheet.getRange(3,2).clear();
}
function onOpen() {
var menuEntries = [ {name: "Load Emails", functionName: "getEmails"},
{name: "Forward selected emails", functionName: "emailstoforward"},
{name: "Refresh Email list", functionName: "getEmails"},
{name: "Clear canvas", functionName: "clearcanvas"}
];
spreadsheet.addMenu("Forward", menuEntries);
}
Cell B2 should hold the forward address, Cell B3 the label name to filter by, Cell B4 the number of conversation to skip (default 0), Cell B5 should contain the number of conversations to download.