
추가 인수를 사용하여 프로그램을 실행하는 쉘 명령이 있습니다.
Shell "C:\Program Files\uvnc bvba\UltraVnc\vncviewer" & " " & Range("$G3")
셀 G3에는 프로그램을 시작하려는 IP 주소가 포함되어 있습니다.
명령 단추에서 명령을 시작하는 데 문제가 없지만 다음을 사용하여 하이퍼링크된 셀의 인수로 프로그램을 시작하고 싶습니다.
= HYPERLINK("C:\Program Files\uvnc bvba\UltraVnc\vncviewer" & " " & Range("$G3"))
그러나 하이퍼링크는 선택적 인수를 사용하여 프로그램을 열 수 없습니다.
선택적 인수를 사용하여 하이퍼링크에서 프로그램을 열 수 있습니까?
답변1
VBA를 사용하여 알아 냈습니다.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Application.Intersect(Target, Range("range here")) Is Nothing Then
Call Shell("program location" & " " & Target)
Else
이제 IP가 포함된 시트의 셀을 두 번 클릭하면 해당 IP로 프로그램이 실행됩니다.
답변2
Excel 하이퍼링크는 웹 페이지, PDF 파일 또는 Microsoft Office와 호환되는 기타 파일을 여는 데 적합합니다. 그러나 하이퍼링크를 사용하여 EXE, BAT, CMD, VBS 등과 같은 명령 파일을 열 때 특정 문제가 있습니다. 예를 들면 다음과 같습니다.
• 확인/취소 버튼이 있는 경고 대화 상자를 협상해야 합니다.
• 특히 다른 셀에 의존하는 경우 명령줄 인수를 추가하는 것은 편리하지 않습니다.
• 특히 Excel 파일이 이동된 경우 명령 파일의 경로를 지정하기 어려울 수 있습니다.
• 명령 파일의 바로 가기를 지정할 때 해당 유형(.LNK)이 포함되어야 합니다.
• CMD 또는 VBS와 같은 길거나 복잡한 스크립트 파일을 열면 쉘 창이 깜박입니다.
여기에 설명된 기술은 표준 Excel 하이퍼링크에 영향을 주지 않고 이러한 문제를 해결합니다.http://blog.contextures.com/archives/2017/09/14/excel-hyperlinks-run-command-files/
이 솔루션은 RUN::COMMAND와 같은 텍스트를 하이퍼링크 셀에 추가한 다음 워크시트의 FollowHyperlink 이벤트 코드에 추가된 VBA를 사용하여 해당 텍스트를 처리합니다. 예를 들어 하이퍼링크의 셀이 다음과 같이 표시되는 경우
This cell is a hyperlink to RUN::"Notepad.exe" "SomeFilePath.BAS"
그러면 지정된 BAS 파일이 메모장에서 열립니다.