Excelの表をHTMLのtableに変換するマクロ

HTMLで表を作るにはtableタグを使いますが、結構、面倒です。
Excelで表を作り、HTMLとして保存することができますが、余計なタグが満載です。
Excelの表から必要最小限のHTML(tableタグ)に変換するマクロを作ってみました。 (さらに…)

日本語用マークダウン記法

Markdownは簡単な記号を使って書いたテキストをHTMLに変換する仕組みです。
前にいくつか記事を書いています。

Markdown記法のまとめ | You Look Too Cool
JavaScriptでMarkdown記法をHTMLに変換 | You Look Too Cool

便利なのですが、元々、英語用なので日本語になじまない点があります。
例えば、見出しは「#」を使いますが日本語では使いません。
改行は半角スペース2個を末尾にわざわざ付ける必要があります。これがないと改行せずに前の行の後ろにそのまま続けます。

そこで、日本語にもなじむ記法を考えました。
基本的なところは次のとおりです。 (さらに…)

JavaScriptでMarkdown記法をHTMLに変換

Markdown記法で書いたテキストをHTMLに変換するのに、専用のエディタやウェブサイトを使っています。
もっと簡単に変換するため、JavaScriptで変換する方法を探してみました。
最初は自分でコードを書いてみたのですが、一部については対応できても、記法の全てをカバーするのは難しいです。
「markdown2html」みたいな関数はないものか。 (さらに…)

h1タグはページに一つだけ?

Word文書でスタイルを使うと次のようになると思います。
便宜的にHTML風のタグを付けてみました。 (さらに…)

右クリックと文字列選択を禁止する方法とそれを無効にするブックマークレット

ウェブページの文字列をコピーされないようにする方法として、右クリックを禁止する方法と文字列の選択を禁止する方法が考えられます。

右クリック禁止

右クリックを禁止するにはHTMLを次のように書きます。

<div oncontextmenu="return false;">テキスト</div>

右クリックをして表示されるメニューを「コンテキストメニュー」などと言いますが、これを無効にします。
「div」でなく「body」にこれを設定するとウェブページ全体で右クリックができなくなります。

文字列選択禁止

文字列の選択を禁止するには次のように書きます。

<div onselectstart="return false;">テキスト</div>

文字列を選択しようとしてもできません。
これも「body」に設定するとウェブページ全体で文字列選択ができなくなります。
※IE限定ですが「unselectable="on"」を使う方法もあります。

サンプルページは次の通りです。

サンプルページ

無効にするブックマークレット

これらを無効にするブックマークレットを考えてみました。

選択可能

ブックマークツールバーまでドラッグしてください。あるいは右クリックからお気に入りに保存してください。

javascript:(function(){obs=document.all;for(i=0;i<obs.length;i++){obs[i].oncontextmenu='return true;';obs[i].onselectstart='return true;';}})()

bodyだけでなく、すべてのタグについて、onselectstartとoncontextmenuに「return true;」をセットします。

なお、ここに挙げた方法がすべてではありません。これら以外にも文字列選択を禁止する方法はあります。例えば「document.onmousedown="return false;"」のようにドキュメントに対してクリックそのものを禁止したりする方法もあります。そのため、すべてのパターンに対応したブックマークレットを作るのはかなり面倒です。頻繁に利用するページならばブックマークレットを使うのは効果がありますが、そうでないならばソースを直に見てしまうのが確実です。

「Twitterに投稿」用のリンクとブックマークレット

自分のウェブサイトのタイトルとURLをTwitterに投稿するための「リンク」は次のように書きます。

<a href="javascript:(function(){window.open('http://twitter.com/home/?status=' + '〈' + document.title + '〉' + document.location.href)})()">Twitterに投稿</a>

そして、この「リンク」を右クリックしてブックマークに登録するとブックマークレットになります。この場合は自分のウェブサイトでなくても使えます。

Twitterに投稿

Excelの色をHTMLに変換

ExcelのVBAにはRGB関数というものがあります。

RGB(red, green, blue)

赤と緑と青にそれぞれ0から255までの整数を当てはめて色を表します。
関数になっていますが、内容は単純で
RGB=red+green*256+blue*256*256
という計算をしているだけです。

一方、HTMLで色を指定するには「#00FFFF」という形式を使います。
赤と緑と青にそれぞれ0から255までの整数を当てはめて、それぞれ16進数で表わし、頭に「#」を付けます。

Excelで表わされる色をHTMLの表現に変換するユーザー定義関数を作ってみました。

Function rgb2html(num)
    ret = ""
    For i = 0 To 2
        temp = num Mod 256
        ret = ret & Format(Hex(temp), "00")
        num = (num - temp) / 256
    Next i
    rgb2html = "#" & ret
End Function

応用としては「Cells(x, y).Interior.Color」と書くとセルの背景色が取得できるので、ここからHTMLにおける表記に変換できます。
次の例は、1列目に背景色が設定されたセルがあり、その右隣にそれぞれのHTMLにおける表記をセットするものです。

Sub test()
    For i = 1 To 5
        Cells(i, 2) = rgb2html(Cells(i, 1).Interior.Color)
    Next i
End Sub
#C5D9F1
#FFC000
#9BBB59
#215867
#F79646

HTMLのテキストボックスに工夫を施す小技いろいろ

HTMLのテキストボックスに工夫を施す小技を。


input(text)


文字を選択。ボックスをクリックするとボックス内の文字列が自動的に選択されます。
<input type="text" onclick="this.select()" value="abcde">



文字を赤に。
<input type="text" value="abcde" style="color:red;">



文字のサイズを1.5倍に。
<input type="text" value="abcde" style="font-size:150%;">



ボックスの幅を200ピクセルに。
<input type="text" value="abcde" style="width:200px;">


textarea


文字を選択。
<textarea onclick="this.select()">abcde</textarea>



IMEをアクティブ。
<textarea style="ime-mode:active;">abcde</textarea>

IMEを非アクティブ。
<textarea style="ime-mode:inactive;">abcde</textarea>

モニターで長さを測る方法

目の前にパソコンはあるのだけれど、定規がない場合にパソコンのモニターで長さを測る方法です。WindowsXPで使えます。

スタート-コントロールパネル-画面を開き(デスクトップ上で右クリック-プロパティでも可)、設定タブを選択してください。
詳細設定をクリックすると「DPI設定」のところに「96DPI」などと書かれています。これは画面が1インチあたり96ピクセルであることを表します。以下、96DPIを前提に。

今、HTMLを使って10センチ(100ミリ)の線を書きたいとします。
1インチは25.4ミリですので、96×100÷25.4=378(ピクセル)となります。
次のように書くと幅10センチの細長い四角が描かれます。

<img src='temp.png' width='378px' height='20px'>

JavaScriptで書くならば次のような感じで。長さが変えられます。

var mm=100;//10センチならば「100」ミリ
var dpi=96;
var mmpi=25.4;//1inch=25.4mm
var pxl=mm*dpi/mmpi;
document.write("<img src='temp.png' width='"+pxl+"px' height='20px'>");

10mm
20mm
30mm
40mm
50mm
60mm
70mm
80mm
90mm
100mm

Googleサイト検索のフォームを作る

Googleのサイト検索は、検索範囲をある特定のサイトに絞ることができる検索です。
サイト検索
「言葉 site:stabucky.com」のようにすればサイト検索ができますが、これをフォームにあらかじめセットする方法は次の通り。
Google AdSenseならばウィザード形式で作成することができますが、広告収入は要らない、簡単に作りたい、という場合に。

<form action="http://www.google.co.jp/search" method="get">
<input maxlength="255" name="q" size="31" type="text" />
<input name="btnG" type="submit" value="stabucky.com" />
<input name="sitesearch" type="hidden" value="stabucky.com" />
<input name="ie" type="hidden" value="UTF-8" />
<input name="oe" type="hidden" value="UTF-8" />
<input name="hl" type="hidden" value="ja" />
</form>

「name=sitesearch」の「value」に特定のサイトをセットします。ボタンの名前は適当に。

古い記事

タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報