• DİKKAT

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

sendkeys kullanımı

Katılım
20 Aralık 2006
Mesajlar
173
Excel Vers. ve Dili
365 (2016) Türkçe
merhaba,

yazıcının ayarlarını değiştirmek için sendkeys kullanmaya çalışıyorum, ancak bir yerde işlemiyor.

Kod:
Sub vvvv()

SendKeys ("^p"), True
SendKeys ("%m"), True
SendKeys ("u"), True

' problem aşağıdaki satırda.

SendKeys ("1"), True

End Sub
 
Aşağıdaki gibi deneyiniz.

Kod:
Application.SendKeys Chr(49), True
 
Aşağıdaki gibi deneyiniz.

Kod:
Application.SendKeys Chr(49), True

teşekkürler ancak yine olmadı.

verdiğiniz komutu hem Application.SendKeys hem de SendKeys ifadeleri ile ekledim, ancak ikisinde de olumsu sonuç alamadım.

şöyle bir durum var.

bu makro işlerken 1 tuşuna basarken herhalde bir hata oluşuyor. bilgisayardan hata sesi çıkıyor.

kendim sırasıyla manuel olarak aşağıdaki tuşlara sırasıyla basarken herhangi bir hata ile karşılaşmıyorum.

CTRL + P
ALT
m
u
1

ve yazıcının ayar penceresi açılıyor.

makroda ise 1 harfine basınca hata sesi geliyor.
 
aynı yerde "1" yerine "2" yazınca önizlemeye gidiyor. ama "1" yazınca hata veriyor.

acaba yarı bir pencere açtırdığı için güvenlik nedeniyle falan komutu işletmiyor olabilir mi???

bunu aşmanın bir yolu vardır diye düşünüyorum...
 
aynı düğmeye {tab 1, 2, 3,....} ile basmaya çalıştım,

Şunu fark ettim o düğmeye ve bazı düğmelere bu komutla ulaşılamıyor.

{tab 3} ile o düğmeye ulaşmam lazım ancak başka yere atıyor.
 
Bende TAB tuşu ile deneyin diyecektim. Fakat son mesajınızda butona ulaşamadığınızdan bahsetmişsiniz.

Nette iki farklı kod buldum.

1. Kod;
Kod:
Sub ShowPrinterProperties()
    Call Shell("rundll32 printui.dll,PrintUIEntry /p /n " & Application.ActivePrinter)
End Sub

2. Kod;
Kod:
Sub ShowPrinterProperties()
    SendKeys "{TAB 6}"
    SendKeys "~"
    Application.CommandBars("File").Controls("Print...").Execute
End Sub
 
Ayrıca dialog penceresi yardımıyla yazıcı ayarlarına ulaşabilirsiniz.

Kod:
Application.Dialogs(xlDialogPrinterSetup).Show
 
1. Kod;
Kod:
Sub ShowPrinterProperties()
    Call Shell("rundll32 printui.dll,PrintUIEntry /p /n " & Application.ActivePrinter)
End Sub

bu kodu da denemiştim "yazını adını kontrol edin" diye uyarı çıkıyrdu.

bunun yerine

Call Shell("rundll32 printui.dll,PrintUIEntry /e /n mg3500")

kullandım.

yazıcının ayarlarına ulaştırıyor, ancak bunda da saçma bir durum meydana geliyor.

şöyle ki;

Yzıcı özelliklerinde 3 değişik profil ayarlamıştım.
düz, ters ve çift
bunlardan birini seçtiriyorum ve onaylayıp pencereyi kapatıyor,
ancak yazdırmayı yine standart ayarlarıyla yapıyor.

şimdi yeni bir ayarı daha seçerek deneyeceğim,

"tüm yazdırmaları bu ayarlarla yaptır" seçeneğini kullanacağım.
 
Ayrıca dialog penceresi yardımıyla yazıcı ayarlarına ulaşabilirsiniz.

Kod:
Application.Dialogs(xlDialogPrinterSetup).Show

bununla açılan pencerede sendkeys çalışmıyor.
appactivate ile de pencereyi aktif edemiyorum.

"yazıcı ayarları" pencere adını kabul etmiyor.
 
2. Kod;
Kod:
Sub ShowPrinterProperties()
    SendKeys "{TAB 6}"
    SendKeys "~"
    Application.CommandBars("File").Controls("Print...").Execute
End Sub

bunu da çalıştıramadım...

aaaaaaaaaaaaaa......
 
sendkeys problemi

merhaba,

Birçok çalışma sayfasını arka arkaya yazdırmam gerekiyor.

Bu esnada bazı çalışma sayfalarını yazdırmadan önce yazıcının ayarlarını "geçici olarak" değiştirmeliyim.

bu nedenle aşağıdaki linkte bulunan pdf dosyasında anlattığım şekilde sendkeys yöntemine başvurdum,
ancak enteresan bir şekilde sadece son tuş basımını yapamıyorum.
sendkeys ile 1 tuşuna bastırmam gerekiyor.


sendkeys problemi.pdf


Kodun tamamı aşağıdadır.
Kod:
Sub asd()


SendKeys "^p", True
Application.Wait Now() + TimeValue("00:00:01")
SendKeys "%m", Wait
Application.Wait Now() + TimeValue("00:00:01")
SendKeys ("u"), Wait
Application.Wait Now() + TimeValue("00:00:01")
SendKeys ("1"), Wait

End Sub
 
Bu sorunuz için neden ikinci başlığı açma ihtiyacı duyduğunuzu anlamadım. Açtığınız başlık sonuçlanana dek aynı başlıktan sorularınızı sormaya devam edebilirsiniz. Ben başlıklarınızı birleştirdim. Bundan sonra bu konuya dikkat etmenizi rica ederim.
 
Aşağıdaki kod ile yazıcı ayarlarına ulaşabildim. Sizde deneyiniz.

Kod:
Sub TEST()
    Application.SendKeys "{TAB 3}", True
    Application.SendKeys "~", True
    Application.Dialogs(xlDialogPrinterSetup).Show
End Sub
 
Bu sorunuz için neden ikinci başlığı açma ihtiyacı duyduğunuzu anlamadım. Açtığınız başlık sonuçlanana dek aynı başlıktan sorularınızı sormaya devam edebilirsiniz. Ben başlıklarınızı birleştirdim. Bundan sonra bu konuya dikkat etmenizi rica ederim.

önceki başlıkta derdimi iyi anlatamadım ve konu dağıldı diye düşündüm.
sorunu daha iyi bir şekilde anlatmak için görsel bir dosya hazırladım.
o yüzden yeni başlık açma ihtiyacı duydum.

konu kirliliği yapmak istemezdim.
 
Aşağıdaki kod ile yazıcı ayarlarına ulaşabildim. Sizde deneyiniz.

Kod:
Sub TEST()
    Application.SendKeys "{TAB 3}", True
    Application.SendKeys "~", True
    Application.Dialogs(xlDialogPrinterSetup).Show
End Sub

çok teşekkür ederim,

yemen gereken ekmeklere bir fırın daha eklendi,

ben sendkeys ile application.sendkeys arasındaki farkı ve
yazılan komutların neden ters sıralandığını öğrenmeliyim.


sizin gönderdiğiniz kodu işimi görecek şekilde revize ettim ve denedim,

çalışıyor,

çok teşekkür ederim.

Bnede çalışan örnek kod aşağıdadır.

Kod:
Sub asd()

    Application.SendKeys "{TAB 3}", True
    Application.SendKeys "~", True
    Application.Wait Now() + TimeValue("00:00:01")
    Application.SendKeys "{tab 3}", Wait
    Application.Wait Now() + TimeValue("00:00:01")
    Application.SendKeys " ", Wait
    Application.Wait Now() + TimeValue("00:00:01")
    Application.SendKeys "{tab 13}", Wait
    Application.Wait Now() + TimeValue("00:00:01")
    Application.SendKeys " ", Wait
    Application.Dialogs(xlDialogPrinterSetup).Show

    

End Sub
 
merhaba;

linki tıkladığımda şu şekilde bir uyarı çıkıyor.

"Üzgünüz, sonuç bulunamadı. Lütfen tekrar deneyiniz. "

tam arama metnin verirseniz ben de sizin ulaştığınız sonuçları inceleyebilirim.

saygılar.

Sayfanın üst tarafında arama yazısı var oraya LPT1 yazın ve aratın çıkan linkleri irdeleyiniz.
 
Aşağıdaki renkli bölüm bende hataya sebep oluyor. Sizde sorun yaratmıyor mu?

Kod:
Application.SendKeys "{tab 3}", [COLOR="Red"]Wait[/COLOR]

Normalde renkli bölüme True yada False yazmak gerekiyor.
 
Geri
Üst