Textbox parantez karakteri sorunu

Katılım
27 Mayıs 2022
Mesajlar
2
Excel Vers. ve Dili
Excel vba
Merhabalar
Sanırım çok basit bir sorum var ancak çözmeyi beceremedim henüz.
Forumda bir çok yerde parantez içindeki sayıları nasıl alırım gibi sorular mevcut.
Benim anladığım herkes zaten parantezli ifade yazınca parantezlerde geliyor.
Bende gelmiyor.

textboxa girdiğim bir değer var kabaca şuna benziyor.

O=S(C1=CC=CC=C1)=O

bu ifadeyi başka bir programda yazmasını istedim (bu programda kullanılmayan bir karakter değil bir çok defa klavye ile girdiğim bir karakter) ve bir kullanıcı kullanacağı için textbox tan çekmek istedim ancak ifadeyi

O=SC1=CC=CC=C1=O

şekline çeviriyor ve gördüğünüz gibi parantezleri kaldırıyor.
İfade her zaman bu şekilde kullanılmıyor.Bu sebeple parantezlerin yeri değişken.
Nasıl çözebilirim?
 
Katılım
27 Mayıs 2022
Mesajlar
2
Excel Vers. ve Dili
Excel vba
Ömer bey
Dönüş yaptığınız için öncelikle teşekkür ederim.
Kendimi daha iyi ifade etmeye çalışayım.
Textbox kullanarak bir arayüz oluşturmaya çalışıyorum.
Aslında çok karışık bir işlem değil textbox a yazılan karakterleri başka bir programa mouse hareketlerini yöneterek (bir nevi kopyala/yapıştır) yaptırmak istiyorum.
Oldukça basit bir işlev aslında. Zaten kodun o kısımlarını yazdım.
Ancak textbox a yazılan karakterleri doğru bir sırada iletmesi önemli. Daha önce de söylediğim gibi

O=S(C1=CC=CC=C1)=O

karakterlerini yazdığım zaman parantezler olmadan

O=SC1=CC=CC=C1=O

yazıyor. Daha önce de söylediğim gibi bu işlemi manuel olarak yapmam mümkün ve bu sırada diğer program parantezleri görüyor.Yani sadece VBA da değişiklik oluyor gibi görünüyor. Parantez kullanımı ile ilgli olarak özel bir ifade mi girmem gerekir?
textbox ı string olarak seçiyorum. Belki hem sayı hem harf hem de "(" gibi karakterleri içeren bir tanım mevcuttur ve ben bilmiyorumdur.

Şimdiden teşekkürler
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,340
Excel Vers. ve Dili
2007 Türkçe
Anladığım kadarıyla bu işlemi excel üzerinden diğer programa Sendkeys işlevini kullanarak göndermek istiyorsunuz sanıyorum. Sendkeys ile parantez komutu göndermek için "{(}" şeklinde yapmanız gerekiyor.
Aşağıdaki mantıkla dener misiniz?
Kod:
met = TextBox1.Text
met = Replace(met, "(", "{(}")
met = Replace(met, ")", "{)}")
Application.SendKeys met
İlave: Alternatif olarak textbox içindeki metni ClipBoard'a kopyalayıp (bunu api yardımıyla yapabilirisiniz) kopyalanan içeriği diğer programa yapıştırmayı da deneyebilirsiniz.
 
Son düzenleme:
Üst