Skip to main content

AccessTr.neT M.


Önce Bul Sonra Kaydet Veya Farklı Kaydet

Önce Bul Sonra Kaydet Veya Farklı Kaydet

Çözüldü #1
Üstatlar kolay gelsin ,

Ben exel de yapmış olduğum makrolu bir dosyamı ilk açılıştan 1 saniye sonra farklı isimde kaydediyorum birden fazla kullanıcı programı kullandığı için kimse sorun yaşamadan kullanım yapması için böyle bir çözüm bulmuştum kendimce.
sonra dosyada değişiklik yapıldıktan sonra yani bilgiler girildikten sonra logo ekledim logoya tıkladıkları zaman belirtilen hücrelerdeki bilgiler ile kayıt yapıyor.
buraya kadar sorunsuz bir şekilde 5 aydır kullanıyoruz.
ama kayıt ettiğim dosyayı daha sonra yeniden açtığım zaman üzerinde yine değişiklik yaptıktan sonra aynı logoya tıkladığımda yeniden farklı kaydediyor.
ben kaydetme işlemine tarih eklediğim için 1 gün sonra açınca doğal olarak dosyayı o günün tarihi ile yeniden kaydediyor.
benim günlerdir aradığım ve istediğim, kaydedilecek klasör içinde önce *.xlsm dosya uzantısı var mı yok mu baksın varsa eğer onun üzerine kaydetsin yoksa zaten benim farklı kaydet makrom ile kaydetme işlemini gerçekleştiriyorum.

şimdiden herkese çok teşekkür ederim...

Cevapla
#2
xlsm dosyasının olup olmadığını denetleyen kod

Visual Basic Code
1
2
3
4
5
6
7
8
Dim StrDosyaAdi As String

StrDosyaAdi = Dir$(klasöryolu & "\*.xlsm")
if StrDosyaAdi <> "" then 
' xlsm varsa yapılacaklar
else
'yoksa yapılacaklar
end if

yaklaşık olarak yukardakine benzer.

Cevapla
...........
Sad #3
(25/04/2019 23:51)haliliyas Adlı Kullanıcıdan Alıntı: xlsm dosyasının olup olmadığını denetleyen kod

Visual Basic Code
1
2
3
4
5
6
7
8
Dim StrDosyaAdi As String

StrDosyaAdi = Dir$(klasöryolu & "\*.xlsm")
if StrDosyaAdi <> "" then 
' xlsm varsa yapılacaklar
else
'yoksa yapılacaklar
end if

yaklaşık olarak yukardakine benzer.

Üstat öncelikle çok teşekkür ederim kod için,
şimdi ben uygulamaya geçeceğim ama bir kaç sorum olacak
ben klasör oluştururken klasörün ismine ek olarak tarihte ekliyorum ileride aynı isimden klasör açılırsa karışmasın dosyalar diye.
sizin gönderdiğiniz koda ben klasör yolunu yazıyorum ama o tarih değişken olduğu için misal dosyayı ben 2 gün önce oluşturdum oda klasöre "ali _24 nis 2019" tarihi attı ama ben bugün kontrol ettiğimde "ali _26 nis 2019" tarihli klasörü bulamadığı için yeniden klasör oluşturacak bu sorunu nasıl aşa bilirim.
acaba önce mevcut exel in dosya adresini mi kontrol etse yoksa yada o da olmaz ilk açılışta dosyayı yedeklemek için ilk açılış klasörüne kaydediyor.
ben klasör oluştururken G6 ve G7 hücresinde yazan bilgilere göre klasör ismini oluşturuyorum. 
acaba klasör yoluna bakarken bu G6 ve G7 de yazan bilgiler içinde geçiyormu diye kontrol edebilirmi tamamına bakınca tarih olduğu için tutmayacak diye içinden geçen de bakabilirmi acaba ?
inşallah doğru ifade edebilmişimdir. Img-grin

Cevapla
#4
(26/04/2019 09:11)comp_wolf Adlı Kullanıcıdan Alıntı: acaba önce mevcut exel in dosya adresini mi kontrol etse
mevcut Excel derken kast ettiğiniz üzerinde çalıştığınız Excel dosyası ise

Visual Basic Code
1
2
3
4
5
6
7
8
Dim StrDosyaAdi As String

StrDosyaAdi = Dir$(CurrentProject.Path & "\*.xlsm")
if StrDosyaAdi <> "" then 
' xlsm varsa yapılacaklar
else
'yoksa yapılacaklar
end if


kodu işinizi görür diye düşünüyorum
"CurrentProject.Path" aktif - o an üzerinde işlem yaptığınız - dosyanızın yolunu gösterir.
açıkçası excelde pek deneyimli değilim ve tam olarak ne yapmak istediğinizi anlamadım galiba.
isterseniz çalışmanızı ekleyin bir bilen elbet çıkar)
iyi çalışmalar

Cevapla
...........
Wink #5
Son Düzenleme: 26/04/2019, 10:57, Düzenleyen: comp_wolf.
(26/04/2019 10:37)haliliyas Adlı Kullanıcıdan Alıntı:
(26/04/2019 09:11)comp_wolf Adlı Kullanıcıdan Alıntı: acaba önce mevcut exel in dosya adresini mi kontrol etse
mevcut Excel derken kast ettiğiniz üzerinde çalıştığınız Excel dosyası ise

Visual Basic Code
1
2
3
4
5
6
7
8
Dim StrDosyaAdi As String

StrDosyaAdi = Dir$(CurrentProject.Path & "\*.xlsm")
if StrDosyaAdi <> "" then 
' xlsm varsa yapılacaklar
else
'yoksa yapılacaklar
end if


kodu işinizi görür diye düşünüyorum
"CurrentProject.Path" aktif - o an üzerinde işlem yaptığınız - dosyanızın yolunu gösterir.
açıkçası excelde pek deneyimli değilim ve tam olarak ne yapmak istediğinizi anlamadım galiba.
isterseniz çalışmanızı ekleyin bir bilen elbet çıkar)
iyi çalışmalar

üstat tam istediğim kodu yazmışsınız teşekkür ederim.
"CurrentProject.Path" aktif - o an üzerinde işlem yaptığınız - dosyanızın yolunu gösterir.
peki bu koda ek olarak dosya ismine de baksa içinde G6 da yazan geçiyorsa o zaman 
if StrDosyaAdi <> "Range("G6").Value" then
' xlsm varsa yapılacaklar
yukarıda ki kod kısmına (Range("G6").Value) eklemesini nasıl yapabiliriz ?
yani exel dosya ismi içerisinde G6 hücresinde yazan bilgiler geçiyor ise devam edecek şekilde nasıl bir kod eklemesi yapabiliriz ? yeşil ile yazan kod kısmına ekleyince sanırım tam amacıma ulaşacağım... Img-grin

Cevapla
#6
"Range("G6").Value" yerine Range("G6").Value denediniz mi?
ilk ve son -"- çift tırnak işaretini kaldırarak

Cevapla
...........

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da