• DİKKAT

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

Eğer program aktif değilse uyarı vermek

Katılım
12 Kasım 2007
Mesajlar
327
Excel Vers. ve Dili
excel 2003
Forumun değerli üyeleri
Aşağıda yazdığım kod ile ilgili bir ilave yapmak istiyorum.
1. sorun

AppActivate "XYZ.exe", True

satırı için XYZ.exe programı ekranda açık hazır beklemiyorsa yani aktif değilse "XYZ PROGRAMINIZ AKTİF DEĞİL LÜTFEN PROGRAMI ÇALIŞTIRINIZ" diye uyarı vermesini istiyorum.

2. sorun
Kod aralarına zaman kazanmak için koyduğum "SLEEP" kodları for next dönüsü ile beraber çalışmıyor. SLEEP komutlarını ve "Public Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)" satırlarını pasif hale getirmek zorunda kaldım.
Bu kodlar pasif olunca kodlar çalışıyor. Bekletme komutlarını (SLEEP 1000)nasıl düzeltebiliriz.

Saygılarımla


'Option Explicit
'Public Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)

Sub AKTAR()
sonuc = MsgBox("ŞU ANDA XYZ PROGRAMINDA İŞLEM YAPMAYA BAŞLIYORSUNUZ. DEVAM ETMEK İSTİYORMUSUNUZ?", vbYesNoCancel)
If sonuc = vbYes Then

AppActivate "XYZ.exe", True
'Sleep (1000)
SendKeys "{F3}", True

Set SD = Sheets("sayfa1")
S1 = SD.[L13]
S2 = SD.[L16]
S1 = S1 + 1
S2 = S2 + 1
For W = S1 To S2
'Sleep (1000)
SendKeys Sheets("sayfa1").Cells(W, 22), True
SendKeys "{ENTER}", True
'Sleep (100)
SendKeys "{ENTER}", True
Next

Else
End If
End Sub
 
Selamlar,

Hata denetimi yaparak istediğiniz uyarıyı alabilirsiniz.

Kod:
Option Explicit
Public Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
 
Sub AKTAR()
    Dim SD, S1, S2, W
    
    On Error GoTo Hata
    
    If MsgBox("ŞU ANDA XYZ PROGRAMINDA İŞLEM YAPMAYA BAŞLIYORSUNUZ. DEVAM ETMEK İSTİYORMUSUNUZ?", vbYesNoCancel) = vbYes Then
    
    AppActivate "XYZ.exe", True
    'Sleep (1000)
    SendKeys "{F3}", True
    
    Set SD = Sheets("sayfa1")
    S1 = SD.[L13]
    S2 = SD.[L16]
    S1 = S1 + 1
    S2 = S2 + 1
    For W = S1 To S2
    'Sleep (1000)
    SendKeys Sheets("sayfa1").Cells(W, 22), True
    SendKeys "{ENTER}", True
    'Sleep (100)
    SendKeys "{ENTER}", True
    Next
    
    Else
    End If
    Exit Sub

Hata:
    MsgBox "XYZ.exe isimli program aktif değildir. Lütfen ilgili programı açınız.", vbCritical
End Sub
 
Sayın KORHAN AYHAN
Bekletme dahil herşey çok güzel.
Ellerinize beyninize sağlık.
Teşekkür ederim.
Saygılarımla
 
Geri
Üst