본문 바로가기
stdFrog/알쓸잡

[VBScript] 1. 간단한 타이머, 스톱워치 만들기

by stdFrog 2021. 4. 2.

서론

 CMD와 VBS에 빠져 살다가 자격증 공부를 다시 시작했습니다. 그간 수집한 자료를 몇 가지 공유하고자 CMD와 VBS의카테고리를 나눠 정리해보려 합니다 기능과 서술, 연산자, 예제 등을 대략 5~10부로 나눠 작성할 예정이며 오늘은 VBS를 배우고 처음 만들고자 했던 타이머 기능을 구현해봤습니다.

 

Option Explicit

Dim Spv, Sapi
Dim n, x, t

Set Sapi = Wscript.CreateObject("SAPI.Spvoice")

n = InputBox("Enter timer interval in Seconds","Set Timer") ' 텍스트와 타이틀

Do Until IsNumeric(n)=True
n = InputBox("Invalid Entry" & vbnewline & vbnewline & "Enter Timer Interval in Seconds","Set Timer")

Loop

If n<>""Then

      Spv = (n & "cho Timer sijak.") '영어만 인식됩니다 :(
      Sapi.Speak spv
Do
      Wscript.Sleep n*1000\2 '분 단위로 바꾸고 싶다면 [n*60*1000\2]
      x = (n\2 & "Cho.")
      Sapi.Speak x '내레이터 출력 후 시간 흐름
      Wscript.Sleep n*1000\2
      t = MsgBox("Take a Walk." & vbnewline & vbnewline & "Restart Timer?", vbYesNo, "It's been " & n & "Second(s)")

         If t = 6 Then ' Yes 선택 시 다시 진행

         Else Exit do ' No 선택 시 종료

         End If

Loop

End If
' "1000"은 밀리세컨으로 입력한 숫자를 초단위로 변경
' "\2"는 산술연산자로 두 수를 나눈 후 정수 값을 반환
' 만약 소수점(부동) 반환 필요 시 " / " 연산자 사용
' Sapivoice는 접근성 센터(Window + R + Utilman입력)에서 내레이터 항목 변경 가능
' Set Spv.Voice = Spv.Voices.Item( ) 문장 추가하여 내레이터 목소리 변경 가능
' Spv.Vocies.Item( ) 옵션은 0 or 1 | 남성 목소리 (0), 여성 목소리 (1) | Zira = 여성, David = 남성

설명

- [Option Explicit] : 파일의 모든 변수를 명시적으로 선언하거나 변수의 암시적 선언을 허용합니다.
- [Dim] : 하나 이상의 변수를 선언하고 공간을 할당합니다.
- [Set] : 값을 할당하는 데 사용되는 속성 프로시저를 선언합니다.

Do, If , Loop에 대한 설명은 생략하겠습니다.

동작

- 입력 상자를 출력하여 사용자에게 값을 받습니다.
- 입력된 값이 숫자가 아니면 다시 입력 상자를 출력하여 값을 받습니다.
- 만약 입력한 값이 공백 혹은, 텍스트가 아니라면 그 값을 반환합니다
- 반환된 값과 추가 텍스트를 내레이터로 출력합니다.
- 윈도우 스크립트(Wscript)를 사용자가 입력한 값만큼 잠시 멈추게 합니다.

      ※ [Wscript.Sleep n*1000\2] : 코드 하단에 있는 설명 참고

- 절반의 시간이 흐른 후 남은 시간을 내레이터로 출력하고 다시 타이머가 시작됩니다.

- 타이머가 종료되면 메시지가 생성되고 다시 시작하거나 종료할 수 있습니다.



저장 및 실행 방법

 코드를 복사한 후 메모장에 붙여 넣고 확장자를 .vbs로 변환하여 저장하면 vbs파일이 생성됩니다. 생성된 파일을 실행하면 위 사진처럼 입력 상자가 나타나고 입력 칸에 숫자를 입력하시면 됩니다.

 

## 실용적이지도 않고 잘 만들어진 코드도 아니기 때문에 VBS가 궁금하신 분들만 한 번쯤 사용해보시면 좋을 것 같습니다. ##

 

내레이터 설정

- 내레이터는 제어판에서 속도나 볼륨, 언어 등의 설정을 변경할 수 있습니다
- 내레이터 메뉴를 눌러 설정을 확인하고 [내레이터 음성 맞춤 설정] 탭에서 필요한 기능을 활성화합니다.

* 아래 사진 참고

 

음성 변경 방법

- 음성을 변경하고 싶다면 [음성 선택] 탭에서 설정해주시면 됩니다. 제 컴퓨터엔 남성 목소리인 David가 포함되어 있지 않습니다. 남성 목소리 TTS(David)는 Microsoft 홈페이지에서 다운로드 방법을 확인하실 수 있습니다.

* 아래 링크 참조 [English United States TTS Voice 다운 및 설정]

 

Download voices for Immersive Reader, Read Mode, and Read Aloud

For customers using OneNote Learning Tools, Learning Tools in Word, and Read Aloud in the Editor pane in Office and the Microsoft Edge browser, this article documents ways to download new languages for the Text-to-Speech feature in different versions of Wi

support.microsoft.com

글은 여기서 마치겠습니다

감사합니다.


반응형

댓글