段組みを使ったWord文書を段組みの情報を残したままテキストで出力する方法です。
1段の場合は40文字、2段の場合は19文字で改行を挿入します。
段組みの段数は「段落.PageSetup.TextColumns.Count」で取得できます。
またセクション区切りの部分(文字コードが12)はそのまま出力すると表示がおかしくなるので判定して無視します。
関数「cut」は文字列に指定した文字数で改行を挿入します。
Sub 段組みをテキスト出力()
'段数に応じて改行を追加しテキストファイルに出力する。
Const mojisu1 = 40 '段数が1のとき
Const mojisu2 = 19 '段数が2のとき
Const myfilename = "d:\test.txt"
Dim danrakusu, dansu, mojisu, i
Dim danraku
Dim mytext
'各段落の文字列と段数を取得し、段数に応じて改行を追加する。
danrakusu = ActiveDocument.Paragraphs.Count
mytext = ""
For i = 1 To danrakusu
danraku = ActiveDocument.Paragraphs(i)
dansu = danraku.PageSetup.TextColumns.Count
If (Asc(danraku) <> 12) Then
If dansu = 1 Then
mojisu = mojisu1
Else
mojisu = mojisu2
End If
mytext = mytext & cut(danraku, mojisu)
End If
Next i
'文字列をテキストファイルに出力する。
With CreateObject("ADODB.Stream")
.Type = 2
.Charset = "utf-8"
.Open
.WriteText mytext, 1
.SaveToFile myfilename, 2
.Close
End With
End Sub
Function cut(str, num)
Dim i
For i = 1 To Len(str)
cut = cut & Mid(str, i, 1)
If i Mod num = 0 Then
cut = cut & Chr(13)
End If
Next i
End Function
iPhoneは3G電話回線とWi-Fiの両方が使えます。
それはそれでいいのですが、困るのは遅いWi-Fiに接続してしまったとき。例えばマクドナルドのWi-Fiは異常に遅いときがあるので(むしろ異常に遅いときがほとんど)、意図的にWi-Fiを無効にしたいケースがあります。
通常は「設定」アプリから設定を変えるのですが、ここに辿り着くのが面倒。
というわけで、「設定」アプリの「Wi-Fi」へのショートカットを作る方法です。
- iPhoneのSafariでiPhone Settings Shortcuts by Jeff Broderickを開く。
- (広告が表示されるので右上の×で閉じる。)
- 設定したいアイコンを選択。ここでは「WiFi」にタッチ。
- 「Install WiFi Shortcut」にタッチ。
- 「プロファイル」が表示されるので「インストール」にタッチ。
- 確認ダイアログが表示されるので「インストール」を選択。
- 「完了」にタッチ。
- ホーム画面に「WiFi」というアイコンができている。
Bluetoothなども同様に設定できます。
平成24年のお年玉付き年賀はがきの当せん番号が発表されました。
平成24年用年賀葉書及び寄附金付お年玉付年賀切手当せん番号 – 日本郵便
お年玉付年賀はがき当せん番号(平成24年)
| 等 |
番号 |
| 1等 |
030625 |
| 2等 |
071658 |
| 2等 |
153787 |
| 2等 |
675457 |
| 3等 |
2511 |
| 4等 |
27 |
| 4等 |
44 |
今年も下2桁を入力するだけでチェックできる仕組みを準備しました。
お年玉付年賀はがき当せん番号チェッカー
肉食系あこがれのURLと言えば「http://www.yakiniku.jp/」がまず最初に思い付きますが、このURLを使っているのが「焼肉屋さかい」です。
家族5人で土曜日の6時頃に行きました。
店員にテーブルと座敷のどちらにするか、訊かれ、テーブルを選択。喫煙席は満席らしく禁煙席に案内されました。
まず飲み物を注文。
店員が「あと30秒ほどでタッチパネルが使えるようになります」と言います。
見るとテーブルの端にモニターが置かれています。これがタッチパネル式の端末になっていて、注文は全てここで行います。
肉、野菜、飲み物などが区分されていて選びやすいです。また人気ランキングから選ぶこともできます。どの肉を選ぶか迷うときはこれを参考にするといいです。
注文するとその値段が累計されて、会計金額がその場で分かります。これは間違いがなくていいと思います。忙しいと店員が注文を取りに来なくなる店がありますし。
網は使い捨てで店員に言えばすぐに交換してくれます。
煙は下に吸い込む方式で衣服が臭くなることはありません。
子供達も大きくなってきたので、よく食べて、予算オーバー。1万2千円也。前に行った「えびす」は安過ぎでした。
以前、JavaScriptの配列に関するメソッドについてまとめましたが、同じようにPHPの配列関数についてまとめてみました。
PHPの配列関数はたくさんあるので、とりあえず基本だけです。
| 関数 |
返り値 |
配列への影響 |
対応するJavaScriptのメソッド |
| array_shift($a) |
最初の要素を返す。 |
最初の要素が削除される。 |
a.shift() |
| array_unshift($a,要素) |
挿入後の配列の長さを返す。 |
先頭に要素が挿入される。 |
a.unshift(要素) |
| array_pop($a) |
最後の要素を返す。 |
最後の要素が削除される。 |
a.pop() |
| array_push($a,要素) |
挿入後の配列の長さを返す。 |
最後に要素が挿入される。 |
a.push(要素) |
| array_slice($a,$i,$j) |
0から数えてi番目からj個の要素を配列として返す。 |
なし。 |
a.slice(i,j) |
| array_splice($a,$i,$j,$b); |
なし。 |
0から数えてi番目からj個の要素を削除し別の配列に置き換えた配列になる。 |
a.splice(i,j) |
| array_splice($a,count($a),0,$b) |
なし。 |
配列の後に別の配列を追加した配列になる。 |
a.concat(配列) |
今朝の東京は雪でした。初雪だそうです。
12月に既に雪が降っているはずですが、「なぜ初雪?」と思いましたので、調べました。
気象庁のサイトには次のように書かれています。
「気象庁における初雪とは、寒候期(10月から3月まで)がきて初めて降る雪、みぞれでも良いとしています。」
年ではなく「シーズン」で判断します。
そしてその判断ですが東京の場合は東京管区気象台で行います。
東京管区気象台は東京都千代田区大手町の国土交通省気象庁の庁舎内にあるので、「東京の初雪は大手町における降雪で判断される」ということになります。12月の雪は大手町では降らなかったのですね。
曜日が変わらないカレンダーについて書きましたが、これをJavaScriptのユーザー定義関数にしてみました。
JavaScriptの通常の日付(日付オブジェクト、ndate)を与えると「ハンキ・ヘンリー・パーマネント・カレンダー」における日付(文字列、pdate)に変換します。
返る値は「2012-1-19」という形式です。
使い道が思い当たりませんが。
function date2hhpc(ndate) {
var di, ldi, preldi, y, ydi, isext, sdi, pdate;
di = (ndate - (new Date(2012, 0, 1))) / 86400000; //日のインデックス。2012-01-01(初日)を0日目とする
if (di < 0 || di > 20453) { //対応しているのは2012年から2167年まで
return ("error");
}
ldi = -1; //大晦日のインデックス
year = 2011;
while (di > ldi) {
year++;
preldi = ldi; //前年の大晦日
isext = String(year).match(/(2015|2020|2026|2032|2037|2043|2048|2054|2060|2065|2071|2076|2082|2088|2093|2099|2105|2111|2116|2122|2128|2133|2139|2144|2150|2156|2161|2167)/) ? 1 : 0;
ldi += 364 + isext * 7;
}
ydi = di - preldi - 1;
if (ydi > 363) {
pdate = "E/" + (ydi - 363);
} else {
sdi = ydi % 91;
x = Math.floor(sdi / 30) + 1;
x = (x > 3) ? 3 : x;
pdate = (Math.floor(ydi / 91) * 3 + x) + "-" + (sdi - 30 * (x - 1) + 1);
}
return (year + "-" + pdate);
}
毎年、曜日が変わらないカレンダーが紹介されていました。
[曜日が変わらない「合理的な新しい暦」 ≪ WIRED.jp 世界最強の「テクノ」ジャーナリズム]
このカレンダーは発案者の名前から「ハンキ・ヘンリー・パーマネント・カレンダー」と名付けられています。
- 毎年1月1日が日曜日から始まる。
- 年間364日。1月は30日まで、2月は30日まで、3月は31日まで、以下同様に12月まで。
- 何年かに一度、「追加週」を7日間、加える。曜日はずれず、これにより公転周期とのずれが修正される。
メリットは年によって曜日がずれないので毎年、同じスケジュールが使えるということ。確かに毎年、同じようなことをやっているのに、スケジュールの見直しをしていますが、これが不要に。
特に元日やクリスマスが日曜日に固定されるので仕事に支障をきたすことがありません。
カレンダー以外の主張としては、「時差を気にせず、世界中で、世界標準時を使おう」というのがあります。
「正午にキックオフ(日本時間午後9時)」という表記、注釈は不要です。この場合、日本でも『12時』にキックオフです。「午前9時から午後5時まで」は『0時から8時まで』となります。
素晴らしいアイディアですが、気になる点があります。
- 給与はどうするのか?通常は月給だと思いますが追加週のある年は給与も追加されるのでしょうか。もっとも現行のカレンダーでも30日までの月と31日までの月は同じ給与で誰も文句は言いませんが。
- 世界中で世界標準時を使うと、勤務時間が『23時から7時まで』の場合、勤務日は当日なのか、翌日なのか?「昨日」や「明日」も安易に使えません。一々『15日の23時』などと日付を付けないと危ないかもしれません。
曜日の変わらないカレンダーと言うことならば、こんなカレンダーはどうでしょうか。
- 毎年1月1日が日曜日から始まる。
- 各月の日数は現行と同じ。
- 2月は固定して29日までとする。12月は通常は30日、閏年は31日までとする。
この方式だと2012年のカレンダーがそのまま使えます。
現行のカレンダーは、閏年の調整を2月という半端な位置で行うのが、問題の一つだと思います。これを12月の最後に行えばよいでしょう。日本ならば、どうせ年末で休むのだから。
今年だと12月30日が日曜日、31日が月曜日、翌年1月1日が日曜日、となります。2013年のカレンダーは12月31日がなくなるだけ。
サラリーマンの場合、確定申告で医療費控除を適用すると税金の一部が還付されますが、どれほど戻るか、調べてみました。
源泉徴収票の「給与所得控除後の金額」と「所得控除の額の合計額」を見ます。
「課税される所得金額」を計算します。
課税される所得金額=給与所得控除後の金額-所得控除の額の合計額
所得税率表を見ます。国税庁のページが確実でしょう。
No.2260 所得税の税率|所得税|国税庁
課税される所得金額によって、所得税率は5%から40%の6段階に区分されていますので、自分の税率がどれか探します。
医療費控除による還付金額は年間10万円を超える部分が対象となります。全額ではないことに注意。
還付金額の概算は次の通りです。
還付金額=(医療費-10万円)×所得税率
医療費が90万円で所得税率が20%の場合、
(90万円-10万円)×20%=16万円
となります。
医療費が30万円で所得税率が20%の場合、
(30万円-10万円)×20%=4万円
となります。
もし治療費を一括払と分割払のいずれかを選ぶならば一括払の方が得です。
上の例で90万円を一括ならば還付は16万円であるのに対し、3年分割だと4万円×3で12万円となります。
通常は従来のプリンタではiPhoneからの印刷はできません。
しかし(ある一部のデータは)GoogleとChromeを使うとiPhoneから自分のパソコンに繋いだプリンタで印刷することができます。
必要なものは次の通り。
- パソコン
- パソコンに接続されたプリンタ(無線LANでなく直付けでもOK)
- パソコンにインストールされたChrome
- Googleのアカウント
- iPhoneにインストールされたGmailアプリなど
有料なのはパソコンとプリンタとiPhoneだけです。ほかは後は無料で準備できます。
設定は次のページに詳しく書かれています。
Chromeで設定します。
従来のプリンタを Google クラウド プリントに接続する – Google クラウド プリント ヘルプ
iPhoneから印刷できるのはiPhone上のGoogleアプリで表示できるものです。
端的に言えば「GmailとGoogleドキュメント」です。
カメラロールに入っている写真を印刷することができませんが、写真をメールでGmailに送れば印刷できます。
最近のコメント