Excel'den Mail Göndermede Hata

Katılım
3 Mayıs 2005
Mesajlar
453
Excel Vers. ve Dili
2010 - Eng
İki tane dosyam var biri ADO ile veritabanından veriyi alıyor diğeri de dış veri al ile veri alıyor. Ayrıca web sayfalarından veri al ile döviz kurlarını aldığım üç tane veri var her ikisinde de aynı. 2005 ile ilgili verileri her ikisinden de alıp aşağıdaki aynı kod ile mail gönderiyordum. Ancak 2006 ile ilgili değişiklikleri yaptıktan sonar her iki dosyada da şimdi dış veri al ile yaptığım dosya mail gönderirken "wb2.Names(i).Delete" kodunu göstererek "that name is not valid" diye bir hata veriyor ama diğeri aynı kodla sorunsuz gönderiyor. Acaba sorun ne olabilir.
Kod:
Sub Mail_Workbook_2()
    Dim wb1 As Workbook
    Dim wb2 As Workbook
    Dim wbname As String
    Dim Sil As VBIDE.VBComponent
    Addr = Array("a@r.com.tr", "b@r.com.tr")
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Sheets(1).Range("A1").Select
    Selection.Copy
     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    ActiveWorkbook.Password = ""
    
    Set wb1 = ActiveWorkbook
    wbname = "C:/" & _
    Format(Now, "dd.mm.yyyy") & ".xls"
    wb1.SaveCopyAs wbname
    
    Set wb2 = Workbooks.Open(wbname)
    With wb2
        For i = wb2.Names.Count To 1 Step -1
        [color=red]wb2.Names(i).Delete[/color]
        Next

  For Each MyMod In wb2.VBProject.VBComponents
        NoOfLines = MyMod.CodeModule.CountOfLines
        MyMod.CodeModule.DeleteLines 1, NoOfLines
        If Not MyMod.Type = 100 Then
            wb2.VBProject.VBComponents.Remove MyMod
        End If
    Next
Sheets("Silinecek Veriler").Select
    ActiveWindow.SelectedSheets.Delete
Sheets(1).Select
Sheets(1).Shapes("Button 5").Select
Selection.Delete
Sheets(1).Shapes("Button 7").Select
Selection.Delete
 Sheets(1).Select
   Range("A1").Select
        .SendMail Addr, Format(Now, "dd.mm.yyyy") & " Tarihli Rapor"
        .ChangeFileAccess xlReadOnly
        Kill .FullName
        .Close False
    End With
 
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    Sheets("GENEL").Range("A1").Value = "=today()"
    ActiveWorkbook.Password = ""
End Sub
 
Katılım
3 Mayıs 2005
Mesajlar
453
Excel Vers. ve Dili
2010 - Eng
Bu konuda da yardımcı olabilecek varsa çok makbule geçecek
 
Üst