VBScript

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,182
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Arkadaşlar, sayın hocalarım, aslında ben bu tarz bir soruyu çok önce de sormuştum ama şimdi bir örnekle sormak istedim.
Hem belki hocalarımızdan örnekle cevap veren olur.
Şimdiden teşekkür ederim. Saygılarımla.

Şimdi örnekte VBScript çalıştırınca 5 saniye sonra metin belgesi açılıyor. Benim istediğim 5 saniye sonra değil de ben VBS çalıştırınca, örneğin 12:55:00'da açılsın.

Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
WScript.Sleep(5000)
objShell.Run("notepad.exe")
Set objShell = Nothing
 
Katılım
11 Temmuz 2024
Mesajlar
178
Excel Vers. ve Dili
Excel 2021 Türkçe
Merhabalar;


Kod:
Dim objShell
Set objShell = WScript.CreateObject("WScript.Shell")

Dim hedefSaat
hedefSaat = "12:55:00"

Do
    If Time >= hedefSaat Then
        objShell.Run("notepad.exe")
        Exit Do
    End If
    WScript.Sleep(1000)
Loop

Set objShell = Nothing
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,182
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Merhabalar;


Kod:
Dim objShell
Set objShell = WScript.CreateObject("WScript.Shell")

Dim hedefSaat
hedefSaat = "12:55:00"

Do
    If Time >= hedefSaat Then
        objShell.Run("notepad.exe")
        Exit Do
    End If
    WScript.Sleep(1000)
Loop

Set objShell = Nothing


Dim objShell
Set objShell = WScript.CreateObject("WScript.Shell")

x=msgbox("Komut alınmıştır" ,0, "merhaba")

Dim hedefSaat
hedefSaat = "12:55:00"

Do
If Time >= hedefSaat Then
objShell.Run("notepad.exe")
Exit Do
End If
WScript.Sleep(1000)
Loop

Set objShell = Nothing


Hocam cevabınız için teşekkür ederim.
Şeklinde yaptım ama çalışmadı

 
Katılım
11 Temmuz 2024
Mesajlar
178
Excel Vers. ve Dili
Excel 2021 Türkçe
Kodunuzu şöyle düzenleyip dener misiniz;


Kod:
Dim objShell
Set objShell = CreateObject("WScript.Shell")

Dim x
x = MsgBox("Komut alınmıştır", 0, "merhaba")

Dim hedefSaat
hedefSaat = TimeValue("12:55:00") 

Do
    If Time >= hedefSaat Then
        objShell.Run "notepad.exe"
        Exit Do
    End If
    WScript.Sleep 1000
Loop

Set objShell = Nothing
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,182
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Hocam çok teşekkür ederim.
Ben MsgBox'ı Koda tanıtmadım :)
Sonra bir de suçu size atıyorum. Kusura bakmayın lütfen.
Şaka bir yana çok teşekkür ederim.

Hocam çok elzem değil ama VBS'de MsgBox'daki yazıda Türkçe karakterleri yazmanın yolu var mı? ı-İ-ü-Ü-ö-Ö-ç-Ç-ğ-Ğ
 
Katılım
11 Temmuz 2024
Mesajlar
178
Excel Vers. ve Dili
Excel 2021 Türkçe
Hiç problem yok hocam, yanlış benim doğru sizin olsun sorununuz çözüldükten sonra :)
Dosyayı farklı kaydederken, dosya uzantısını .vbs olarak düzenleyin ve kodlama (encoding) kısmından UTF-8 seçeneğini seçin. Bu sayede direkt olarak Türkçe karakterleri kullanabilirsiniz.
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,182
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Hiç problem yok hocam, yanlış benim doğru sizin olsun sorununuz çözüldükten sonra :)
Dosyayı farklı kaydederken, dosya uzantısını .vbs olarak düzenleyin ve kodlama (encoding) kısmından UTF-8 seçeneğini seçin. Bu sayede direkt olarak Türkçe karakterleri kullanabilirsiniz.
Hocam çok teşekkür ederim.

Hocam son bir şey sorsam.

Şöyle bir ekleme yaptım ama belli bir dosyayı açmak için. Çalıştır dene diyeceksiniz ama kapanmaz falan

Dim objShell
Set objShell = CreateObject("WScript.Shell")

Dim x
x = MsgBox("Komut alinmistir", 0, "Merhaba")

Dim hedefSaat
hedefSaat = TimeValue("21:50:00")

Do
If Time >= hedefSaat Then


Set NewXL = CreateObject("notepad.Application")
Set MyWB = NewXL.workbooks.open("C:\Users\muratgunay48\Desktop\test.txt")


Exit Do
End If
WScript.Sleep 1000
Loop

Set objShell = Nothing
 
Katılım
11 Temmuz 2024
Mesajlar
178
Excel Vers. ve Dili
Excel 2021 Türkçe
Şu şekilde hedef klasörde belirtilen dosyanın açılmasını sağlayabiliriz, bende denemedim ama umarım çalışır :)


Kod:
Dim objShell
Set objShell = CreateObject("WScript.Shell")

Dim x
x = MsgBox("Komut alinmistir", 0, "Merhaba")

Dim hedefSaat
hedefSaat = TimeValue("21:50:00")

Do
    If Time >= hedefSaat Then
        objShell.Run "notepad.exe ""C:\Users\muratgunay48\Desktop\test.txt"""
        Exit Do
    End If
    WScript.Sleep 1000
Loop

Set objShell = Nothing
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,182
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Şu şekilde hedef klasörde belirtilen dosyanın açılmasını sağlayabiliriz, bende denemedim ama umarım çalışır :)


Kod:
Dim objShell
Set objShell = CreateObject("WScript.Shell")

Dim x
x = MsgBox("Komut alinmistir", 0, "Merhaba")

Dim hedefSaat
hedefSaat = TimeValue("21:50:00")

Do
    If Time >= hedefSaat Then
        objShell.Run "notepad.exe ""C:\Users\muratgunay48\Desktop\test.txt"""
        Exit Do
    End If
    WScript.Sleep 1000
Loop

Set objShell = Nothing
Hocam çok teşekkür ederim. Emeğinize sağlık. VBS konusunda kendimi geliştirmeye çalışıyorum. Sizlerin yardımıyla.
Yalnız haddim olmayarak Kodlama türünde ANSI Türkçe karakter yaptı. Web page maker ile site yaparken. ANSI yapıyordum, oradan hatırladım.
 
Katılım
11 Temmuz 2024
Mesajlar
178
Excel Vers. ve Dili
Excel 2021 Türkçe
Biraz olsun yardımcı olabildiysem ne mutlu, iyi çalışmalar dilerim hocam.
Belirttiğiniz gibi ANSI Windows-1254 kullanılırsa, Türkçe karakterleri ayrıca destekliyor, haklısınız.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,354
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Kısa bilgi;

VBA/VBS; utf-8 desteklemediği için, multibyte-null terminated karakter olan ANSI kodlamayı seçmek doğru tercih olur.

.
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,182
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,182
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Kısa bilgi;

VBA/VBS; utf-8 desteklemediği için, multibyte-null terminated karakter olan ANSI kodlamayı seçmek doğru tercih olur.

.

Hocam, haddim olmayarak. Sizin yazdığınız kodu kendi kodlarımla birleştirdim.

Kod:
Dim objShell
Set objShell = CreateObject("WScript.Shell")

Dim x
x = MsgBox("Komut alınmıştır", 0, "merhaba")

Dim hedefSaat
hedefSaat = TimeValue("00:48:00")

Do
    If Time >= hedefSaat Then



Set WshNetwork = WScript.CreateObject("WScript.Network")
        
Set NewXL = CreateObject("Excel.Application")
    
Set MyWB = NewXL.workbooks.open("C:\Users\muratgunay48\Desktop\Interpress\KAPAKLAR\GAZETE KAPAKLARI.xlsm")

NewXL.Visible = True

NewXL.application.run "paz"

MyWB.Close False

NewXL.Quit

Set MyWB = Nothing

Set NewXL  = Nothing

Set WshNetwork = Nothing


        Exit Do
    End If
    WScript.Sleep 1000
Loop

Set objShell = Nothing
 
Üst