JANコードで覚えたこととかメモとか記録とか

【javascript】保存できるようにしてみました。

2015年8月20日 18:41:27
javascriptバージョンlocalStorageに対応

javascriptバージョンへ

HTML5 の localStorage を使用しました。
ブラウザを閉じてもパソコンの電源を落としてもアドレスを開くと保存したJANコードとメモと文字列が表示されます。
最初はJANコードと文字列のみでしたが保存後にただ表示されたJANコードを見ても何なのかわかんねーじゃん!と思いメモを追加しました
保存の仕方はJANコードを入れ、対象の商品名などを入力後、変換ボタンをクリックします
すると保存されます。(再読み込みで保存されたJANコード、メモ、文字列が表示されます。)
メモを追加したい場合は、該当のJANコードを入力しメモ欄に入力し、変換ボタンで上書きになります。
また、保存された一覧にチェックボックスが付き、それにチェックすると下のテキストエリアにメモとJANコードが表示されます。
コピーしやすいように分けました
思い付いただけで利用しませんがw大量になってきた場合、メモ欄がアイウエオ順になった方がいいのかな?と思ってみたり
ページを「名前を付けて保存」して自分のPC上でやっても(オフラインでも)保存機能は使えますのでご自由にどうぞ

※アドレス単位の保存
http://~~~と、C:\マイドキュメント\は保存場所(アドレス)が違うので、ウェブ上で一度保存し、 ブラウザで「名前を付けてページを保存」しPCに保存して開いても、データはありません。(たぶん…実験してません) 意味わかるかな・・・

左右○列目へ書き込むやつできたかもしんない

2015年8月5日 18:38:54
文字列取得のボタンたちdropDown の sizeString (表示幅)は調整中
文字列取得ボタンをクリック同じシートの右側の隣へ書き込みました
セルを選択し、文字列取得ボタンをクリック
同じシートの右側の1列目に文字列が書き込まれました。
Wabun用の文字列取得結果
nicWabun用のボタンをクリックしたところ。
変換済みの文字列をJANに戻す=> 変換済みの文字列をJANに戻す
変換された文字列を数字に戻す。
右へ3列目に書き込み。0にするとその場で変換されます。
新しいシートにJANコードと文字列を書き込む=> 新しいシートを作成しJANコードと文字列を書き込んだ
新しいシート「janico」を作成してA列にJANコード、B列に文字列を書き込みます。シート名は追加するたびに変えようかと思いましたがめんどくさいので固定にしました。 左右、○列目の値はスルーします。
同様に、nicWabun用、戻す、チェックデジットも、A列に元データ、B列に変換値を書き込みます。
また、A列の最終行に追加していきます。

リボンのワンクリックボタンができたかもしんない

2015年7月25日 13:13:51
エクセルのサンプル画像
ご覧のようなJANコードが入力されているファイルをサンプルに作成
数字なし/nicWabun/36を選択値が変換されフォントとフォントサイズが変更されます
数字なし、nicWabun、36を選択。
この状態で、セルを選択し『設定値で変換』ボタンを押すと、変換されます。
変換された後は『JANコード』ではなくなるので『あ、間違えた』といって再度ボタンを押しても 変換できませんでしたが、かるーく判定してJANコードに戻しさらに再変換できるようにしました。
数字あり/nicBAR/24を選択数字ありが優先されます。
有り無しの選択とフォント名はありなしのほうが優先されます。(逆の方がいいかな・・・)

セルを複数選択=>セルを複数選択
同時に複数選択してもJANコードである場合のものだけ変換されます。(プログラムの文字数的な意味で限界はあります)

インストールされていないフォントを選択していた場合は、当然表示されません。

作ってるけどcustomUI のリボンの更新しない方がいいかなあ・・・

2015年6月28日 0:20:09
挿入を追加しました
設定の所で、『あり』ならフォント名をnicWabunとnicotanの2種類、『なし』ならnicWabunとnicBARの2種類からみたいに フォント名のコンボボックスを変えようと思ってました。
そしたらvbaからリボンの値を直接変更できない!!
なんだろ、フォームでtextbox.valueの値を参照できるのに代入できないみたいな そんな感じ
んでググりにググった結果、やっとわかりました。
VBAの値を唯一取れるのが getSelectedItemIndex とか getText とかなんだがこれはリボンが読み込まれた時にしか実行されない
で、そのためには customUI が onLoad した時に ribbon をオブジェクトにし、各値を変数に保存して値を変えた時に、リボン.Invalidate してやると リボンが再描画され、getText が実行され、保存していた値を表示する
つう感じ。っていうのがわかった!!
しかしこの場合だと、vbaのエラーが一度でも発生すると set nicoRibbon = ribbon が nothing になってしまい、 nicoRibbon.Invalidate が『nothingだから実行できません』的なエラーになってしまう
(ファイルを開いたときにのみリボンをオブジェクトに入れるので)
エラーになると、コンボボックスを変えただけ、有り無しを選択しただけでエラーがでるようになってしまう
(ファイルを開きなおすと治る)
開いたままの解決方法をググったら、レジストリから作っておいたリボンを復元するみたいなやつで、レジストリをいじるのはちょっと怖い
んで悩んでるっていう。設定なんて無くていんじゃねーかみたいな
でも右側の変換系は、選択しているセル範囲の相対移動した場所に『文字列にする』とか『チェックデジットの数字のみ』とかじゃないと そのJANの上に書き換えちゃうのはまずいんじゃないかと。
となると、=jan(jancode) の数式タイプが考えなくて便利つうか。一番上にフォントとサイズ指定しちゃえば オートフィルでいいですしおすし
うーーーん。nicoRibbon.Invalidate を使わないように作ればいいんですね。

エクセル2007のリボンをカスタマイズ よく使うものも入れてみた

2015年6月9日 14:29:07
ファイルを開く、上書き保存などよく使うものをいれてみた
JANコードっていうタブにそれに関係するものだけいれる予定でした。
でもせっかく2007(2010.2016で動作確認)でリボンいじれるならと思ってよく使うであろう一般のものを入れて、 ついでにJANもできるよみたいな感じはどうかと思ってこうなりました。
今日はここまで

まだまだ追加します。挿入系がないし、JANに関してクリックしたらメニューがでるsplitButtonもいいのかなーとか
自分が使うっていう自己満足のものしか追加しませんがw
ここにこれほしい!てのがあればいつでも追加します
2016バージョン
こちらは2016バージョン。やっぱりフラットボタンいいなあ

馬鹿にした2007が化けそう

2015年6月7日 14:21:31
エクセル2007は通常、リボンをいじくることはできません
しかし前回の記事のように、エクセルファイルを分解してxmlに直接書き込んでやるとリボンをカスタマイズできます
それがこちら
一応できたよ
SUGEEEE
あと前回の記事のリンク先に、オリジナルの画像をのっけるにはソフトを使わなきゃいけないんだが
xmlの設定で済むはずだなーと思ってそのソフトを使って普通のやつと、画像を埋め込んだやつの違いを探した結果、 ソフトを使わなくてもxmlの記述でいけるようになりました。

その記述方法はこちら

まず一番上の階層の [Content_Types].xml に画像に関する情報を追加
png 形式のアイコンにする場合は image/.png
jpg 形式のアイコンにする場合は image/jpeg
※gif形式はやってないのでわかりませんw png-8 の方がファイルサイズ小さくなるので

[Content_Types].xml

<Default Extension="png" ContentType="image/.png"/>
<Default Extension="jpeg" ContentType="image/jpeg" />

customUI というフォルダを作ってるはずなので、その中に
_rels
images (画像を入れるフォルダ。名前はなんでもいい)
の2つのフォルダを作ります
customUIフォルダの中に2つフォルダを作成する
_rels のフォルダの中に customUI.xml と同じ名前に.rels を付け加えた、xmlを作ります。
(違う名前にしたら認識されませんでした。名前空間ってやつ?っぽい)
これは、画像のパス=画像のIDを結びつける記述です。

customUI.xml.rels

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship
	Id="icon_490"
	Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"
	Target="icon/icon_490.png"/>
</Relationships>

※ はみ出すので改行してます
id="" 画像と結びつけるid
type="" は固定
Target="" がパスです ※画像は icon フォルダなので icon/です
画像を追加するには Relationships /Relationships の間に 上記と同じように Relationship を追加していきます

画像フォルダには画像を入れます。


customUI.xml

<group id="idGroup" label="へんかん">
  <button id="btnHenkan" label="設定値で変換" image="icon_490" size="large" />
</group>

customUI.xml 内に、↑のid="imageid" で設定したものを、
image="imageid" すると画像になりました
sizeLargeNormal
size="large"
エクセル2007でいうと「クリップボード」の(貼り付け)と同じ
size="normal"
エクセル2007でいうと「クリップボード」の(切り取りコピー書式のコピー/貼り付け)と同じ