2013/03/28

Visual Studio エディタライクのHTML作成

コードに Visual Studio のエディタと同じような文字色を付ける変換ツールを改良しました.

使い方等は「Visual Studio C# エディタの配色のHTMLを生成」を見てください.

Visual Studio 2012 Express for Windows Desktop が公開されたことをきっかけに, Visual Studio 2012 への対応を行いました.

Visual Studio 2012 では2種類のデザインが選択できるため, 複数のVersionの中から最も適切な配色を選択するような仕様に変更しました.

また,以前は日本語等のマルチバイトコードは文字化けしていましたが,新バージョンでマルチバイトコード対応になりました.

更に,scriptを用いたコードの折りたたみも改良し,折りたたんだ部分がわかりやすくなりました.

加えて,既に生成されているHTMLファイルへリンクをはる機能も付けてみました.
これで,.NETがなくても参照できる簡単なドキュメントも作れるのではないでしょうか.

Windows 8 を使い始めて

細かく精密なマウス動作を指でのタッチで行うための支援ソフト(CharMY Cat's Hand ~猫の手~)を公開しました.


Windows 8 のデスクトップ上でタッチ非対応のアプリ等を利用する場合,
タッチ操作では細かい部分のクリック操作が難しく,結局マウスが必要になることもあります.
そこで,細かいタッチ操作を支援するソフトを開発しました.


タッチ操作で最も難しいのは正確なポイントのタップです.
Windows 8 デスクトップ上のマウスクリックはタップ操作で代用されていますが,
これでは正確なクリックができないこともあります.
一方,スライド操作に関してはある程度正確な距離検出が可能だといえます.
そこで,スライド操作で正確なクリック位置を決めて,クリックする.
まるで,画面上のマウスを動かすように操作を行い,
マウスジェスチャをエミュレートするソフトを開発しました.


拡大鏡でも細かな操作は可能かもしれませんが,
全体を把握しながらの操作が必要なこともあります.
そんなときに活用されればと思います.



ソフトを起動して画面に触れると,触れた位置に下の画像の指のようなマークが現れます.
2本の指で触れると,猫の手?(どちらかというと熊や虎っぽいですが)の形が現れ,
その先にカーソルも現れます.



順番に指を離すことでカーソル位置をクリックする動作がエミュレートされる仕組みです.
右クリックやダブルクリック・ドラックドロップ等も指を離す順番によってエミュレートできるようにしました.


PCがタッチ画面対応でなくても,操作を試せるように,マウスで指の触・離をエミュレートできるようにもしました.

2013/03/18

置換機能特化型ファイルリネーマ×テキストエディタ

置換機能を充実させたファイルリネーマにもなるテキストエディタ(いろかオルカ)を公開しました.


様々な条件によるテキストおよび背景色のカラーリングが可能です. 従来のものと異なり,テキストと背景色のカラーリングには別々の条件が指定できるので, 面白い使い方ができるかもしれません.

また,独自タグを利用した連番処理等,高度な置換機能をサポートしています. 一部の特殊な置換機能は,ショートカットとして組み込んであります.



更に,マクロの記録・編集機能を実装しており,本エディタ上での編集も可能です. このマクロはC#におけるメソッド内のステートメント群に準じた仕様になっており, 基本的な .NET Framework のオブジェクトが利用可能です.

ファイル名編集の機能は,ファイルの一覧をこのテキストエディタで編集し,ファイル名を変更する仕様で, 既に公開しているファイル名一覧変更 TextEditor : MYFileReNamer.NETを踏襲したものです.

ソース(C# 4.0)も一緒に公開しているので,ちょっとした機能の追加もできるかもしれません.

高度な置換機能として置換パターン(置換した後の文字列)で 以下の数種類の特殊なタグが利用できるようになっています.
名前 タグ 説明
特殊タグ \#0 行番号
\#1更新日付※1
\#2更新時刻※1
\#3ファイルサイズ※1
\#4曲のタイトル※1
\#5曲のアルバム※1
\#6曲のアーティスト※1
\#7曲のジャンル※1
\#8曲の番号※1
連番タグ \@@@ @の数が文字数, 初期値(i)・特殊な連番は式入力が必要
演算タグ \@2 検索パターン中のグループ(@後の数字がグループ番号)中の 数値(num)を入力した式(C#)に従って計算した値に置換.初期値は i + num
連番の初期値(i)・特殊な連番はCALCURATE(数値演算)をチェックすると変更可能になります.
連番の値(i)は連番・演算置換の度に1増えます.
(※1 リネーム時のみ使用可能)

もちろん従来の正規表現タグも使用可能です.
名前 タグ 説明
特殊文字タグ \n, \t 改行, タブなど
置換時の検索一致タグ \0, \1, \2, ... 検索パターン中の()で囲まれたグループ
(\0 は検索文字列)
大文字小文字変換タグ \0U, \2L U/L がついた検索一致タグの示す 大文字/小文字 に変換された検索文字列

2012/12/24

Visual Studio C# エディタの配色のHTMLを生成

コードに Visual Studio のエディタと同じような文字色を付けたかったので,変換コードを作成しました.

http://code.google.com/p/google-code-prettify/のような外部ライブラリは動的に色を付けるため,どうしてもキーワードや文字列など正規表現で判別できる区間でしか色を変化させられません.クラスとインターフェイスで異なる色を付ける Visual Studio のエディタの配色を再現するにはどうしても,静的な変換をせざるをえませんでした.

Visual Studio のエディタで現在設定している色は CurrentSettings.vssettings で定義されており,このファイルをもとに色をつけてみようと考えました.一方,Visual Studio エディタ上のテキストをコピーし,rich text で貼り付けようとすると,なんとテキストの色付きでコピーされます.そのため,この rich text を CurrentSettings.vssettings の配色と class 属性を対応させた HTML に変換し,CSSに対応関係を記述することで,CSSを書き換えて配色のみ変更することも可能にしました.

自動的に変換後の HTML と CSS を出力するソフト公開中.

Visual Studio 2010 C# エディタ上でHTMLにしたい区間を選択してコピー,実行ファイルを実行すると デスクトップ/output/html/ フォルダに自動的にファイルが作成されます.

CSSを同時に生成し,配色を CSS で後から変更することも可能です.また,同時に生成する javaScript によってコードの折りたたみを再現しました.

実行時に /nocss オプションを付けると css と javaScript をHTMLに埋め込みます.(スマートフォン用?)
実行時に /noclp オプションを付けると折りたたみ階層の表示をOFFにします.

2011/09/13

ExcelデータからPowerPoint図形やVisio図形を作成するマクロを公開しています.

ExcelData - VisioFigure Converter : VBAマクロ

ノードとリンクを含むグラフを描くのは意外と大変ではないでしょうか?
簡単なネットワーク図でも,値ごとにリンクの太さや色を変えて…と編集しようとすると,結構手間がかかったりします.

このマクロでは,ノードのx,y座標とリンクの始ノード終ノードを入力するだけでネットワークの大枠が出来上がります.
更に,線の太さや色,矢印,テキスト等をエクセル上で編集できるので,簡単にネットワーク上の数値を可視化できます.


Excelシートの各行が1つの図形情報を表すデータとして扱われます.
Excelシートの最上行はラベルです.
   ※一致する名前のラベルが存在しない場合は,いずれかのマクロを実行すると,対応するシートとラベルが自動的に作成されます.
   ※Excelシートの最上行はラベルで,ラベル名・ラベルの存在する行を変更すると対応関係が崩れますが,
    各列の順序等は変更しても問題なく動作します.よって,メモなどを間に挟むことも可能です.


PowerPoint,Visioのマクロはインストールされていないとエラーとなりますが, 実行時にアプリケーションが起動していなくても自動的に起動します.
  ※Visio/PowerPointが無くてもVisio/PowerPoint以外のマクロは使用可能
  ※Visioマクロが最も高機能です.
  ※X座標は左から右へ行くにしたがって値が増加します.
  ※Y座標はVisioの場合下から上へ,それ以外では上から下へ行くにしたがって値が増加します.




使い方としては,まずサンプルデータで実行してみた後,少しずつデータを変更していくとよいでしょう.

実行可能マクロ一覧:
マクロ名 説明
ActionReMakeFigureExcel_
図形更新
アクティブなExcelのシート上のラベル(後述)に対応したセルに 入力されたデータを元にExcel,PowerPoint,Visioの図形を描く.
※上記3つのマクロがそれぞれExcel,PowerPoint,Visio用のマクロに対応しています.
※対応したシート・スライド(PowerPoint)・ページ(Visio)上の図形は全て始めに消去されます.
※対応したスライド・ページが無い場合は新しく作成されます.
※Visioでは Excelのシート名とVisioのページ名が対応付けされます.
ActionReMakeFigurePowerPoint_
図形更新
ActionReMakeFigureVisio_
図形更新
ActionUpdateFigureExcelData_
図形情報取得
アクティブなExcelシートの図形情報を同一シートのセルに入力します.
ActionUpdateFigurePowerPointData_
図形情報取得
アクティブなPowerPointの最終Slideの図形情報をExcelのセルに入力します.
※アクティブなExcelのシートが利用されます.
ActionUpdateFigureVisioData_
図形情報取得
アクティブなVisioのページの図形情報をExcelのセルに入力します.
※Visioのページ名とExcelのシート名が対応付けされます.
※対応したシートが無い場合は新しいExcelシートが作成されます.


図形の種類は □(R)Rectangle.長方形 ○(O)Oval/楕円 |(L)Line/線 ┐(C)Connector/コネクタ の四種類
   ※|┐は始端・終端の識別名を入力することによっても形状を変更できます.


図形の形状等はセルに入力された数値と対応付けられます.
   ※入力されていない場合・セルの背景色が灰色の場合,その入力は無視されます.


図形の色情報(背景色・線の色)はセルの背景色に対応します.
   ※2007~の条件付き書式で設定された背景色は反映されません.
   ※数値毎の背景色を設定したい場合は背景色を変更するマクロを利用してください.
   ※塗りつぶしなしの場合は色の変更が無視されます.


図形の文字情報(テキスト・フォント・文字の色・文字位置 等)はセルのそれに対応します.
   ※入力されていない場合・セルの背景色が灰色の場合,その入力は無視されます.
   ※特にVisioフォントの反映は処理に時間がかかるため入力を無視させることを推奨します.
   ※文字の大きさのみ数値で指定します.


編集可能項目一覧:
ラベル名
English / 日本語
(有効値の範囲)
説明
Index / インデックス Excel上のデータとVisio上の図形を対応させる補助データ
  ※編集する必要はありません
Name / 識別名 Excel上のデータとVisio上の図形を対応させるデータ
始端と終端を図形位置にする場合に参照(入力)します.
Shape / 図形(R/O/L/C) 頭文字をR/O/L/Cの何れかに設定します.
  ※それぞれ □(R) ○(O) |(L) ┐(C) の図形に対応します.
AssignOName /
始端識別名
始端,終端を図形位置にする場合・始端,終端をバインドする場合に Name / 識別名 の値を入力します.
  ※|┐のみ利用
AssignDName /
終端識別名
CenterX /
中心X座標
図形の位置と大きさ
  ※□○のみ利用
CenterY /
中心Y座標
Width / 幅
Height / 高さ
BeginX / 始端X座標 図形の始端と終端
  ※|┐のみ利用(□○は角の値が入力されます.)
BeginY / 始端Y座標
EndX / 終端X座標
EndY / 終端Y座標
LineDet /
ずらし距離
始端と終端を設定して線を引く場合に線を横にずらす距離を設定します.
  ※始端と終端が逆の線を区別したい時に設定すると便利です.
  ※|のみ利用
Text / テキスト テキストの値
  ※Excel,PowerPointの図形では□○のみ利用
Font/Align /
フォントと文字位置
文字のフォントの種類・斜体・太字・色・位置
  ※Excel,PowerPointの図形では□○のみ利用
  ※Excelのセルの書式で指定します.
FontSize /
文字サイズ[pt]
文字サイズ数値
  ※Excel,PowerPointの図形では□○のみ利用
  ※Excel,PowerPointの図形のォントサイズに対応しています.
  ※Visioのテキストプロパティの数値に対応しています.
FillColor /
塗りつぶし色
塗りつぶしの色等
  ※□○のみ利用
  ※Excel,PowerPointの図形の書式設定-塗りつぶしの色に対応しています.
  ※Visioの塗りつぶしプロパティの数値に対応しています.
  ※Excel,PowerPointではFillColorSub・FillPatternを使用しません.
  ※色はExcelのセルの背景色で指定します.
FillColorSub /
塗りつぶしパターン色
FillPattern /
塗りつぶしパターン
(1~40/-)
FillTrans /
塗りつぶし透明度
(0~100)[%]
LineColor / 線色 線の色等
  ※Excel,PowerPointの図形の書式設定-線の色・線のスタイルの数値に対応しています.
  ※Visioの線プロパティの数値に対応しています.
  ※色はExcelのセルの背景色で指定します.
LinePattern /
線パターン
(1~23/13x64x4)
LineTrans /
線透明度
(0~100)[%]
LineWidth /
線幅[mm]
LineBeginArrow /
始端形
(0~45/1~6)
線端の⇒
  ※|┐のみ利用
  ※Excel,PowerPointの図形の書式設定-線のスタイル-矢印の設定に対応しています.
  ※Visioの線プロパティの数値に対応しています.
LineBeginArrowSize /
始端形サイズ
(0~6/1~9)
LineEndArrow /
終端形
(0~45/1~6)
LineEndArrowSize /
終端形サイズ
(0~6/1~9)