PC、Net などに関する防備録
指数表現
Webサイト内で指数表現をしたい場合が有る。その方法
例えば、世界で一番有名な、アインシュタインの次の方程式――
E=mc2
この場合次のようにタグを付ける。
E=mc<sup>2</sup>
テーブル枠線を、1ピクセルに設定(影を排除)
XHTMLとスタイルシートを使うようになって、テーブルレイアウトは使わなくなったが、テーブルは時として使う。
ボーダーを1ピクセルに設定しても、そのままではどうしても線にシャドウが付き、実質2ピクセルになってしまう。
これをスッキリ1ピクセルにするスタイルシート
(.tablestyle は任意のスタイルシート名。#2F4F4F は任意のカラー名)
.tablestyle {
border-collapse: collapse;
border: 1px #2F4F4F solid;
}
Movable Type タグクラウド不備の顛末
タグクラウドの不備(同じタグが統合されず、一つ一つ個別に出る)の解決で、アレコレ試行錯誤。
基本的にはMovable Type とサーバーのデータベースで、異なる文字コードが使われていることが原因らしい。
ただ新規設定ならいざ知らず、既に相当構築が進んでいるサイト・ブログの設定変更は、どうも色々厄介でも有るらしい。
.........で、
タグクラウド-ウィジットのコードを、バージョン5デフォルトから「Movable Type公式ブログ」のものに入れ替えて見た。
こちらのサイトを参照。
-
結果
文字コードの変更なしに、タグの統合は出来た。
取りあえず半分以上は達成。 -
残った課題
タグの出現比率に応じた表示の大きさが変わらない。これはCSSの問題か?
htmlコードに対応したcssなら何とか分かるのだが、MTタグは今のところ「何が何やら」状態。
引き続き探索の要有り。
テンプレート控え
バージョン5
<mt:Tags top="20">
<mt:If name="__first__">
<div class="widget-tag-cloud widget">
<h3 class="widget-header">タグクラウド</h3>
<div class="widget-content">
<ul>
</mt:If>
<li class="rank-<$mt:TagRank max="10"$>"><a href="javascript:void(0)" onclick="location.href='<$mt:TagSearchLink encode_js="1"$>';return false;" rel="tag"><$mt:TagName$></a></li>
<mt:If name="__last__">
</ul>
</div>
</div>
</mt:If>
</mt:Tags>
Movable Type公式ブログ
<div class="widget-tag-cloud widget">
<h3 class="widget-header">タグクラウド</h3>
<div class="widget-content">
<MTSetVar name="i" value="5">
<MTEntries lastn="10">
<MTEntryTags>
<$MTTagName setvar="tagname"$>
<MTUnless name="seen{$tagname}">
<MTIf name="i" gt="0">
<MTSetVar name="i" op="--">
<MTSetVar name="seen" key="$tagname" value="1">
<MTSetVarBlock name="push(tag_htmls)">
<li class="rank-<$mt:TagRank max="10"$> widget-list-item"><a href="<$mt:TagSearchLink$>"><$mt:TagName$></a></li>
</MTSetVarBlock>
</MTIf>
</MTUnless>
</MTEntryTags>
</MTEntries>
<ul class="widget-list">
<MTLoop name="tag_htmls">
<MTVar name="__value__">
</MTLoop>
</ul>
</div>
</div>
</div>
MTのコメント用ブロックタグ
<!--.........-->の代わりに以下のタグで囲む
<MTignore>.........</MTignore>
EXCELで、検索条件が2つ、或いはそれ以上の場合の関数処理
検索条件が2つ、或いはそれ以上に有る場合に、その条件ごとの件数だとか金額の合計を求めたい、と言うことが、長年分からずに来た。
多分皆さん、とっくに御承知のことで「何を今さら」的問題だと思うけど。
検索条件が1つの場合、例えば「1日付」の伝票の枚数や金額の合計、或いは「A商店」の伝票の枚数や金額の合計は、COUNTIF関数やSUMIF関数で簡単に求められる。
ところが、「1日付のA商店」の伝票や、「1日付のB商店」「2日付のA商店」等と、検索条件が2つになると、途端にその区別が分からなくなる。
AND関数やOR関数を使って、色々やってみるのだが、どうしてもうまく行かない。
「こんな単純なこと、分からないのは俺だけで、多分簡単な解決方法が有る筈なんだろうな」と思いながら、手がかりもなく特にネットで調べることもしないで、長年不細工な回避処理で凌いで来た。
今回少し本腰を入れて、この長年の宿敵退治をするべくネットで調べてみたら………、アッサリ解決してしまった。
要するに、2つ、或いはそれ以上の条件が有る場合、それを全部、文字列として繋いでしまえば、一つの固有の条件として検索対象になるって訳だ。
例えば、「1日付」の「A商店」の伝票だったら、それを、演算子「&」か、関数「CONCATENATE」なんかで連結して「1A商店」にしてしまえば、「1B商店」「2A商店」等と区別できて、固有の検索条件にすることができる。
http://y-ok.com/blog/2009/08/excel.html
DreamWeaverへの、Movable Type-CSS連結
画像をクリック-拡大表示
Excel-VBAでの、コンボボックスとVLOOKUP関数との悩ましい関係
EXCELでのVBAで、コンボボックスによって、例えば名簿のマスターテーブル左端列の通し番号をシートのセルに表示させたとする。
その番号を「検索値」として、VLOOKUP関数を使った場合、どうしてもエラーが出てしまう。
- 同じ番号を直接キーボードから入力した場合は、VLOOKUP関数が正常に機能する。
- その後で同じ番号をコンボボックスで表示させた場合は、同じく正常に機能する。
- しかしその後、別の番号をコンボボックスから表示させ(この場合当然エラー)、その後最初の番号を表示させても、やはりエラーになる。
原因がさっぱり分からない。
分からないながらも兎も角対処法。
- マスターテーブル左端列のもう一つ左列を含めて、コンボボックスプロパティの「ListFillRange」範囲に設定(その範囲にセル範囲の名前を設定すればいい)。
- 「BoundColumn」や「ColumnCount」もそれに合わせる。
Movable TypeへのGoogle Map 設定手順の覚え
設置の実際
必ずしも簡単とは言えなかったGoogle API を利用してのMapの設定が、非常に簡単に、しかも設定項目も弾力的に変更出来る形で出来るようになった。
http://www.geekpage.jp/web/google-maps-api/helloworld.php
こちら参照。
ここに解説されているscript を、簡単な順に適用させ、必要な機能分だけ順次追加してゆけば良い。
感謝感激雨あられ。
下の設置例は、Mapに「地図/衛星写真切り替えボタン」と、「拡大/縮小表示コントロールボタン」を付けたもの。
なお、初期化位置として「皇居」を指定し、その位置に「吹き出し」を表示させた。
初期化位置の取得も、上記サイト内のサンプルを使わせて貰った(下で解説)。
緯度・経度の検出ページはこちら
地図を拡大表示し、検出したいヶ所をクリックすると緯度・経度が表示される。
設置の手順
上記Map表示のスクリプト
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Google Maps JavaScript API Example - simple</title>
<script src="http://maps.google.com/maps?file=api&v=2&key=aaaaaaa"
/* 上記文字列 aaaaaaa の部分に、Google Maps API キーを入力-------- */
type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div id="map" style="width:600px; height:400px"></div>
<script type="text/javascript">
//<![CDATA[
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
/* 「拡大・縮小」「地図・写真切り替え」コントロール-------- */
map.addControl(new GMapTypeControl());
map.addControl(new GLargeMapControl());
/* 下記GLatLngの、最初の引数は、経度・緯度。2番目の引数は、デフォルトでの拡大率。緯度・経度の取得は、下で説明-------- */
map.setCenter(new GLatLng(35.68518697509635, 139.75296020507812), 16);
/* 吹き出し設定-------- */
map.openInfoWindowHtml(map.getCenter(),
"皇居<br> 東京都千代田区千代田1丁目");
}
//]]>
</script>
</body>
</html>
上記スクリプトを、そのままブラウザで表示させればMapが表示される。
Movable Typeで表示させるには、<script>―<script>を記載する。