• DİKKAT

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

Koşullu Metin Belgesi

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,657
Excel Vers. ve Dili
Excel : 2010
Selamün Aleyküm,
Arkadaşlar, elimde şöyle bir kod var, bu kod, D Sürücüsünde "Xp" adında bir Metin Belgesi(Text Dökümanı) varsa, Excel dosyası açılıyor, yoksa kapanıyor, burda sorun yok, yalnız, ben şöyle bir şey yapmak istiyorum, Metin Belgesinin ismi "Xp" ve içinde "1234" yazılmış olacak şekilde, kodu değiştirmek istiyorum, yani kod, D Sürücüsünde içinde, Metin Belgesinin isminin "Xp" olup olmadığına ve içinde "1234" verisi var mı/yok mu?, bakıp ona göre çalışacak, onun için koda nasıl bir değişiklik yapmek gerekir. Yardımlarınız için şimdiden teşekkür ediyorum, Allah razı olsun.

Kod:
Const strTxtFile As String = "D:\Xp.txt"
Sub auto_open()
If Dir(strTxtFile) <> Empty Then
ThisWorkbook.IsAddin = False
Else
ThisWorkbook.IsAddin = True
MsgBox "Kayıtlı Kullanıcı Değilsiniz...", vbCritical, "Kullanıcının Dikkatine !"
Application.Quit
ThisWorkbook.Close SaveChanges:=False
End If
End Sub
 
Merhaba,
Seyit Bey, txt dosyasında sadece 1234 verisi mi olacak. Bu veri dosyanın herhangi bir satırı mı olacak, yoksa txt dosyasının herhangi bir satırının herhangi bir yerinde mi olacak?
 
Sayın Leumruk, ilginiz için teşekkür ediyorum, Allah razı olsun. Sağlıklı bir izah için görsel ekliyorum, bu "1234" sadece bir örnektir, bir değişkendir, burda amaç iki koşullu olmasıdır, Excel dosyası açıldığında D Sürücüsünde "Xp" isminde Metin Belgesi ve içinde "1234" yazılıysa Excel Dosyası açılsın, yoksa kapansın. Aşağıdaki kod sadece Metin Belgesinin ismine göre çalışıyor.
Kod:
Const strTxtFile As String = "D:\Xp.txt"
Sub auto_open()
If Dir(strTxtFile) <> Empty Then
ThisWorkbook.IsAddin = False
Else
ThisWorkbook.IsAddin = True
MsgBox "Kayıtlı Kullanıcı Değilsiniz...", vbCritical, "Kullanıcının Dikkatine !"
Application.Quit
ThisWorkbook.Close SaveChanges:=False
End If
End Sub

7iwUpf1.png
 
Aşağıdaki kodu uyarlayın.
Kod:
   Sub ara()
Var = Dir("D:\Xp.txt")
If Var = "" Then
MsgBox "Dosya yok"
Else
Open "D:\Xp.txt" For Input As #1
Line Input #1, a
If 1234 = a Then
MsgBox "1234 var"
Else
MsgBox "1234 yok"
End If
Close
End If
End Sub
 
Ömer abe ilginiz için teşekkür ediyorum, yalnız, kod istenilen sonucu vermiyor, doğru çalışmıyor, Allah razı olsun.
 
Dosyanıza göre uyarladım.
Kod:
Const strTxtFile As String = "D:\Xp.txt"
Sub auto_open()
Var = Dir(strTxtFile)
If Var = "" Then
ThisWorkbook.IsAddin = True
MsgBox "Kayıtlı Kullanıcı Değilsiniz...", vbCritical, "Kullanıcının Dikkatine !"
Application.Quit
ThisWorkbook.Close SaveChanges:=False
Else
Open strTxtFile For Input As #1
Line Input #1, a
If 1234 = a Then
ThisWorkbook.IsAddin = False
Else
ThisWorkbook.IsAddin = True
MsgBox "Kayıtlı Kullanıcı Değilsiniz...", vbCritical, "Kullanıcının Dikkatine !"
Application.Quit
ThisWorkbook.Close SaveChanges:=False
End If
Close
End If
End Sub
 
Ömer abe, kısmen oldu, ama, sorunlar devam ediyor, Metin Belgesinin içinde veri yoksa, hata mesajı çıkıp, END düğmesine basıldıktan sonra Excel Dosyası açılıyor, yani kod istenilen sonucu vermiyor.

H9upffm.png
 
Bu sefer oldu herhalde
Kod:
Const strTxtFile As String = "D:\Xp.txt"
Sub kapat()
ThisWorkbook.IsAddin = True
MsgBox "Kayıtlı Kullanıcı Değilsiniz...", vbCritical, "Kullanıcının Dikkatine !"
Application.Quit
ThisWorkbook.Close SaveChanges:=False
End Sub
Sub auto_open()
Var = Dir(strTxtFile)
If Var = "" Then
kapat
Else
Open strTxtFile For Input As #1
If LOF(1) = 0 Then
kapat
End If
Line Input #1, a
If 1234 = a Then
ThisWorkbook.IsAddin = False
Else
kapat
End If
Close
End If
End Sub
 
Ömer abe çok teşekkür ederim, işlem tamamdır, oldu. Buna paralel, bu "Metin Belgesini" kodla oluşturabilir miyiz?, yani manuel yapma yerine, D Sürücüsünde bu dosyayı kodla oluşturmak istiyoruz, teşekkür ediyorum, Allah razı olsun.
 
:)
Kod:
Sub ŞifreOluştur()
Dim strName As String
    strName = InputBox(Prompt:="Şifre oluştur.", _
          Title:="Şifre Oluştur")
        If strName = vbNullString Then
           MsgBox "Geçerli bir değer girmediniz"
           Exit Sub
        Else
         Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("D:\Xp.txt", True)
a.WriteLine (strName)
a.Close
MsgBox "Şifre Oluşturuldu."
        End If
End Sub
 
Son düzenleme:
Ömer abe işlem tamamdır, çok teşekkür ediyorum, Allah razı olsun.
 
Geri
Üst