パソコン・インターネット

2017年10月 2日 (月)

Excelのセルのスタイルが削除できない - Clean XLS 1.2.7をリリースしました

拙作、Clean XLSはVersion 1.2で、セルのスタイル、セルの名前を一括して削除する機能を追加しました。Excelのブックを使い続けているうち、セルのスタイルやセルの名前が知らないうちに増えていって、上限を超えるとシートのコピーや移動ができなくなったりする、といったトラブルに対応するためです。

Excel 2010では、セルのスタイルの上限は64000とされていますが、実際にはもう少し多いです。

Excelの仕様および制限
https://support.office.com/ja-jp/article/Excel-%E3%81%AE%E4%BB%95%E6%A7%98%E3%81%8A%E3%82%88%E3%81%B3%E5%88%B6%E9%99%90-1672b34d-7043-467e-8e27-269d656771c3#ID0EBABAAA=Excel_2010

ところが、セルのスタイルの定義が、何かのトラブルで壊れてしまっているものがあると、手動でも削除することができません。

Sc_201710021011241_20

画面をスマホで撮影したものなので見にくいですが、スタイルの名称が文字化けしていたりします。

Version 1.2で上記のようなものを含むブックを処理した場合、処理が停止してしまう不具合があることが判明しました。参考にしたVBAでは、特に明示しなくてもエラーを無視して処理を続行するようになっていたので、同様のロジックにしていたのですが、VBの場合はエラーを無視するロジックを明示的に入れておかなければならないようです。Version 1.2.7でそのように対応しました。

Cleanxls127_ss


http://egotadp.biz/products/cleanXls/index.htm

###

では、手動でもマクロ(VBA)でも削除できないセルのスタイルは、どうやったら消せるのでしょうか? ・・・と検索していたら、このような記事に突き当たりました。

Excelの呪い 消せないスタイルと外部リンクの強制削除|ありふれた日記
<https://ameblo.jp/iwashi2017/entry-12209217915.html>

いやー、xlsxやxlsmの実体がZIPファイルとは知りませんでした。この件だけでなく、いろいろ応用できそうです。いろいろ試してみたいと思ってます。



2017年9月20日 (水)

DP Compare Version 2.0をリリースしました

テキスト・ファイルを比較するツールです。

20170917_1


差異があるところを、「?」で示します。

20170917

メインフレームの経験者の方ならご存じと思われる、あのリストに似せて作りました。比較の結果はシフトJISのテキスト・ファイルで出力しますが、そのままA4横で印刷できるはずです。

このツール、2006年にVB6で作成してそのままでした。少し前にVB6で作ったプログラムは公開を停止したので、お蔵になってたものです。

今回、テキストの比較ができて、印刷がしやすいもの、というリクエストがあったので、復活。ただ、UTF-8のテキストを扱うということ。VB6でUTF-8のテキスト・ファイルを1レコードずつ処理するのは、ちょっと難儀。そのため、UTF-8のファイルを扱う場合には、ファイルを丸ごとシフトJISに変換して、これを従来のロジックにつなげるようにしています(横着)。

あと、VB6のプログラムをWindows 7や10で動かすと、フォームの文字が化けたり、思うように表示されなかったりしますが、これも対策しました。

特に、VB6固有のコントロールを使用しているわけではないので、VB6ランタイムをインストールしていない環境でも問題なく動作するはずです。

DP-Compare Version 2.0
http://egotadp.biz/products/dpCompare/index.htm

2017年8月29日 (火)

CHGHEX Version 5.3をリリース

文字列と各種の文字コードを相互に変換するツール、CHGHEXの新しいバージョンを、1年余ぶりにリリースしました。変換する文字コードはこれまで、シフトJIS、EBCDIC、JEF、UTF-8、Unicodeに加え、JISに対応しました。

20170829

JISは、1バイトコードと2バイトコードや半角カタカナの切替をシフトコードを挟むことで実現していますが、CHGHEXではEBCDICやJEFと同様、シフトコードを扱っていません(あくまで文字とコードの変換を簡易に参照できるようにするために)。したがって、半角の文字が連続している場合や、半角と全角が混在している場合は、正しく返還されない場合があります(全角として認識することを優先)。

ダウンロードはこちらから。

http://egotadp.biz/products/CHGHEX/index.htm

2017年8月 7日 (月)

FUBAKO Version 1.3をリリース

クリップボードを監視して、変化があったら即、テキスト・ファイル、イメージ/ファイルに出力するツール、FUBAKO Version 1.3 をリリースしました。

http://egotadp.biz/products/FUBAKO/index.htm

###

基本の機能はこれまで通りですが、ファイルを書き出したときに、バルーンヘルプを表示することができるようになりました。

下図は、Windows7の例です。Windows7のバルーンは、さほど圧迫感は感じませんが、Windows10だと、かなり派手な表示になりますので、ちょっと躊躇するところ。

20170807_130918

ちなみに、バルーンをクリックすると、あらかじめ設定されている保存フォルダを開きます。

20170807_1_50

###

あと、通知領域のFUBAKOのアイコンを右クリックしたときに表示されるメニューからも、保存フォルダを開くことができるようにしました。

20170807_131510








2017年7月 7日 (金)

CleanXLS Version 1.2をリリースしました

CleanXLS Version 1.2をリリースしました。

20170707_2

CleanXLSは、Excelのシートの体裁~~~フォントの種類や大きさ、カーソルの位置、表示の倍率などを、一括して設定するツールです。適用するブックは、フォルダを指定するかドラッグアンドドロップで指定します。

今回追加したのは、ユーザー設定のスタイル(セルの書式)とセル範囲の名前の定義を一括して削除する機能です。

前者は、Excelの仕様の上限を超えて登録された場合、ブックの保存やシートのコピー・移動などに支障が発生した際に、後者は、名前の一覧に表示されない定義を削除することができないため、シートのコピー・移動などに支障が発生した際に、それらを回避するためのものです。

ただし、実際に使用されているスタイルや名前の定義を含め、一律に削除してしまうため、これらの機能を使用している場合には注意が必要です。(処理を開始するときに警告のメッセージを表示します。)

CleanXLSは、こちらのページで公開しています。
http://egotadp.biz/products/cleanXls/index.htm

###

なお、上記のような現象については、すでにわかりやすい記事が多数公開されています。

Excel-名前の管理を削除する
http://capm-network.com/?tag=Excel-%E5%90%8D%E5%89%8D%E3%81%AE%E7%AE%A1%E7%90%86%E3%82%92%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B

Excelファイル内に勝手に増殖したセルの書式をまとめて削除する方法
http://qiita.com/hkuno/items/87f06368855a9e72b0fe

2017年6月26日 (月)

URL Decoder Version 2.0をリリースしました

もともとMicrosoft SharePointの冗長な、かつ、フォルダ名に漢字を含む場合UTF-8にエンコードされてしまってさらに冗長になってしまうURLを、メールで案内するときや、サーバ上の移転先を捜索する手がかりとするために作ったものです。

ところが、肝心のSharePointのURLを短縮するのに、どこを残してどこを消せばよいかがわからず、適当にお茶を濁していましたが、利用者の方から情報提供があり、実装することができました。

20170625

ついでに、借り物だったアイコンをオリジナルのものに置換え、また、ウィンドウの位置を記憶するようにしました。

Iconurldcode_120x120_2


http://egotadp.biz/products/URLDCode/index.htm

###

なお、FUBAKOも微細な改善を実施しました。

http://egotadp.biz/products/FUBAKO/index.htm

2017年6月18日 (日)

USB温湿度ロガーでSendKeys挫折

今月の買い物は、USB温湿度ロガー。

私の作業部屋兼寝室は、フェレット部屋でもあり、猫部屋です。猫は概ね常温で問題ないのですが、フェレットは25度程度をキープしておく必要があり、先週あたりから時々エアコンを稼働させています。

無人のときもつけっぱなしになるわけですが、省エネ・節電は抜きにしても室温の状況は知りたいと思っていたのですが、こういうものが安く手に入るんですね。

Dsc_0102_50

http://amzn.asia/dLV8D04

使用開始時点ではPCにつなぐ必要がありますが、設定が済んでしまえばつながなくても記録してくれます。設定とデータの吸い出しはUSB経由です。

データを取り込むと、こんな感じに。

20170618_1_50

このソフトは無償なんですが、ログをメールで送信する機能もあります。

・・・であれば! n分おきに自動でログを吸い出してメールを送信する機能があってもよくない!? と思ったのですが、それはなし。

ならば、SendKeysで操作してとおもって試行錯誤してみたのですが・・・

20170618

・・・どうもSendKeysを受け付けないようになっているようで、結果、挫折しました。当該のウィンドウをアクティブにするところまではうまくいくんですが、SendKeysがうんともすんとも言わない。ソフトがMDIだからか?

ということで、作成予定のツールは、上図のように試作段階で捨て置くことになりました。

専用ソフトを使わず、直接デバイスにアクセスして・・・なんてことも考えなくはないのですが。USBシリアル・インタフェースのようなので、ATコマンドでどうにかしてるか、と想像してみるのですが、コマンドが公開されているわけでもなく、ちょっと荷が重い。

マニュアルは英語のみ。ソフトも、どうも作りが雑なところが気になるのですが、すでに利用されている方のレポートが大変参考になりました。

温度を記録する RC-4 温度ロガーの使い方
http://reviews.f-tools.net/Atusa-taisaku/Ondo-Kiroku-Logger.html

ひららプロジェクト
http://hirara.jp/HIRARAIT/usbloger/dataloger.html

温度と湿度を記録できる温湿度データロガー RC-4HC
http://tech-review.click/temperature-data-logger

2017年6月11日 (日)

【ピクトグラム】「引き戸」「閉じた開き戸」を作りました

コミュニケーション支援用絵記号デザイン原則(JIS T0103)には、ドア(401002)や、開ける(203017)閉める(203018)がありますが、今回ドアが閉じた状態が欲しくて、401002を下敷きにして新たにつくありました。

Tojitahirakido_120x120

施工例がこちら。用が済んだら閉めましょう。電気のつけっぱもダメ。

Dsc_0090_50_2

日本家屋では、いわゆるドアよりも引き戸が多いので、これも作りました。

Hikido_120x120_2

施工例はこちら。窓の向こうは西武池袋線。外窓を開けておくと、列車通過時の風圧がすごいので、内扉は閉めといてね。という意味。

Dsc_0086_50

逆に外扉は、閉めるとがたがたうるさいので、開けておく、と。

Dsc_0088_50

【まとめ】

ぼろいけど、安くて広い一軒家に住んでいるが、家族は普段、私の言うことを聞きゃあしない。

###

ピクトグラムのページ
http://egotadp.biz/pictogram/







2017年6月 4日 (日)

FUBAKO Version 1.0をリリース

【追記】あります。(2017/6/11)

###

きょうもきょうとてサンデー・プログラマー。
クリップボードを監視し、変化があったときはその中身をチェックして、テキストだったらテキスト・ファイルに、イメージだったら画像ファイル(JPEG)に出力。スクリーン・ショットをとるとき、[PrtSc]または[Alt]+[PrtSc]を押しますが、そのイメージも即時に画像ファイルを作成します。
スタートアップにショートカットを放り込んでおくと、常駐して通知領域にアイコンが表示されます。通常は何もする必要はありません。

Icontray_ss_2


Iconfubako_2

アイコンをクリックすると設定画面が表示されます。

20170604_15_4

テキスト・ファイルは、同名のファイルが存在する場合、追記します。ファイル名に時刻を設定しない場合、このようになります。テキストの区切りを示すため、テキストの先頭にヘッダを挿入します。

20170604_19


画像ファイルは、同名のファイルがある場合は上書きされます。そのため、ファイル名には時刻(秒まで)を含むようにしています。

テキスト・ファイルと画像ファイルを保存するフォルダは、別々に設定することもできますが、同じフォルダに指定した場合、このようになります。

20170604_17


こうした機能はすでにさまざまなソフトが有償、無償で提供さています。私も実際には、Microsoft OneNoteやMicrosoft OneDrive for Businessを利用しています。こうしたソフトが導入されていない(さまざまな事情で導入が困難な)パソコンで同様の機能を実現するために作ったものです(ぶっちゃけ、仕事場の端末)。

配布ページを作るパワーが残ってないので、公開は明日以降です。調査とテスト込みで2.5pdってところでしょうか。

問題が2つあって、設定画面を開くとき、閉じるときにクリップボードの変化を検知するイベントが発生してしまい、ファイルを余分に作成してしまうこと。これはいまのところ改善の見込みがありません。ただ、設定を頻繁に変更することはないはずなので、当面は放置。

あと、スクリーンショットをとるソフトが他にも常駐している場合、画像ファイルが作成されないことがあります。これはそもそもどちらかをやめにして欲しいところで、放置です。

ちなみに、FUBAKOは「文箱」です。1個のケースにいろんな書類が雑多に入っている(入れられる)というイメージです。

###

【追記】 6/5にリリースしました。
http://egotadp.biz/products/FUBAKO/index.htm

###

【追記】 保存するフォルダにネットワーク・ドライブなど低速なデバイスを指定すると、コピー元のアプリケーションの動作に影響することがあります。内蔵もしくはPCに直接に接続されているドライブを指定してください。

2017年5月31日 (水)

通知領域の無効なアイコンを消すには

Windowsの通知領域にアイコンを表示するアプリケーションがあります。

便利ではあるんですが、何らかの問題で、実際にはプログラムは停止しているのに通知領域のアイコンが表示されたままになる。あるいは、停止してまた起動すると、同じアイコンがいくつも表示されたり、というようなことがあります。

マウスですっとなでると無効なアイコンは消えてくれますが、やはりできれば勝手に消えてくれて欲しいところ。

ところが、調べてみても「マウスですっとなでる」以外に方法がないようです。

その方向で調べてみると、「マウスですっとなでる」のソースを公開してくれているサイトがありました。

Refreshing system tray icons programmatically
- stackoverflow
https://stackoverflow.com/questions/8342614/refreshing-system-tray-icons-programmatically

20170531_2_50

C# Refreshing System Tray Icon programatically.
- Dot Net Developer Blog
http://maruf-dotnetdeveloper.blogspot.jp/2012/08/c-refreshing-system-tray-icon.html#!/2012/08/c-refreshing-system-tray-icon.html

20170531_3_50

LP#TrayIconBuster
- CODE PROJECT
https://www.codeproject.com/Articles/19620/LP-TrayIconBuster

20170531_50


3番目のサイトではEXEも公開されています。

スタートアップにショートカットを放り込んでおくと常駐します。通知領域に「バスター」のアイコンが表示されます。デフォルトでは5秒ごとに、通知領域を「マウスですっとなでる」ようになっています。とりあえずは、これで十分。

より以前の記事一覧

無料ブログはココログ

最近のツイート