• DİKKAT

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

Soru Notepad ile dosya açmak

  • Konbuyu başlatan Konbuyu başlatan k0081
  • Başlangıç tarihi Başlangıç tarihi
Katılım
17 Haziran 2008
Mesajlar
1,874
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
C:\Deneme\arsiv.txt dosyası mevcut.

Command buton kullanarak , arsiv.txt de ; en son satırdaki hangi karakter varsa imleci ona konumlandırıp nasıl açabiliriz. ?


Yardımcı arkadaşa şimdiden teşekkürler.
 
Merhaba,

Excel çalışmanızda yer alacak bu butona bastığınızda ilgili adresteki arsiv.txt dosyası nerede açılacak?
*Not defteri gibi bir uygulama içinde son satır, son karaktere gitmesi mümkün olmayabilir.

İyi çalışmalar.
 
Merhaba.
Aşağıdaki gibi deneyiniz.
Rich (BB code):
Private Sub CommandButton1_Click()
    Shell "notepad.exe " & "C:\Deneme\arsiv.txt", vbNormalFocus
    SendKeys ("^%{END}")
End Sub
 
Son düzenleme:
Merhaba.
Aşağıdaki gibi deneyiniz.
Rich (BB code):
Private Sub CommandButton1_Click()
    Shell "notepad.exe " & "C:\Deneme\arsiv.txt", vbNormalFocus
    SendKeys ("^%{END}")
End Sub

Merhaba Hocam. Öncelikle kod için teşekkürler.,
kod ; en son satırın altına düşüyor evet. Ama yapmak istediğim En son satırdaki karakter sonuna konumlanması... Hatta şöyle bir parametre de verebilirim : her satır bitiminde ....> karakteri var.
 
Son düzenleme:
Merhaba,

Excel çalışmanızda yer alacak bu butona bastığınızda ilgili adresteki arsiv.txt dosyası nerede açılacak?
*Not defteri gibi bir uygulama içinde son satır, son karaktere gitmesi mümkün olmayabilir.

İyi çalışmalar.

Arsiv.txt dosyası çok kapsamlı-yoğun bir dosya değil.
 
Tekrar merhaba.
Sanıyorum txt belge içeriğinde son karakter mutlaka SATIRBAŞI.
Bu durumda bir defa SOL OK tuşuna basılmış gibi işlem yapılarak istenilen sonuç alınabilir anlamına geliyor.
Verdiğim kod'daki SendKeys ("^%{END}") satırıyla End Sub satırının arasına SendKeys ("{LEFT}") şeklinde bir satır ekleyin.
.
 
Affınıza sığınarak sayın Ömer Baran Hocam,
Kod:
Private Sub CommandButton1_Click()
    Shell "notepad.exe " & "C:\Users\Hp\Desktop\Ornek_TK2.txt", vbNormalFocus
    SendKeys ("^%{END}")
    SendKeys ("{LEFT}")
End Sub
son satıra geldiğinde doğru çalışıyor.
Saygılarımla
 
Ömer BARAN;


kodu ekledim., olmadı. Yine son satırda kaldı.

Şimdi şöyle hocam; Son karakter SATIRBAŞI derken, o satır boş.

I : Kursor


Txt içerik
aaaaaa
bbbbb
cccccc
dddddd
I

Kursor buraya konumlanıyor şu an ki kodda.

istediğim;

aaaaaa
bbbbb
cccccc
dddddd I

kursorun bu şekilde konumlanması.
 
-- Birkaç satırlık txt belge (gerçeğine her bakımdan benzeyen şekilde) eklerseniz kontrol etme şansımız olur.
Ben elbette bilgisayarımda kayıtlı bir txt üzerinde deniyorum ama gerçek belgedeki karakterleri biemiyoruz.
Ben denediğimde, son mesajınızdaki gibi konumlanma konusunda sorun yok.
-- Bir'den fazla SendKeys ("{LEFT}") satırı ekleyerek deneyin en azından.
 
Ömer BARAN;

Dosya örneği Ektedir Ömer hocam.

Dediğinizi zaten yapmıştım. iki-üç adet "LEFT" ekledim. Ama sonuç yine aynı. Son satırdan geriye gelmiyor...

Şimdi yazarken aklıma geldide bir de "backspace" deneyeceğim.

http://s2.dosya.tc/server6/kejfst/Arsiv.txt.html
 
Belgenizde de denedim, verdiğim kod ( LEFT kısmı 1 kez olacak şekilde ) istenildiği gibi işlem yapıyor.
Denemeyi bir kez VBA ekranından kodu çalıştırarak, bir kez de VBA ekranını kapatıp sayfadaki düğmeye tıklayarak çalıştırır mısınız?
LEFT satırı bir'den fazla olduğunda da imleç, beklenildiği gibi birer karakter sola doğru giderek konumlanıyor.
 
Alternatif olarak bu kodu denermisiniz.

Rich (BB code):
Private Sub CommandButton1_Click()
Dosya = "C:\Deneme\arsiv.txt"
If Dosya <> "" Then
CreateObject("Shell.Application").Open (Dosya)
Application.Wait (Now + TimeValue("0:00:01"))
SendKeys ("^%{END}"), True
SendKeys ("{LEFT 2}"), True
End If
End Sub
 
halit3


Hocam çok teşekkür ediyorum. Tamamdır... elinize sağlık.

SendKeys ("^%{END}"), True
SendKeys ("{LEFT 2}"), True

Bu iki satır yeterli oldu. İşlem tamamdır.
 
Tekrar merhaba.
Kanaatim o ki; işlemin istenilen şekilde gerçekleşmesini sağlayan LEFT komutunun adetinden ziyade,
Sayın ÖZDEMİR'in ilave ettiği Application.Wait (Now + TimeValue("0:00:01")) satırı.
Yani, SendKeys işlemi yapılmadan evvel, ilgili txt belgenin açılması için 1 saniye süre tanınması.

Kolay gelsin.
.
 
Tekrar merhaba.
Kanaatim o ki; işlemin istenilen şekilde gerçekleşmesini sağlayan LEFT komutunun adetinden ziyade,
Sayın ÖZDEMİR'in ilave ettiği Application.Wait (Now + TimeValue("0:00:01")) satırı.
Yani, SendKeys işlemi yapılmadan evvel, ilgili txt belgenin açılması için 1 saniye süre tanınması.

Kolay gelsin.
.
Evet olabilir. Ama ben Timevalue kısmını kullanmadan yukarıda belirttiğim gibi çözdüm. Left 2 şeklinde ...

Yardımlarınız için çok Teşekkür ediyorum. Saygılarımla.
 
Geri
Üst