「Mayhemを使ってみました。」でWindowsスクリプティング・ツール「Mayhem」を紹介しましたが、今回はMayhemに関するちょっとした小ネタを紹介します。
■ イベントや動作を追加する。
“Mayhemを使ってみました。“でも書きましたが、Mayhemでは設定できるイベントや動作を後から追加することができます。
追加方法は簡単で、Mayhemの公式サイトから追加モジュール(mayhemファイル)をダウンロードし、実行するだけです。
・Mayhem Avaliable Add-ons
http://makemayhem.com/Packages/All
モジュールは自分でも作成できるみたいなので、興味がある方は是非作成してみてください。
・Mayhem Tutorials
http://mayhem.codeplex.com/documentation
このmayhemファイル、拡張子はmayhemとなっていますが実態はZipファイルですので、Zip形式に対応した圧縮・解凍ソフトを使えば中身を展開することができます。
試しに「WindowModules.1.0.0.mayhem」ファイルを展開してみると、下図のように「_rels」フォルダ、「lib」フォルダ、「package」フォルダ、「[Content_Types].xml」ファイル、「WindowModules.nuspec」ファイル、といった構成になっていました。
“nuspec“ファイルが出力されたことから、mayhemファイル = NuGetパッケージ、ということが分かりますね。
このことはモジュールを追加した後Mayhemのインストールフォルダ(Windows 7 x86の場合:C:\Program Files\Outercurve\Mayhem)からも確認できます。
・パッケージを作成して NuGet で公開する
http://msdn.microsoft.com/ja-jp/magazine/hh708753.aspx
・NuGetパッケージの作り方、或いはXmlエディタとしてのVisual Studio
http://neue.cc/2011/01/22_298.html
だからといってどうということも無いのですが、nuspecファイルなんかをテキストエディタで開くと、パッケージの情報を確認することができます。
■ Mayhemの設定ファイル
Mayhemでは非常に簡単な手順でイベントや動作の指定ができるわけですが、そこで行った設定はどこに記録されるのでしょうか?
その答えはドキュメントフォルダの中にある「Mayhem」フォルダ内の「settings.xml」です。
settings.xmlファイルをテキストエディタで開くと、下記のようになっています。
Event要素でイベントを、Reaction要素で動作を指定していることが分かりますね。
<ArrayOfConnection xmlns="http://schemas.datacontract.org/2004/07/MayhemCore" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <Connection> <Event i:type="a:DefaultModules.Events.FolderChange" xmlns:a="DefaultModules, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"> <folderToMonitor xmlns="http://schemas.datacontract.org/2004/07/DefaultModules.Events">C:\Test</folderToMonitor> <monitorSubDirs xmlns="http://schemas.datacontract.org/2004/07/DefaultModules.Events">false</monitorSubDirs> </Event> <IsEnabled>true</IsEnabled> <Reaction i:type="a:DefaultModules.Reactions.OpenUrl" xmlns:a="DefaultModules, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"> <Url xmlns="http://schemas.datacontract.org/2004/07/DefaultModules.Reactions">http://www.google.co.jp/</Url> </Reaction> </Connection> </ArrayOfConnection>
他のPCでMayhemを実行する場合、このsettings.xmlファイルもコピーしておけば、すぐに同じイベントで同じ動作を行えるようになるでしょう。
また、監視フォルダのパスの変更など、ちょっとした変更だけを行いたい場合は、テキストエディタでsettings.xmlファイルを修正してしまうのが便利です。
遅蒔きながらOffice Ribbon Editorにインデントのオプションが有る事に気が付きました。これまでは、デフォルトの5文字のTABを使用していましたが、インデントを2文字に変えてみた所、これまで参考にさせて頂いた作例のようにスッキリと書けるようになりました。文字通りの初心者の為に、この設定を紹介しては如何でしょう。
> あくしず様
OREのオプションをご紹介いただき、ありがとうございます。
OREは結構オプションが充実しているので、コーディングする際にはとても助かるものが多いですね。
いずれOREを改めて紹介するときにはオプションの説明も入れたいと思います。
内部マクロからリボンのボタンのグレーアウト制御を行うため、試行錯誤していましたが、教えて頂いたボタンの動的変更を元に、マクロのトップからコールしてボタンのグレーアウトができる記述ができたようです。明日も色々調査しますが、これができれば、諸々のマクロに展開したいと思っています。