자료실

부자는 돈을 써서 시간을 아끼지만 가난한 사람은 시간을 써서 돈을 아낀다

vb6.0/vba

IT HUB를 찾아주셔서 감사합니다.

vb6.0/vba [vba] Exec() 사용시 명령 프롬프트 창 숨기기( Hide command prompt window when using …

페이지 정보

profile_image
작성자 하나를하더라도최선을
댓글 0건 조회 5,281회 작성일 20-09-22 23:45

본문

Sub 파일검색()

Dim dirPath As String, temPath As String, T As String

dirPath = """D:\My Project\Excel\*.xls*"""

temPath = "D:\tem.txt"

CreateObject("wscript.shell").Run "cmd /c dir " & _

dirPath & " /s /b > " & temPath, 0, False

Do Until Dir(temPath) <> "": DoEvents: Loop

Do Until FileLen(temPath) > 0: DoEvents: Loop

With CreateObject("Scripting.FileSystemObject")

T = .OpenTextFile(temPath).ReadAll()

On Error Resume Next

Do

If Err Then Err.Clear

.DeleteFile temPath

Loop Until Err = 0

End With

MsgBox T

End Sub

다른 방법으로 아래처럼 사용이 가능하지만 위와 결과가 좀 다르게 나온다.

Dim T As String, RunCommand As String

RunCommand = "cmd /c dir " & """D:\My Project\Excel\*.xls*"""

T = CreateObject("Wscript.Shell").Exec( _

RunCommand _

).StdOut.ReadAll

이와 같은 방법을 사용하면 cmd 창이 보인다는 단점이 있습니다.

"ipconfig" 를 실행 해보겠습니다.

Debug.? CreateObject("wscript.shell") _

.Exec("ipconfig /all") _

.StdOut.ReadAll()

50b756edc50f03452423195dd81c2b67_1600785882_7536.png
 

간단히 내 컴퓨터의 IP를 확인하고자 할경우 사용할 수 있겠네요

실제 IP 확인하는 함수는 아래와 같이 사용합니다.

Function GetIPAddress()

Const strComputer As String = "." ' Computer name. Dot means local computer

Dim objWMIService, IPConfigSet, IPConfig, IPAddress, i

Dim strIPAddress As String

' Connect to the WMI service

Set objWMIService = GetObject("winmgmts:" _

& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

' Get all TCP/IP-enabled network adapters

Set IPConfigSet = objWMIService.ExecQuery _

("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")

' Get all IP addresses associated with these adapters

For Each IPConfig In IPConfigSet

IPAddress = IPConfig.IPAddress

If Not IsNull(IPAddress) Then

strIPAddress = strIPAddress & Join(IPAddress, ", ")

End If

Next

GetIPAddress = strIPAddress

End Function



댓글목록

등록된 댓글이 없습니다.