비주얼 스튜디오 2005 단축키 설정 파일, WMI 스크립트를 이용한 자동 설정 파일입니다.

주의사항 : 비주얼 스튜디오의 솔루션 닫기를 누른 후 사용한다.
(비주얼 스튜디오 Title name을 "Microsoft Visual Studio"로 인식하여 스크립트 진행)
(2008-06-13) Regist_vssettings.vbs 스크립트에 문제가 있어서 수정하였습니다.
(2008-07-15) Window XP SP3 에서는 SendKeys Method의 짧은 시간 반복 입력을 막은 것으로 추측됩니다.
Option Explicit
  
' 기본 Object 가져오기
Dim Shell : Set Shell = WScript.CreateObject("WScript.Shell")
Dim FSO : Set FSO = CreateObject("Scripting.FileSystemObject")
Dim WshEnv : Set WshEnv = Shell.Environment("Process")
Dim ProgramDir : ProgramDir = WshEnv("ProgramFiles")
  
'CMD 윈도우 98에서도 적용 가능하게 COMSPEC으로 가져온다.
Dim COMSPEC : COMSPEC = Shell.ExpandEnvironmentStrings("%comspec%")
  
'각 Step별 윈도우 Title 확인
Const WindowTitleName_01 = "Microsoft Visual Studio"
Const WindowTitleName_02 = "설정 가져오기 및 내보내기 마법사"
Const WindowTitleName_03 = "설정 파일 선택"
  
'비주얼 스튜디오 사용자 정의 설정 파일
Dim strSetupFile : strSetupFile = "TTF.vssettings"
  
'Main 함수 실행 후 종료
MainFunction
Wscript.quit
  
'Main 함수
Sub MainFunction
  ' Microsoft Visual Studio - Window Title 변경
  WaitForActiveWindow WindowTitleName_01, 3
  Wscript.Sleep 200
  SendKeys "%(FT)"    ' ALT + F + T
  
  Shell.Popup "Visual Studio 프로젝트를 닫았습니다. 3초 대기 후 진행합니다.", 3, "3 second wait.", 48
  
  WaitForActiveWindow WindowTitleName_01, 3
  Wscript.Sleep 200
  SendKeys "%(TI)"    ' ALT + T + I
  
  ' 설정 가져오기 및 내보내기 마법사 - Window Title 변경
  WaitForActiveWindow WindowTitleName_02, 3
  Wscript.Sleep 200
  SendKeys "%(I)"   ' ALT + I
  SendKeys "%(N)"   ' ALT + N
  
  WaitForActiveWindow WindowTitleName_02, 3
  Wscript.Sleep 200
  SendKeys "%(O)"   ' ALT + O
  SendKeys "%(N)"   ' ALT + N
  
  
  WaitForActiveWindow WindowTitleName_02, 3
  Wscript.Sleep 200
  SendKeys "%(B)"   ' ALT + B
  
  ' 설정 파일 선택 - Window Title 변경
  WaitForActiveWindow WindowTitleName_03, 3 
  Wscript.Sleep 200
  SendKeys "%(N)"   ' 파일이름 입력
  
  '설정파일 경로 구하기
  Dim strFileFullPath
  GetFileFullPath strSetupFile, strFileFullPath
  
  WaitForActiveWindow WindowTitleName_03, 3
  Wscript.Sleep 200
  SendKeys strFileFullPath  ' 파일 경로 + 이름 입력
  SendKeys "%(O)"   ' ALT + O (파일 열기)
  
  WaitForActiveWindow WindowTitleName_02, 3
  Wscript.Sleep 500
  SendKeys "%(N)"   ' ALT + N
  SendKeys "%(F)"   ' ALT + F
  
  WaitForActiveWindow WindowTitleName_02, 3
  SendKeys "{ENTER}"  ' 닫기 Enter
End Sub
  
Sub GetFileFullPath(strFileName, strFileFullPath)
  Dim objFile
  Set objFile = FSO.GetFile( strFileName )
  strFileFullPath = FSO.GetAbsolutePathName(objFile)
End Sub
  
'Window 이름이 동일한 윈도우 창을 활성화
Sub WaitForActiveWindow(WindowName, Second)
  if Second < 0 Then
    Shell.Popup "음수 시간을 설정할 수 없습니다.", 3, "Error!", 48
    Wscript.Quit
  End if
  
  Dim TimeOutCount : TimeOutCount = Second * 10
  
  While ( Shell.AppActivate( WindowName ) = False )
    Wscript.Sleep 1  
    if TimeOutCount < 0 Then
      Shell.Popup WindowName & " 윈도우를 찾을 수 없습니다. 실행을 종료합니다.", 5, "Can't Find Window", 48
      Wscript.Quit
    End if
  
    Wscript.Sleep 100
    TimeOutCount = TimeOutCount - 1
  WEnd
  Wscript.Sleep 200
End Sub
  
'SendKey를 Sleep(200)로 감싼다. XP SP3 버그 임시 해결 by TTF
Sub SendKeys( Keys )
  Wscript.Sleep 200
  Shell.SendKeys Keys
End Sub



Macro 추가 버전
2008/06/13 03:21 2008/06/13 03:21

글 걸기 주소 : 이 글에는 트랙백을 보낼 수 없습니다

덧글을 달아 주세요