プロが教える店舗&オフィスのセキュリティ対策術

WSHで画像ファイル情報をHTMLに整形してクリップボードに送りたいです。

エクスプローラでjpg/gif/pngを右クリックしたときだけ
コンテキストメニューに「タグ取得」みたいなメニューが出てきて
それをクリックすると、クリップボードにとりあえず
<img src="imgname.gif" width="xxx" height="xxx" alt="imgname.gif">
というタグを送りたいです。

jpg/gif/pngを右クリックしたときのコンテキストメニューへの「タグ取得」の追加はContexterでやります。
http://pasokon-yugi.cool.ne.jp/~ko-ichi/

当方の環境は、WindowsXP(SP2)、.NET Framework 3.0などです。
よろしくお願い致します

A 回答 (1件)

Windows XPでしたらイメージファイルのwidth×heightをプロパティから求められます。



拡張ファイル プロパティの取得
http://www.microsoft.com/japan/technet/scriptcen …

上記を参考にファイルをドロップすると大きさを表示するWSH VBSciptを書いてみました。

-----
Set Fs = WScript.CreateObject("Scripting.FileSystemObject")
if (WScript.Arguments.Count <> 1) then
WScript.Echo "画像ファイルを一つだけドロップして下さい。"
WScript.Quit
end if
strFName = WScript.Arguments(0)
Set sh = CreateObject("Shell.Application")
Set ns = sh.Namespace(Fs.GetParentFolderName(strFName))
Set f = ns.ParseName(Fs.GetFileName(strFName))
strW = ns.GetDetailsOf(f,27)
strH = ns.GetDetailsOf(f,28)
if strW <> "" then
WScript.Echo """" & strFName & """ の大きさは " & strW & " × " & strH
else
WScript.Echo """" & strFName & """ は画像ファイルではないようです。"
end if
-----

次の関門は、WSH自身にはクリップボードを操作する機能がないことです。これについては外部プログラムを利用します。例えばAutoItX.dllのClipPutが使えます。

AutoIt v3 - Automate and Script Windows Tasks - For Free!
http://www.hiddensoft.com/AutoIt/
    • good
    • 0
この回答へのお礼

SHIMAPEEさん、大変丁寧なご回答ありがとうございました。
スクリプトまで書いていただき、恐縮です。
また、御礼の方が大変遅くなりまして、誠に失礼いたしました。

WSHの方では、うまくサイズを取得できました。

AutoItX.dll の方は未着手なのですが、検討のうえ、
また不明な点があれば新規に質問させていただきます。

以上、まずは心より御礼申し上げます。

お礼日時:2007/08/15 07:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!