VBA用Gmail发送邮件

我想从工作表复制范围(a1:k38)到一个新的工作簿,然后新的工作簿必须由gmail发送。 邮件发送工作,但附件不能打开,说它的腐败,如果我附加另一个.xls文件。 另外我不能得到的代码工作复制范围与图片到newworkbook。

我到目前为止

TempFilePath = Environ$("temp") & "\" TempFileName = "Copy of " & wb.Name & " " & Format(Now, "dd-mmm-yy h-mm-ss") FileExtStr = "." & LCase(Right(wb.Name, Len(wb.Name) - InStrRev(wb.Name, ".", , 1))) wb.SaveCopyAs TempFilePath & TempFileName & FileExtStr Set iMsg = CreateObject("CDO.Message") Set iConf = CreateObject("CDO.Configuration") iConf.Load -1 ' CDO Source Defaults Set Flds = iConf.Fields With Flds .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "someone@gmail.com" .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*******" .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com" .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 .Update End With With iMsg Set .Configuration = iConf .To = "me@hotmail.com" .CC = "" .BCC = "" .From = """Dave"" <me@hotmail.com>" .Subject = "New form" .AddAttachment TempFilePath & TempFileName & FileExtStr .Send End With Kill TempFilePath & TempFileName & FileExtStr