İ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