2015年9月30日: 【AutoHotKey】 ブラウザからフォルダを開く

【ソリューション事業部 井上】
タイトルで興味を失った方、すみません。。
どうぞ遠慮なくブラウザを閉じでくださいw
さて、年を取ってくると頭が固くなってくるとよく言いますが、
思い込みから気付かずに色んな可能性を狭めているケースは
たくさんあるんだろうなと感じた事が最近ありました。
仕事でプログラムを書いたりするのですが、経験を積めば積むほどできる事の幅は拡がっていくハズなのに、
積んできた経験が自分の思考の範囲をせばめている残念な出来事が。
タイトルにも書いた通り、ブラウザからwindowsエクスプローラーを起動するという事は
IEでは実現できますが、セキュリティの観点からchromeやfirefox等では実現できません。
またバッチファイルやローカルアプリ等の実行もできないので打つ手がありません。
無理なものは無理とこれまで諦めていたのですが、ネットで調べてみるとそれなりに情報があるもので
それっぽく実現する手段が2〜3みつかりました。
結論は、「autohotkeyというソフトを使用して、ブラウザのタイトルから必要な情報を取得してエクスプローラーを起動する」という方法です。
ブラウザからプッシュする方法は前述の通り実現不可な為、windowsアプリ側からプルして実現する解決案。
まさに「押しても駄目なら引いてみる」ですね。

^e::
;[ctr + e]
title   =
dirPath =
;windowタイトルからデータ取得
WinGetActiveTitle, title
;必要に応じてdirを成形
dirPath := makeDirPath( title )
;ディレクトリをエクスプローラーで開く
IfExist, %dirPath%
Run, %dirPath%
Return
makeDirPath( str )
{
dir =
;ここに処理を
return dir
}

データ連携は今分かっている範囲では「ブラウザタイトル」もしくは「選択しているテキスト」のどちらかから取得の2つです。クリップボードという方法もありますが、ウェブ側の実装を考えると少しトリッキーな手法になるかもしれません。
またサーバーサイド・クライアントサイド共にですが、クライアントPCと共通でアクセスできる領域であれば、連携が可能になるかと考えてます。トリガーは常に監視する仕組みを作るか、ショートカットになりますが。。。
他にも取得できるデータはあるのかもしれませんが、調査を進めてみて活用の幅を拡げていきたいと思います。
windowsアプリなので各端末にインストールが必要かと思いきや、exe形式へコンパイルしての配布が可能でした。
そこで社内クライアント端末への配信はタスクスケジュールからバッチファイルで。これで定期的にアプリの更新が可能です。アプリの起動はスタートアップに登録する形を取れば自動化が可能です。
データ連携箇所が限られているので微妙な方法ではありますが、お手軽にブラウザとwindowsアプリの連携がとれるのはwindowsを利用して仕事をしている会社にとっては大変魅力的なツールではないでしょうか。
またスクリプト言語ですので開発の敷居も低く、初心者でもとっつきやすいので嬉しい限りです。
ソリューションの佐藤SEはこのスクリプトを使用して、FAX自動送信の仕組みを開発してもらってます。
近日中に公開予定ですが、活躍するプログラムになるのか、はたまた使いものにならないシステムになるのか、、
佐藤さん頑張ってください!!


さて、私事ではありますが先月娘が誕生しました。
akane
明音(あかね)ちゃんです。
長時間の分娩?を乗り越えて無事元気な姿を見せてくれました。
あとは健康であればそれだけでいい という気持でした、、が
よく泣くので困り果ててる日々ですw
今は色んな方法を試して少しずつ明音ちゃんの癖を見抜いていっています。
デジアラにも子育て先輩方がたくさんいらっしゃるので、情報を仕入ながら
日々の育児に活かしていきたいと思います。
どうぞ宜しくお願い致します。

カテゴリー:
| 投稿者:
DAブログ | DAホールディングス(エクスショップ&ガーデンプラス)

コメント