
追加の引数を指定してプログラムを実行するためのシェル コマンドがあります。
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 ハイパーリンクは、Web ページ、PDF ファイル、または Microsoft Office と互換性のあるその他のファイルを開くのに適しています。ただし、ハイパーリンクを使用して EXE、BAT、CMD、VBS などのコマンド ファイルを開く場合は、特定の問題が発生します。例:
• [OK]/[キャンセル] ボタンのある警告ダイアログ ボックスをネゴシエートする必要があります。
• 特に他のセルに依存するコマンドライン引数を追加するのは便利ではありません。
• 特に 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 ファイルがメモ帳で開かれます。