Merhaba,
Bir klasör içinde birden fazla Excel dosyam mevcut. Amacım yazdığım makronun, klasöre her yeni bir Excel dosyası eklediğimde bir önceki güne ait Excel dosyası ile içereğini karşılaştırması ve farklı olan verileri bir txt dosyasına yazdırması. Bunu Excel VBA kullanarak nasıl yapabilirim?
Excel dosyalarındaki verileri karşılaştırmak
-
- Mesajlar: 4
- Kayıt: Sal Kas 14, 2023 3:21 pm
- Lokasyon: İstanbul
- Meslek: Yazılım Mühendisi
- Adınız: Mehmet Ali
- Soyadınız: Karabulut
-
- Mesajlar: 4
- Kayıt: Sal Kas 14, 2023 3:21 pm
- Lokasyon: İstanbul
- Meslek: Yazılım Mühendisi
- Adınız: Mehmet Ali
- Soyadınız: Karabulut
Re: Excel dosyalarındaki verileri karşılaştırmak
Merhaba,
Bu sorunun cevabı olarak aşağıdaki kodları şu adresten buldum : https://www.excel.web.tr/threads/outloo ... me.176473/
Ama Set objNS = Application.GetNamespace("MAPI") satırında hata alıyorum sebebi ne olabilir?
Bu sorunun cevabı olarak aşağıdaki kodları şu adresten buldum : https://www.excel.web.tr/threads/outloo ... me.176473/
Ama Set objNS = Application.GetNamespace("MAPI") satırında hata alıyorum sebebi ne olabilir?
Kod: Tümünü seç
Public Sub mailleri_kaydet()
Dim coll As VBA.Collection
Dim obj As Object
Dim Atts As Outlook.Attachments
Dim Att As Outlook.Attachment
Dim Sel As Outlook.Selection
Dim i&, Msg$
Dim lFileNr As Long
Set objNS = Application.GetNamespace("MAPI")
Set Inbox = objNS.PickFolder
If TypeName(Inbox) <> "Nothing" Then
If Inbox.Items.Count = 0 Then
MsgBox "Seçilen " & Inbox & " klasöründe mail bulunamadı", vbInformation, "Mail bulunamadı."
Exit Sub
End If
Else
Set Inbox = Nothing
Set objNS = Nothing
Exit Sub
End If
kaydetklasor = "c:\temp"
For Each obj In Inbox.Items
sExt = ".msg"
sname = isimtemizle(obj.Subject)
dtDate = obj.ReceivedTime
sname = Format(dtDate, "yyyymmdd", vbUseSystemDayOfWeek, _
vbUseSystem) & Format(dtDate, "-hhnnss", _
vbUseSystemDayOfWeek, vbUseSystem) & "-" & sname & sExt
obj.SaveAs kaydetklasor & "\" & sname, olSaveAsMsg
Next
End Sub
Function isimtemizle(strFileNameIn As String) As String
Dim i As Integer
Const strIllegals = "\/|?@*<>"":"
For i = 1 To Len(strIllegals)
strFileNameIn = Replace(strFileNameIn, Mid$(strIllegals, i, 1), "_")
Next i
isimtemizle = strFileNameIn
End Function
-
- Mesajlar: 7
- Kayıt: Pzr Şub 18, 2024 12:05 am
- Adınız: Erol
- Soyadınız: PEHLIVANOGLU
Re: Excel dosyalarındaki verileri karşılaştırmak
makarabulut yazdı: ↑Cum Şub 02, 2024 4:05 pm Merhaba,
Bu sorunun cevabı olarak aşağıdaki kodları şu adresten buldum : https://www.excel.web.tr/threads/outloo ... me.176473/
Ama Set objNS = Application.GetNamespace("MAPI") satırında hata alıyorum sebebi ne olabilir?
Kod: Tümünü seç
Public Sub mailleri_kaydet() Dim coll As VBA.Collection Dim obj As Object Dim Atts As Outlook.Attachments Dim Att As Outlook.Attachment Dim Sel As Outlook.Selection Dim i&, Msg$ Dim lFileNr As Long Set objNS = Application.GetNamespace("MAPI") Set Inbox = objNS.PickFolder If TypeName(Inbox) <> "Nothing" Then If Inbox.Items.Count = 0 Then MsgBox "Seçilen " & Inbox & " klasöründe mail bulunamadı", vbInformation, "Mail bulunamadı." Exit Sub End If Else Set Inbox = Nothing Set objNS = Nothing Exit Sub End If kaydetklasor = "c:\temp" For Each obj In Inbox.Items sExt = ".msg" sname = isimtemizle(obj.Subject) dtDate = obj.ReceivedTime sname = Format(dtDate, "yyyymmdd", vbUseSystemDayOfWeek, _ vbUseSystem) & Format(dtDate, "-hhnnss", _ vbUseSystemDayOfWeek, vbUseSystem) & "-" & sname & sExt obj.SaveAs kaydetklasor & "\" & sname, olSaveAsMsg Next End Sub Function isimtemizle(strFileNameIn As String) As String Dim i As Integer Const strIllegals = "\/|?@*<>"":" For i = 1 To Len(strIllegals) strFileNameIn = Replace(strFileNameIn, Mid$(strIllegals, i, 1), "_") Next i isimtemizle = strFileNameIn End Function
Outlook namespace olan objNS objesini şu şekilde ayarlayıp dener misin?
Kod: Tümünü seç
Dim objApp As Outlook.Application
Set objApp = New Outlook.Application
Set objNS = objApp.GetNamespace("MAPI")
-
- Benzer Konular
- Cevaplar
- Görüntüleme
- Son mesaj
-
- 1 Cevaplar
- 342 Görüntüleme
-
Son mesaj gönderen erseldemirel
-
-
Excel Formüllerinden Onedrive Linkini Kaldırma Hk.
gönderen Gokhan78 » » forum Diğer Excel Paylaşımları - 0 Cevaplar
- 1729 Görüntüleme
-
Son mesaj gönderen Gokhan78
-
-
- 3 Cevaplar
- 1963 Görüntüleme
-
Son mesaj gönderen erseldemirel
-
- 8 Cevaplar
- 343 Görüntüleme
-
Son mesaj gönderen erseldemirel
-
- 0 Cevaplar
- 91 Görüntüleme
-
Son mesaj gönderen martin_06