Mehmet Sait
Altın Üye
- Katılım
- 19 Ekim 2009
- Mesajlar
- 840
- Excel Vers. ve Dili
- Office 2016 TR
- Altın Üyelik Bitiş Tarihi
- 08-09-2028
Merhaba,
Aşağıda ki kod ile raporları raporları PDF yapıp e-mail gönderiyorum. Aynı bu mantık ile PDF değilde excel sayfası oluşturmak istiyorum. Kodlarda ne gibi değişiklik yapılmalıyım.
Teşekkür ederim.
Aşağıda ki kod ile raporları raporları PDF yapıp e-mail gönderiyorum. Aynı bu mantık ile PDF değilde excel sayfası oluşturmak istiyorum. Kodlarda ne gibi değişiklik yapılmalıyım.
Teşekkür ederim.
Kod:
Sub Raporlama()
Application.ScreenUpdating = False
Dim IsCreated As Boolean
Dim i As Long
Dim PdfFile As String, Title As String
Dim OutlApp As Object
Dim nesne As Object
Dim yol As String, masaustuyolu As String
Dim sor: Dim m As Long: Dim pdff As String: Dim pdff2 As String
Dim altklas As String, s1 As Worksheet
Set s1 = Sheets("Raporlama")
Dim s2 As Worksheet
Dim st
Dim arm As Range, df As String
If s1.[B11] <> "" Then
df = Split(Trim(s1.[B11].Value), " ÜRETİM")(0)
st = MsgBox(df & " Üretim Değerlendirme Güncellenmesi yapılsın mı?", vbYesNo)
If st = vbYes Then
Set s2 = Sheets("Üretim Değerlendirme")
s2.Activate
Set arm = s2.Rows("2:2").Find(df, , xlValues, xlPart, xlByRows, , False, , False)
If Not arm Is Nothing Then
arm.Select
'*************************************************'
Call Sheets("Üretim Değerlendirme").kopru
'*************************************************'
s1.Activate
Else
st = MsgBox("Güncelleme yapılamadı işlem sonlansınmı?", vbYesNo)
If st = vbNo Then Exit Sub
End If
End If: End If
If WorksheetFunction.CountA(s1.Range("R1:R7")) <> 7 Then
MsgBox "Rapor Ayını Yenileyiniz"
Exit Sub
End If
If s1.[B11] = "" Then
s1.[B11].Select
MsgBox "Rapor seçiniz"
Exit Sub
End If
'...............................................
'..................................................................
Set nesne = CreateObject("Scripting.FileSystemObject")
masaustuyolu = CreateObject("Wscript.Shell").SpecialFolders("Desktop")
yol = masaustuyolu & "\" & Format(Date, "yyyy") & " Üretim Raporları"
If nesne.FolderExists(yol) = False Then nesne.CreateFolder yol
altklas = Format(Date, "dd.mm.yyyy") & " " & " - " & [B11]
yol = yol & "\" & altklas
If nesne.FolderExists(yol) = False Then nesne.CreateFolder yol
sayfalar = Array("Üretim Veri Analizi", "Dönemsel Karşılaştırma", "Aylık", "Ürün ve Marka Bazında", _
"Aylık Performans", "Hurda İcmali", "Üretim Değerlendirme")
For m = 0 To UBound(sayfalar)
pdff = Trim(s1.Range("R" & m + 1).Text) & ".pdf"
Sheets(sayfalar(m)).ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=yol & "\" & pdff, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
'------------------------------------------
Sheets(sayfalar(m)).Protect Password:="699"
'------------------------------------------
pdff2 = pdff2 & pdff
Next
Range("R1:R7") = ""
sor = MsgBox("Dosyalar " & vbCrLf & yol & vbCrLf & "Klasörüne kaydedildi" & vbCrLf & _
"MAİL GÖNDERİLSİNMİ?", vbYesNo)
If sor = vbNo Then Exit Sub
If Range("C2") = "" Then MsgBox "Mail Adresi Yazınız": [C2].Select: Exit Sub
Title = Range("B11")
Kime = Range("C2")
Bilgi = Range("C3")
Gizli = Range("C4")
Mesaj = Range("C5")
On Error Resume Next
Set OutlApp = GetObject(, "Outlook.Application")
If Err Then
Set OutlApp = CreateObject("Outlook.Application")
IsCreated = True
End If
OutlApp.Visible = True
On Error GoTo 0
With OutlApp.CreateItem(0)
.Subject = Title
.To = Kime
.CC = Bilgi ' bilgi olarak kime
.BCC = Gizli
.Body = Mesaj
'"....," & vbLf & vbLf _
' & " ....." & vbLf & vbLf _
' & "...." & vbLf _
' & [C81] & vbLf _
' & [C83] & vbLf & vbLf
For t = 0 To UBound(Split(pdff2, ".pdf")) - 1
.Attachments.Add yol & "\" & Split(pdff2, ".pdf")(t) & ".pdf"
Next
On Error Resume Next
.Send
Application.Visible = True
If Err Then
MsgBox "E-mail gonderilemedi", vbExclamation, " "
Else
MsgBox " E-mail gonderildi... İşleminiz tamamlanmıştır..! ", vbInformation, " MSC "
End If
On Error GoTo 0
End With
Application.ScreenUpdating = True
If IsCreated Then OutlApp.Quit
Set OutlApp = Nothing
End Sub