Soru Notepad ile dosya açmak

Katılım
17 Haziran 2008
Mesajlar
1,871
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
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.
 

netzone

Altın Üye
Katılım
10 Mayıs 2006
Mesajlar
797
Excel Vers. ve Dili
🅾🅵🅵🅸🅲🅴
⎝365 64 Bit 𝙏𝙍⎠
🆆🅸🅽🅳🅾🆆🆂
⎝11 64 Bit 𝙏𝙍⎠
Altın Üyelik Bitiş Tarihi
12-09-2027
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.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
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:
Katılım
17 Haziran 2008
Mesajlar
1,871
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
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:
Katılım
17 Haziran 2008
Mesajlar
1,871
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
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.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
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.
.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,849
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
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
 
Katılım
17 Haziran 2008
Mesajlar
1,871
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
Ö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ı.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
-- 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.
 
Katılım
17 Haziran 2008
Mesajlar
1,871
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
Ö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
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
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.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,852
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
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
 
Katılım
17 Haziran 2008
Mesajlar
1,871
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
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.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
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.
.
 
Katılım
17 Haziran 2008
Mesajlar
1,871
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
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.
 
Üst