Sendkeys Kodları İle Yazıcı Kağıt Boyutlarını Düzenleme

Katılım
15 Haziran 2021
Mesajlar
147
Excel Vers. ve Dili
Office 2016
Merhaba

Zebra barkod yazıcımın yazdırmadan önce kağıt boyutu ayarlarını yapmak istiyorum. Forumdaki araştırmalarım sonucu sendkeys ile bunu yapabileceğimi öğrendim. @Korhan Ayhan beyin paylaştığı bilgiler ile anladığım kadarıyla şu kodları oluşturdum.

Kod:
Sub yazdirmak()
Application.SendKeys "{^}{P}{TAB 3}{ENTER}{TAB 2}{DOWN 15}{TAB 5}"
Application.SendKeys "12"
Application.SendKeys "{TAB}"
Application.SendKeys "3"
Application.SendKeys "{ENTER}"
End Sub
/CODE]

sonra ana işlemi yapan makromun içinde bu yan makroyu çağırarak çalıştırmayı denedim
[ICODE]Call Module1.yazdirmak[/ICODE]


 makroyu çalıştırdığımda, excell sayfamdaki  H17 ve I17 sütünlarına 12 ve 3 yazıyor adımları hesapladım yazdığım kodla uyuşuyor, sanırım en baştaki CTRL+P yi çalıştıramıyorum.

Sorunu çözemedim. Yardımcı olabilecek var mı?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Sendkeys adımlarını toplu değilde parçalayarak yazmayı deneyiniz.
 
Katılım
24 Nisan 2005
Mesajlar
3,669
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Bu şekilde dener misiniz.

C#:
Application.SendKeys "^p"
Application.SendKeys "{TAB 3}{ENTER}{TAB 2}{DOWN 15}{TAB 5}"
 
Son düzenleme:
Katılım
15 Haziran 2021
Mesajlar
147
Excel Vers. ve Dili
Office 2016
Send Keys kodlarını şu şekilde düzelttim.

Kod:
Sub yaziciayarla()
Application.SendKeys "^p"
Application.SendKeys "{TAB 3}{ENTER}{TAB 2}{DOWN 15}{TAB 5}"
Application.SendKeys "12"
Application.SendKeys "{TAB}"
Application.SendKeys "3"
Application.SendKeys "{TAB 5}"
Application.SendKeys "{ENTER}"
Application.SendKeys "{ESC}"
End Sub
Ana sayfadaki hücrelere yazmıyor. Ama istediğim işlemi de yapmıyor.

Şöyle bir durum dikkatimi çekti

Kod:
'yazıcı seçtim
Call Module1.yazicisec
'yazdırma boyut ayarlarını yaptım
Call Module1.yaziciayarla
'yazdirma islemi yapiyorum
Sheets("etiket").Select
    Columns("A:C").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
acaba ana kodlarımın diziliminde mi bir sorun var? çünkü yaziciyiayarla modülünü çağırmadığımda yazıcıdan çıktı alıyor fakat ayarlanmamış şekilde.
Yazıcı ayarla modülünü çağırdığımda ise klavyede açık olan num lock'u kapatıyor.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sendkeys komutları biraz sıkıntılıdır.

Linkte bazı çözümler önerilmiş. Sizde uygulayıp test edebilirsiniz.

 
Katılım
15 Haziran 2021
Mesajlar
147
Excel Vers. ve Dili
Office 2016
Sendkeys komutları biraz sıkıntılıdır.

Linkte bazı çözümler önerilmiş. Sizde uygulayıp test edebilirsiniz.

Yapamadım vazgeçtim.

Bu işlemi yapabilmek için farklı bir yöntem araştırıyorum ama bir sonuca ulaşamamadım.
önerebileceğiniz bir yol var mı?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Hemen pes etmeyin..

Komutlar arasına biraz bekleme süresi eklemeyi deneyebilirsiniz.

Application.SendKeys "^p", True

ya da

Application.SendKeys "^p"
DoEvents

ya da

Application.SendKeys "^p"
Application.Wait Now + TimeSerial(0, 0, 1)
 
Katılım
15 Haziran 2021
Mesajlar
147
Excel Vers. ve Dili
Office 2016
Hemen pes etmeyin..

Komutlar arasına biraz bekleme süresi eklemeyi deneyebilirsiniz.

Application.SendKeys "^p", True

ya da

Application.SendKeys "^p"
DoEvents

ya da

Application.SendKeys "^p"
Application.Wait Now + TimeSerial(0, 0, 1)
Tekrardan merhaba

Kod:
Sub yaziciayarla()
Application.SendKeys "{NUMLOCK}"
Application.SendKeys "^p"
Application.Wait Now + TimeSerial(0, 0, 3)
Application.SendKeys "{TAB 3}"
Application.SendKeys "{ENTER}"
Application.SendKeys "{TAB 2}"
Application.SendKeys "{DOWN 15}"
Application.SendKeys "{TAB 5}"
Application.SendKeys "12{Enter}"
Application.SendKeys "{TAB}"
Application.SendKeys "3{Enter}"
Application.SendKeys "{TAB 5}"
Application.SendKeys "{ENTER}", True
Application.SendKeys "{ESC}", True
End Sub
birşeyin açılması için beklediğim yere bekletme için aralık verdim.

kodu çalıştırınca 35012 kodlu bir hata verip kapandı.
 
Katılım
15 Haziran 2021
Mesajlar
147
Excel Vers. ve Dili
Office 2016
Tekrar merhaba

yanlış yaptığım şeyi buldum kodum çalıştı yazıcı ayarlarını istediğim şekilde düzenliyor ama yazdırmayı yapamıyor.

Kod:
'yazıcı seçtim
Call Module1.yazicisec
'yazdirma sayfasını seçtim
Sheets("etiket").Select
'yazdırma boyut ayarlarını yaptım
Call Module1.yaziciayarla
'yazdirma alanını tekrar seçtim
Sheets("etiket").Select
    Columns("A:C").Select
'yazdirma islemi yapiyorum
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
Yazdırmayı yaptığım alanın kod dizilimi şu şekilde makro hatasız bitiyor, fakat yazıcıya çıktı gelmiyor. Sonra manuel olarak kontrol ettiğimde yazdırma sayfasında değil veri sayfasındaki ayarları düzenlemiş oluyor. Bir yerde mantık hatası yapıyorum ama nerede bulamadım.
 
Katılım
15 Haziran 2021
Mesajlar
147
Excel Vers. ve Dili
Office 2016
Bir kaç farklı şekilde denemeler yaptım.

Dikkatimi çeken bir şey oldu. Sanki bu sendkey komutlarıyla birlikte makro çalışmaya devam ediyor gibi.
 
Üst