• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Soru TXT Dosyası Oluşturma

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
674
Excel Vers. ve Dili
2003 TR
Arkadaşlar Merhaba,

O:\Ortak\Raporlar\Update\ Klasörü Altında Deneme.TXT dosyası varsa işlem yapmayacak, eğer deneme.txt dosyası yoksa Deneme.txt dosyası oluşturmak istiyorum, yardımcı olabilirseniz sevinirim.
iyi çalışmalar.
 
Korhan Bey Merhaba;

O:\Ortak\Raporlar\Update\ Deneme.TXT varsa işlem yapmamasını istiyorum, bu kod her çalıştığında üzerine yazıyor, dosya varsa işlem yapmayacak, yoksa eğer deneme.txt oluşturmasını istiyorum. teşekkürler


Kod:
Sub CreateAfile()
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set a = fs.CreateTextFile("O:\Ortak\Raporlar\Update\AHORCLPSW.txt", True)
   ' a.WriteLine ("This is a test.")
   ' a.Close
End Sub
 
Dosya kontrolü içinde forumda DIR komutunu araştırabilirsiniz.

Bakınız linkteki #10 nolu mesaj...

 
Korhan Bey,

İşlem oldu teşekkür ederim, Aklıma farklı birşey geldi mümkün mü acaba?
O:\Ortak\Raporlar\Update\AHORCLPSW.txt
içinde eğer şifreyi giriniz yazıyorsa, uyarı verecek ve txt dosyasını açacak, şifreyi giriniz yazmıyorsa eğer işlem yapmayacak.
 
Bununla ilgili olarak açmış olduğunuz diğer başlıkta Haluk beyin önerdiği kodlardan faydalanarak sonuca gidebilirsiniz.
 
Korhan Hocam
Çok rahatsız ettiğim,in farkındayım kusura bakmayın lütfen, kodu yapmay açalıştım ancak çalışmıyor.
Özet olarak istediğim ; O:\Ortak\Raporlar\Update\AHORCLPSW.txt içinde eğer "Şifre Giriniz" yazısı varsa uyarı verip sonra dosyayı açacak, eğer "Şifre Giriniz" yazı dışında başka bir metin varsa bir işlem yapmayacak.

Kod:
Sub TXT_Kontrol()

  
 strpath = "O:\Ortak\Raporlar\Update\AHORCLPSW.txt"

 


If Text = "Şifre Giriniz" Then
        MsgBox ("Lütfen O:\Ortak\Raporlar\Update\AHORCLPSW.txt dosyasına Veritabanı şifresi Giriniz."), vbCritical, "Hata"
        
        lanceur = Shell("C:\windows\notepad.exe O:\Ortak\Raporlar\Update\AHORCLPSW.txt", 1)
        
Else

  MsgBox " şifre zaten girilmiş."

End If

End Sub
 
Bu kodu bir dene
Kod:
Sub TXT_Kontrol()

strpath = "O:\Ortak\Raporlar\Update\AHORCLPSW.txt"

aranan = "Şifre Giriniz"

If CreateObject("Scripting.FileSystemObject").FileExists(strpath) = True Then
Open strpath For Input As #1
Do While Not EOF(1)
Line Input #1, a

If UBound(Split(a, aranan)) > 0 Then
MsgBox aranan
If strpath <> "" Then
CreateObject("Shell.Application").Open (strpath)
End If
End If

Loop
Close

Else
Dosya = "Dosya yok"
End If


End Sub
 
Son düzenleme:
Buradaki kodu uyarlamanız gerekiyor.

 
Halit Bey,

Kodu çalıştırdım, hiç bir işlem yapmıyor.
 
Buradan ben anladığımı söylüyorum.
text dosyası farmı yokmu
eğer text dosyası varsa içini okutsun ve içinde geçen sözcük cemlesinde "Şifre Giriniz" yazısı varsa dosyayı açsın

şimdi anladığım kadarı ile dosya mevcut ama içerisinde aranan "Şifre Giriniz" kelimesi yok olduğu için işlem yapmıyor
yukarıdaki mesajda aranan1 yazan yeri aranan olarak düzelttim
 
Halit Bey,

çalıştırıyorum, hiç işlem yok, sizin anladığınız şekilde
O:\Ortak\Raporlar\Update\AHORCLPSW.txt dosyası içinde eğer
Şifre Giriniz yazısı varsa uyarı verip, txt yi açacak. eğer içinde
Şifre Giriniz'in dışında farklı bir yazı veya sayı varsa işlem yapmayacak.
 
Linkdeki dosyayı indir ve rar dan çıkart sonra dosyayı aç ve komut düğmesine tıkla

 
Buradaki kodu uyarlamanız gerekiyor.



@Korhan Ayhan Beyin işaret ettiği gibi;

C#:
Sub Test()
    myFile = "O:\Ortak\Raporlar\Update\AHORCLPSW.txt"
    
    Open myFile For Input As #1
        strFile = Input(LOF(1), #1)
    Close #1
    
    If Split(strFile, vbCrLf)(0) <> "Şifre Giriniz" Then
        MsgBox "Şifre girmeniz gerekiyor!"
        Shell "notepad.exe " & myFile, vbNormalFocus
    End If
End Sub

.
 
Haluk Bey,

sizin kodu çalıştırıyorum, şifreyi giriniz kelimesinde açılıyor uyarı veriyor, sorun yok ancak şifreyi giriniz kelimesi yok yine uyarı verip dosyayı açıyor,
şifre giriniz yazısı yoksa işlem yapmaması lazım. Teşekkürler
 
Halit Bey Merhaba

Sizin kodunuz çalışıyor, ancak txt dosyasını boşalttığımda yine uyarı veriyor, oysaki sadece şifreyi giriniz kelimesi varsa işlem yapması lazım.
dosyayı temizleyip kaydediyorum, tekrar açıp şifreyi giriniz yazdığımda makro işlem yapmıyor
 
Text dosyasının içerisinde bunlar var

aslösl
fyuyfı
Şifre Giriniz
tduyu

kodun içinde de burası var
aranan = "Şifre Giriniz" 'aranan şifre veya kelime buraya yazılacak

her iki kırmızı yerler aynı olursa dosya açılır yani kod daki kırmızı yer ile text içerisindeki verilerin her hangi biri aynı ise dosya açılır.
 
Text dosyası tek satır ve içinde Şifre Giriniz yazıyorsa, uyarı verip text dosyasını açacak ama text dosyasında başka birşey varsa işlem yapmayacak.... durum böyleyse, aşağıdaki satırı eskisiyle değiştirin;

C#:
If Split(strFile, vbCrLf)(0) = "Şifre Giriniz" Then

.
 
If Split(strFile, vbCrLf)(0) = "Şifre Giriniz" Then

Haluk bey,

kod hiç bir işlem yapmıyor.

Kod:
Sub Test()
    myFile = "C:\Update\AHORCLPSW.txt"
    
    Open myFile For Input As #1
        strFile = Input(LOF(1), #1)
    Close #1
    
    If Split(strFile, vbCrLf)(0) = "Şifre Giriniz" Then
        MsgBox "Şifre girmeniz gerekiyor!"
        Shell "notepad.exe " & myFile, vbNormalFocus
    End If
End Sub
 
Text dosyasının içerisinde bunlar var

aslösl
fyuyfı
Şifre Giriniz
tduyu

kodun içinde de burası var
aranan = "Şifre Giriniz" 'aranan şifre veya kelime buraya yazılacak

her iki kırmızı yerler aynı olursa dosya açılır yani kod daki kırmızı yer ile text içerisindeki verilerin her hangi biri aynı ise dosya açılır.

Halit Bey
Yazdıklarınız doğru, sorun şurada dosyayı ilk açıp makroyu çalıştırdığımda söylediğiniz gibi Şifre Giriniz kelimesini bulup dosyayı açıyor.
txt.dosyasını temizleyip kaydedin tekrar açıp içerisne Şifre Giriniz Kelimesi yazdığımızda "dosya var ancak aranan kelime yok" uyarısı geliyor, ama txt dosyasında şifreyi giriniz yazılmış, sizden ricam önce txt dosyasını temizleyip sonra kelimeyi yazıp çalıştırdığımda dosya var ancak aranan kelime yok uyarısı veriyor
 
Geri
Üst