Soru VBA İle Excel'den Word'e Aktarım Kayıt Hatası

Katılım
16 Mayıs 2022
Mesajlar
7
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
17-05-2023
Merhaba, excel'den word'e aktarım yapmak ile ilgili bütün soruları kontrol ettim ama sorumun cevabını bulamadım, rica etsem aşağıdaki sorumla ilgili yardımcı olabilir misiniz?

Excel'den word'e transfer yaptığım bir dosyam var ve bu dosya ile ilgili birkaç konuda yardıma ihtiyacım var.

* kodlarım aşağıda bulunuyor, işlem çalışıyor, dosyalarım oluşuyor fakat her kayıt işlemi sonrası aynı hatayı alıyorum, herşeyi kontrol ediyorum ama hatanın sebebini bulamadım, nerede hata yapıyorum sizce?

* yaptığım işlem sonrasında word dosyalarım çoğunlukla read only olarak takılıyor, bunun nedeni ne olabilir, kayıt işlemin ?

* dosyaları farklı kayıt ederken, cells(i,3)'ün yanına günün tarihini ya da excelde ilgili kayıtın bulunduğu line number'i eklemek istesem nasıl bir kod yazmam gerekir?

* dosya kayıt işlemi tamamlandıktan sonra "kayıt tamamlandı" gibi bir uyarı mesajı için nasıl bir kod yazmalıyım?

Yardımınız için şimdiden çok teşekkür ederim.

242524
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,828
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

cells(i,3).text devamına & date & ".docx" yazın
Bu satırın tamamını Next i satırının altına taşıyın.
Mesaj almak için bu satırın altına msgbox "Kayıt tamamlandı." satırını ekleyin.

Eğer olmazsa dosyanızı ekleyin kontrol edelim.
 
Katılım
16 Mayıs 2022
Mesajlar
7
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
17-05-2023
Merhaba Muzaffer Bey, öncelikle yardımınız için teşekkür ederim.
Dosyamı ekledim, belirttiğiniz değişiklikleri yaptım, bu durumda şu sorunu yaşadım; benim excel dosyamda mektup yapılacak birden fazla satır var ama bu şekilde next i'nin altına yazdığımda sadece bir dosya alıyorum ve bu dosyanın içine de ikinci satırdaki bilgileri de yazıyor. Ben dosyamda kaç satırda bilgi girilmiş ise o kadar wordde mektup almak istiyordum. Bunu sağlamak için yapabileceğim bir kod var mı? Sanki ben biryerde hata yapıyorum.

242528
 

Ekli dosyalar

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,828
Excel Vers. ve Dili
2019 Türkçe
Next i altına aldığımız kodu tekrar eski yerine alın sanırım sorun çözülecektir.
 
Katılım
16 Mayıs 2022
Mesajlar
7
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
17-05-2023
o şekilde de denedim Muzaffer Bey, o durumda sorun ilk sorumda olduğu gibi "yaptığım işlem sonrasında word dosyalarım read only olarak takılıyor" word dosyaları bir şekilde sistemde açık kalıyor. Görev yöneticisinden baktığımda word dosyası açık değil ama dosyalar ready only kaldığı için yeni bir görev çalıştıramıyorum, düzelmesi için de her seferinde bilgisayarı yeniden başlatmam gerekiyor.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,760
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Bu kodu bir dene

Rich (BB code):
Private Sub CommandButton1_Click()

Dim doc As Word.Document

For i = 2 To Cells(Rows.Count, "a").End(3).Row

Set wordapp = CreateObject("word.application")
Teminat = "C:\Users\atar\Desktop\Teminat Mektupları\Mektup\Teminat.docx"
'Teminat = ThisWorkbook.Path & "\deneme1.doc"
Set doc = wordapp.Documents.Open(Filename:=Teminat, ReadOnly:=True)
wordapp.Visible = True


doc.Bookmarks("Tarih").Range.InsertAfter Cells(i, 9)
doc.Bookmarks("Icra").Range.InsertAfter StrConv(Cells(i, 1), vbProperCase)
doc.Bookmarks("Icrano").Range.InsertAfter StrConv(Cells(i, 2), vbProperCase)
doc.Bookmarks("adsoyad").Range.InsertAfter StrConv(Cells(i, 3), vbProperCase)
doc.Bookmarks("Mahkeme").Range.InsertAfter StrConv(Cells(i, 4), vbProperCase)
doc.Bookmarks("Mahkemeno1").Range.InsertAfter StrConv(Cells(i, 6), vbProperCase)
doc.Bookmarks("Mahkemeno2").Range.InsertAfter StrConv(Cells(i, 7), vbProperCase)
doc.Bookmarks("Tutar").Range.InsertAfter Format(Cells(i, 8), "#,##0.00")
doc.Bookmarks("TutarYazı").Range.InsertAfter Cells(i, 10)

Teminat2 = "C:\Users\atar\Desktop\Teminat Mektupları\Mektup"
sat = CreateObject("Scripting.FileSystemObject").GetFolder(Teminat2).Files.Count
'doc.SaveAs ThisWorkbook.Path & "\deneme " & sat & ".doc"
doc.SaveAs "C:\Users\atar\Desktop\Teminat Mektupları\Mektup\" & Cells(i, 3) & sat & ".docx"
doc.Close SaveChanges:=wdSaveChanges


Set doc = Nothing

Next i

wordapp.Quit

MsgBox "Kayıt tamamlandı."

End Sub
 
Son düzenleme:
Katılım
16 Mayıs 2022
Mesajlar
7
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
17-05-2023
Merhaba Halit Bey, öncelikle teşekkür eder,m. İlgili kodu denediğimde de aşağıdaki hatayı aldım fakat zaten bu kodda end(3).row yazdığımız için satır sayısı 3'e kadar gitmez mi? Benim yapmak istediğim ise standartta eğer dolu ise 150 satırlık bir datayı mektup yapması, eğer 150 satır dolu değil ise dolu satır kadar mektup yapması. Zira eğer tek satır ya da baştan belli olan bir satır sayısında yapmak istersem yukarıda Muzaffer Beyin vermiş olduğu kod düzgün çalışmaktaydı.



242534
 
Katılım
16 Mayıs 2022
Mesajlar
7
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
17-05-2023
Merhaba, bu konuda yol gösterebilir misiniz?
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,760
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
For i = 2 To Cells(Rows.Count, "a").End(3).Row

yukarıdaki kod a sutunundaki son dolu satıra kadar dır anlamına gelir.
yani son dolu satırınız 180 ise yüz seksen anlamına gelir diğer taraftan
Teminat.docx dosyanızı buraya bir ekleyiniz de kodların nerede hata yaptığını anlayalım.
muhtemelen dosya korumalı gibi gözüküyor.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,760
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Örnek dosya ekliyorum dosyaları rar dan çıkart dosyalar yan yana dursun yani aynı klasörün içinde dursun ve excell dosyasını aç kodu çalıştır sonuçları gözlemle.

Not: bu uygulama örnek uygulamadır sizin dosyanızla bir ilgisi yoktur.
 

Ekli dosyalar

Katılım
16 Mayıs 2022
Mesajlar
7
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
17-05-2023
Halit Bey, yardımınız, ilginiz için çok teşekkür ederim ama yok maalesef bir türlü bu sorunu aşamıyorum, sizin dosyanızı dediğiniz gibi yaptım, masa üstüne indirdim, çalıştır dedim aşağıdaki hatayı aldım bu seferde, word dosyasında da , excel de de gidip ayarlardan korumalı görünümleri kaldırdım, sürekli bu hatayı alıyorum ve macroyu çalıştırdığımda word kapalı şekilde çalıştırıyorum, hata aldıktan sonra açmaya çalıştığımda da ready only açıyor.
Benim bilgisayarımda mı bir sorun var, ayarlarda mı hata var hiç anlamıyorum gerçekten, nerede sorun olabilir sizce?

242575

242574

242573
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,760
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Bilgisayarınız kısıtlımı?
kısıtlı olmayan farklı bilgisayarlardan birinde deneyiniz.
birde referansların ekran görüntüsünü ekleyin ona da bir bakalım.
 
Üst