Showing posts with label _vbscript. Show all posts
Showing posts with label _vbscript. Show all posts

Sunday, May 8, 2011

[vb] Terbilang (also for Visual Basic Editor in EXCEL)

Syntax: Terbilang(12345)
Result: Dua Belas Ribu Tiga Ratus Empat Puluh Lima Rupiah
 
Option Explicit

Function Terbilang(InputAngka As Double) As String
  Dim I%, strMaxDigit$, arrLevel, arrAngka, TempRp$
  
  arrAngka = Array("", "Se", "Dua", "Tiga", "Empat", "Lima", "Enam", "Tujuh", "Delapan", _
"Sembilan", "Sepuluh")
  arrLevel = Array("Triliun ", "Miliar ", "Juta ", "Ribu ", "")
  strMaxDigit = Right("000000000000000" & Abs(Round(InputAngka, 0)), 15)
  For I = 0 To 4
    TempRp = ""
    If Mid(strMaxDigit, 1 + (3 * I), 1) > 0 Then _
TempRp = arrAngka(Mid(strMaxDigit, 1 + (3 * I), 1)) & " Ratus "
    If Mid(strMaxDigit, 2 + (3 * I), 2) < 11 Then
      TempRp = TempRp & arrAngka(Mid(strMaxDigit, 2 + (3 * I), 2))
    ElseIf Mid(strMaxDigit, 2 + (3 * I), 2) < 20 Then
      TempRp = TempRp & arrAngka(Mid(strMaxDigit, 3 + (3 * I), 1)) & " Belas"
    Else
      TempRp = TempRp & arrAngka(Mid(strMaxDigit, 2 + (3 * I), 1)) & " Puluh " & _
               arrAngka(Mid(strMaxDigit, 3 + (3 * I), 1))
    End If
    If Right(TempRp, 1) <> "" Then TempRp = TempRp & " "
    If TempRp <> "" Then TempRp = TempRp & arrLevel(I)
    Terbilang = Terbilang & TempRp
  Next I
  
  If Terbilang <> "" Then
    Terbilang = Replace(Replace(Replace(Replace(Terbilang, _
                        "Se Ribu", "Seribu"), _
                        "Se Ratus", "Seratus"), _
                        "Se Belas", "Sebelas"), _
                        "Se ", "Satu ")
  End If
  
  If Abs(Round(InputAngka, 0)) = 0 Then Terbilang = "Nol "
  If InputAngka < 0 Then Terbilang = "Minus " & Terbilang
End Function 
 

Friday, October 5, 2007

[windows] Shutdown Windows Using Script

Sub ShutDown()
Dim Connection, WQL, SystemClass, System

'Get connection To local wmi
Set Connection = GetObject("winmgmts:root\cimv2")

'Get Win32_OperatingSystem objects - only one object In the collection
WQL = "Select Name From Win32_OperatingSystem"
Set SystemClass = Connection.ExecQuery(WQL)

'Get one system object
'I think there is no way To get the object using URL?
For Each System In SystemClass
System.Win32ShutDown (2)
Next
End Sub
Value Meaning
0 Log Off
0 + 4 Forced Log Off
1 Shutdown
1 + 4 Forced Shutdown
2 Reboot
2 + 4 Forced Reboot
8 Power Off
8 + 4 Forced Power Off


Simple extension to shutdown remote computer.
Sub ShutDownEx(Server, User, Password)
Dim Connection, WQL, SystemClass, System

'Get connection To remote wmi
Dim Locator
Set Locator = CreateObject("WbemScripting.SWbemLocator")
Set Connection = Locator.ConnectServer(Server, "root\cimv2", User, Password)

'Get Win32_OperatingSystem objects - only one object In the collection
WQL = "Select Name From Win32_OperatingSystem"
Set SystemClass = Connection.ExecQuery(WQL)

'Get one system object
'I think there is no way To get the object using URL?
For Each System In SystemClass
System.Win32ShutDown (2)
Next
End Sub

http://www.motobit.com/tips/detpg_wmi-windows-system-shutdown/