3つの渡し先
PC操作の編集画面で、操作ごとに次の設定をします。設定をオンにしたボタンだけに検索語を渡し、ほかのボタンの動きは変わりません。
| 操作 | 設定する場所 | 受け取り方 |
|---|---|---|
| Excelマクロ | 「検索語入力欄の内容をマクロの引数で渡す」をオンにする | マクロの第1引数 |
| PCでコードを使う | 「検索語入力欄の内容をコードに渡す」をオンにする | コードの種類ごとに決まった名前で受け取る |
| ファイルを開く / アプリを起動 | 「起動時の引数」に1行に1つ書く | {検索語} の部分が置き換わる |
検索語入力欄に入れた文字を、Excelマクロ、PCで使うコード、アプリの起動時の引数へ、1つの値として渡せます。 このページは、自分でコードを書く人と、コードを書くAIの両方に向けた仕様です。
PC操作の編集画面で、操作ごとに次の設定をします。設定をオンにしたボタンだけに検索語を渡し、ほかのボタンの動きは変わりません。
| 操作 | 設定する場所 | 受け取り方 |
|---|---|---|
| Excelマクロ | 「検索語入力欄の内容をマクロの引数で渡す」をオンにする | マクロの第1引数 |
| PCでコードを使う | 「検索語入力欄の内容をコードに渡す」をオンにする | コードの種類ごとに決まった名前で受け取る |
| ファイルを開く / アプリを起動 | 「起動時の引数」に1行に1つ書く | {検索語} の部分が置き換わる |
マクロは、文字列の引数を1つ受け取る形にします。引数の無いマクロでこの設定をオンにすると、マクロを実行できずにエラーになります。
Sub SearchWord(word As String)
If word = "" Then Exit Sub
Dim ws As Worksheet, hit As Range
For Each ws In ActiveWorkbook.Worksheets
Set hit = ws.Cells.Find(What:=word, LookAt:=xlPart, MatchCase:=False)
If Not hit Is Nothing Then
ws.Activate
hit.Select
Exit Sub
End If
Next ws
MsgBox "Not found: " & word
End Sub
完成例: 検索語 → 架空SQLite顧客DB → CSV・HTML → 任意で結果URLを保存。短いコード例から業務ツールへ進む場合は、必要環境と試験手順も確認できます。
コードの種類ごとに、次の名前で検索語を受け取ります。検索語はコードの本文に書き込まれず、引数や環境変数として別に渡ります。
| 種類 | 受け取り方 | 補足 |
|---|---|---|
| PowerShell(Windows) | $env:LINKJUMKEY_INPUT | $args には入りません |
| コマンドプロンプト(Windows) | !LINKJUMKEY_INPUT! | %LINKJUMKEY_INPUT% は使いません |
| AppleScript(Mac) | item 1 of argv | on run argv の中で受け取ります。system attribute は日本語が崩れるため使いません |
| シェルコマンド(Mac) | "$1" または "$LINKJUMKEY_INPUT" | 必ずダブルクォートで囲みます |
外部の.ps1/.psm1に日本語を書く場合は、PowerShell 5.1で読めるUTF-8 BOM付きで保存します。HTTPへJSONを送る時はUTF-8バイト列とcharset=utf-8を明示します。APIの完全な例を参照してください。
ドキュメントフォルダから、名前に検索語を含む最初のファイルを開きます。
[Console]::OutputEncoding = [Text.Encoding]::UTF8
$term = $env:LINKJUMKEY_INPUT
if ([string]::IsNullOrEmpty($term)) { Write-Output "Search term is empty"; exit }
$hit = Get-ChildItem -Path "$env:USERPROFILE\Documents" -Recurse -File -Filter "*$term*" -ErrorAction SilentlyContinue | Select-Object -First 1
if ($hit) { Invoke-Item -LiteralPath $hit.FullName } else { Write-Output "Not found: $term" }
ドキュメントフォルダから、名前に検索語を含むファイルの一覧を表示します。
chcp 65001 >nul
dir /s /b "%USERPROFILE%\Documents\*!LINKJUMKEY_INPUT!*"
書類フォルダから、名前に検索語を含む最初のファイルを開きます。
on run argv
set term to item 1 of argv
if term is "" then return "Search term is empty"
set found to do shell script "mdfind -onlyin ~/Documents -name " & quoted form of term & " | head -n 1"
if found is "" then return "Not found: " & term
do shell script "open " & quoted form of found
return found
end run
term="$1"
if [ -z "$term" ]; then echo "Search term is empty"; exit 0; fi
file=$(mdfind -onlyin "$HOME/Documents" -name "$term" | head -n 1)
if [ -n "$file" ]; then open "$file"; else echo "Not found: $term"; fi
Adobeの説明では、/A に続けて search= を渡すと、検索した状態でPDFを開きます。アプリの対応はバージョンによって変わるため、最初に「PCで試す」で確認してください。
ChatGPT、Claude、Geminiなどに次を貼り、やりたいことを書き足してください。
LinkJumkey の「PCでコードを使う」で動くコードを書いてください。
OS: Windows 11(Macなら macOS と書き換え)
コードの種類: PowerShell(Macなら AppleScript またはシェル)
LinkJumkey の検索語入力欄の文字は、次の方法で受け取ってください。
- PowerShell: $env:LINKJUMKEY_INPUT
- コマンドプロンプト: !LINKJUMKEY_INPUT!(%LINKJUMKEY_INPUT% は使わない)
- AppleScript: on run argv の item 1 of argv
- シェル: "$1"(必ずダブルクォートで囲む)
- Excelマクロ: Sub 名前(word As String) の第1引数
検索語は前後の空白を除いた1つの文字列で、空のこともあります。
検索語をコマンドの文字列に組み込んで実行しないでください
(Invoke-Expression、eval、cmd /c、do shell script への直接連結など)。
仕様: https://linkjumkey.matsumotojoho.com/guide/linkjumkey-input-arguments.txt
やりたいこと: ここに書く
AIが作ったコードは「PCでコードを使う」に貼り付け、「検索語入力欄の内容をコードに渡す」をオンにして保存します。保存の前に「PCで試す」で動きを確認してください。
検索語は、PCの前の人だけでなく、ペアリングしたスマホのPadからも届きます。コードの中では検索語をデータとして扱い、命令の一部にしないでください。
LinkJumkeyは、検索語をコードや起動コマンドの本文に書き込まず、引数と環境変数としてだけ渡します。この設定を使うボタンは、外部の実行リンクからは動きません。設定を変えたボタンは、そのPCで保存して確認するまで実行できません。
| 項目 | 使える手順 | 意味 |
|---|---|---|
"passInput": true | runMacro(+Autoでは runScript も) | 検索語をマクロの第1引数、またはコードに渡す |
"launchArgs": ["…"] | openApp / openFile | 起動時の引数。1要素が1つの引数で、{検索語} を置き換える |
PC操作ボタン1つ分の例です。
{
"title": "請求書を検索",
"steps": [
{ "kind": "runMacro", "file": "C:\\Users\\yourname\\Documents\\検索.xlsm", "macro": "Module1.SearchWord", "passInput": true },
{ "kind": "openFile", "app": "Adobe Acrobat", "file": "C:\\Users\\yourname\\Documents\\請求書一覧.pdf", "launchArgs": ["/A", "search={検索語}"] }
]
}
| 症状 | 確認すること |
|---|---|
| Excelマクロの実行でエラーになる | マクロが引数を1つ受け取る形(例: Sub SearchWord(word As String))になっているか |
| 検索語が空で届く | 押す前に検索語入力欄へ入力したか。クリップボードは使いません |
| 実行リンクから押すと動かない | この設定を使うボタンは、LinkJumkeyの画面かPadから押します |
| Macで起動時の引数が効かない | アプリを終了してから押します |
| コマンドを実行するアプリには渡せないと表示される | 「PCでコードを使う」に切り替えます |
| Windowsでコードの中に書いた日本語が崩れる | PC版を1.8.17以降に更新します。更新できない場合は、日本語を検索語として渡すか、PowerShellでは \u 表記で書きます |
| PowerShellで最後の if / else などが実行されない | PC版を1.8.17以降に更新します |
| 結果画面の日本語が崩れる | コマンドプロンプトは chcp 65001 を使います。PowerShellは1.8.17以降で直ります |