2010-08-10 2 views
3

수동으로 파일을 마우스 오른쪽 버튼으로 클릭하고 "open with"옵션을 선택하여 다른 형식으로 엽니 다."Open with"vbscript를 통한 옵션

지금 난 당신이 VBScript를 가진 연결 스크립트를 만들려면 사용자가 파일을 클릭 작성하고 특정 프로그램을 열 때, 예를 들어, VBScript를

+1

나는 당신이 무엇을 요구하고 있는지 분명하지 않다. a) 당신의 VBScript가 "연결 프로그램"메뉴에서 사용할 수있는 옵션 중 하나이거나 b) 파일이 주어지면, 사용 가능한 "연결 프로그램"항목 목록 및 VBScript를 통해 해당 항목 중 하나를 호출 할 수 있습니다. c) VBScript를 통해 파일이 제공된 경우 "연결 프로그램"대화 상자가 나타나게 하시겠습니까? –

+0

원래 파일 형식이 아닌 다른 형식으로 파일을 열어야합니다. 예 : 파일이 vbscript를 통해 단어 형식 인 경우 notpad 형식으로 열어야합니다. – Ramesh

+0

기본 애플리케이션과 다른 애플리케이션을 사용하여 파일을여시겠습니까? – Helen

답변

0

을 통해이 작업을 수행 할 필요가, 당신은 내가 가진이 스크립트를 사용할 수 있습니다 돌아 오는 길에 생성 :

'Run Script 
InsertContextMenu 

Sub InsertContextMenu() 
Dim sText 
Dim sExePath 

'For executable-only context menu, the key should be created here 
'HKEY_CLASSES_ROOT\exefile\shell 

sText = InputBox ("Enter the Text for the context menu." & vbNewLine & vbNewLine & "Example" & vbNewLine & "Open with Notepad") 

If Len(Trim(sText)) > 0 Then 
    sExePath = InputBox ("Enter the path of the executable file for the context menu." & vbNewLine & vbNewLine & "Example" & vbNewLine & "C:\Windows\Notepad.exe") 
    If Len(Trim(sExePath)) > 0 Then 
     Set SHL = CreateObject ("WScript.Shell") 
     SHL.RegWrite "HKCR\*\Shell\" & sText & "\",sText 
     SHL.RegWrite "HKCR\*\Shell\" & sText & "\Command\", sExePath & " %1" 

     If Len(SHL.RegRead ("HKCR\*\Shell\" & sText & "\Command\")) > 0 Then 
      MsgBox "The Context Menu successfully created !.",vbInformation 
     Else 
      MsgBox "An unknown error has occured !!",vbCritical 
     End If 
    End If 
End If 

Set SHL = Nothing 
End Sub 

그냥 코드를 복사 및 붙여 넣기 파일에 해당 파일을 .vbs 확장을 제공합니다.

+0

다른 파일 형식으로 열 파일 경로를 어디에 두어야합니까? – Ramesh

+0

스크립트를 실행하면 예제와 함께 경로를 묻습니다. – Sarfraz

+0

나는 시도했지만 파일이 열리지 않습니다. "컨텍스트 메뉴가 성공적으로 생성되었습니다"라는 메시지가 나타납니다. 을 물어볼 때 주어진 형식으로 열려고합니다. – Ramesh

7

특정 응용 프로그램을 사용하여 파일을 열려면 WshShell.Run 메서드를 사용하여 해당 응용 프로그램을 실행하고 파일 이름을 매개 변수로 전달하십시오. 파일 이름에 공백이 포함되어있는 경우, 당신은 다음과 같이 따옴표로 enslose 필요가

strFileName = "c:\myfile.txt" 
Set oShell = CreateObject("WScript.Shell") 

oShell.Run "notepad " & strFileName 
oShell.Run "iexplore " & strFileName 
oShell.Run "winword " & strFileName 

참고 : 여기에

메모장, Internet Explorer 및 Microsoft Word에서 같은 텍스트 파일을 여는 예제

oShell.Run "winword ""c:\my file.txt""" 
+0

Helen .. 코드가 처음으로 작동했습니다. 나중에 "Microsoft VBScript 런타임 오류 '800a0046' 권한이 거부되었습니다. "하지만 코드 나 파일 경로 또는 파일 사용 권한을 변경하지 않았습니다. – Ramesh