2012/03/31

[Excel][VBA]色々なセルの指定方法

'単一セルを行番号と列番号で指定
Cells(3, 2) 'B3
変数が使えるのでループなどで使いやすい。
文字列表示と引数の順番が逆であることに注意。
Cells(3, "B")
このように直接アルファベットで指定することも可能。

'すべてのセル
Cells

'単一行
Rows(2)
'複数行
Rows("1:3")
'すべての行
Rows

'単一列
Columns(2)
'複数列
Columns("A:C")
'すべての列
Columns

'Excel関数で指定するようにStringで範囲指定
Range(文字列)

'単一のセル
Range("B2")
'離れた複数のセル
Range("B2,C3")
'セル範囲
Range("A1:C3")
'離れたセル範囲
Range("A2:A3,B1:C1")
'行
Range("2:2")
'列
Range("B:B")
'複数行
Range("1:3")
'複数列
Range("A:C")
'離れた複数行
Range("1:1,3:3")
'離れた複数列
Range("A:A,C:C")
'名前付きセル範囲
Range("name") '名前定義で定義した範囲

応用
Range(Cells(row, column)[, Cells(row, column)])
太字部分は省略可能&複数指定可能。
変数を使用してセル範囲を指定することができる。

できる逆引き Excel VBAを極める 勝ちワザ700
2010/2007/2003/2002対応 (「できる逆引き」シリーズ)

国本 温子
インプレスジャパン
発売日:2012-02-09

Bloggerの最新コメントをウィジェットに表示する

BloggerのコメントはRSSフィードが配信されているので
それをフィードウィジェットで表示するだけ!
コメントRSSの例:http://wada811.blogspot.com/feeds/comments/default

[書評]できる逆引き Excel VBAを極める 勝ちワザ700
2010/2007/2003/2002対応 (「できる逆引き」シリーズ)

できる逆引き Excel VBAを極める 勝ちワザ700
2010/2007/2003/2002対応 (「できる逆引き」シリーズ)

国本 温子
インプレスジャパン
発売日:2012-02-09
ブクログでレビューを見る»
ネット上に散らばる対応バージョンもわからない情報を参考にするより
コレ一冊ある方が圧倒的に安心できる。
大抵の事はググるより本を見る方が早く見つかるし説明が詳しいので
Excel VBAをガリガリやる人は持っておいたほうが良いと思う。

VBA基礎文法最速マスター - いろいろ解析日記もあるけど他の言語と異なるところが多いのでコレだけじゃきつそう。
VBA自体の文法がわかってないとキツイので以下の本がオススメ。
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本―最初からそう教えてくれればいいのに!Excel2007/2003対応
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本
最初からそう教えてくれればいいのに!Excel2007/2003対応

2012/03/30

[書評]よくわかるPHPの教科書

よくわかるPHPの教科書
たにぐち まこと
毎日コミュニケーションズ
発売日:2010-09-14
ブクログでレビューを見る»
PHPをいっちょやってみっか!レベルの初心者には丁度いいかも。
Twitter風のサンプルも作れてノンプログラマには達成感あるかと思います。

訂正が多いけど第8刷以降なら大丈夫そう。
「よくわかるPHPの教科書」サポートサイト http://book.mycom.co.jp/support/pc/php/
マイナビ ブックス - よくわかるPHPの教科書
http://book.mycom.co.jp/book/978-4-8399-3314-2/978-4-8399-3314-2.shtml
実際にサンプルを動かしてないから中身空っぽな書評である。
軽く読んだ感じでは初心者向けに身近で適度に達成感のあるサンプルで満足させる系書籍という印象。
とりあえずPHPでどんな感じのことをやるのか知るのには丁度いいと思った。

そのへんがだいたいわかっている他の言語経験者は文法をPHP基礎文法最速マスター - Shin x blogで把握して、
PHP 逆引きレシピ (PROGRAMMER’S RECiPE)でやりたいことの方法を探すのが良さそう。

よくわかるPHPの教科書はブクログやAmazonなどで初心者から大絶賛されているけど…
もし『よくわかるPHPの教科書』の著者が徳丸浩の『安全なWebアプリケーションの作り方』を読んだら - ockeghem(徳丸浩)の日記
『よくわかるPHPの教科書』のSQLインジェクション脆弱性 - ockeghem(徳丸浩)の日記
生半可な知識でPHP触るの怖いっすなー

情報処理推進機構:情報セキュリティ:脆弱性対策:安全なウェブサイトの作り方
リンク貼っとかなきゃいけないような気がしたので。

次に読みたい
PHP 逆引きレシピ (PROGRAMMER’S RECiPE)
PHP 逆引きレシピ
(PROGRAMMER’S RECiPE)
体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践
体系的に学ぶ 安全なWebアプリケーションの作り方
脆弱性が生まれる原理と対策の実践
2012/03/29

[競技プログラミング][C言語][AOJ10025]Triangles

AIZU ONLINE JUDGE http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=10025

Triangles

三角形の2辺 a, b とその間の角 C から、その三角形の面積 S、周の長さ L, a を底辺としたときの高さ h を求めるプログラムを作成して下さい。

Input

a の長さ, b の長さ, Cの大きさ(度)(整数)が空白区切りで与えられます。

Output

S, L, h をそれぞれ1行に出力して下さい。0.0001以下の誤差があってもよいものとします。
回答:AOJ/vol100/AOJ10025.cpp at master · wada811/AOJ

それぞれの式は上の画像の通り。
円周率πの定数M_PIはコメントのサイトにあるように、以下の一行目の記述で使えるようになる。
#define _USE_MATH_DEFINES
#include <math.h>

それではまた明日。
2012/03/28

[競技プログラミング][C言語][AOJ10024]Distance

AIZU ONLINE JUDGE http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=10024

Distance

2点 P1(x1, y1), P2(x2, y2) の距離を求めるプログラムを作成せよ。

Input

x1, y1, x2, y2 (実数)が空白区切りで与えられます。

Output

P1とP2の距離を実数で1行に出力して下さい。0.0001以下の誤差があってもよいものとします。
回答:AOJ/vol100/AOJ10024.cpp at master · wada811/AOJ
二点間の距離ということで中学数学さえ覚えていれば、あっという間に出来る。

それではまた明日。
2012/03/27

[競技プログラミング][C言語][AOJ10023]Shuffle

AIZU ONLINE JUDGE http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=10023

Shuffle

1つのアルファベットが描かれた n 枚のカードの山をシャッフルします。

1回のシャッフルでは、下から h 枚のカードをまとめて取り出し、それを残ったカードの山の上に積み上げます。

カードの山は以下のように1つの文字列で与えられます。

abcdeefab
最初の文字が一番下にあるカード、最後の文字が一番上にあるカードを示しています。

例えば、これを h が 4 でシャッフルすると、
最初の4文字 abcd が、残りの文字 eefab の末尾へ連結されるので以下のようになります:

eefababcd
このシャッフルを何回か繰り返します。

カードの山の最初の並び(文字列)と h の列をを読み込み、
最後の並び(文字列)を出力するプログラムを作成して下さい。

Input

複数のデータセットが入力として与えられます。
各データセットは以下の形式で与えられます:

最初の並びを表す文字列
シャッフル回数 m
h1
h2
.
.
hm
最初の並びを表す文字列が "-" のとき入力の終わりとします。

Output

各データセットに対して、最後の並び(文字列)を1行に出力して下さい。

回答:AOJ/vol100/AOJ10023.cpp at master · wada811/AOJ
配列のスワップに手こずったような気がする。
もう少し上手いやり方があるんじゃないかと思う。

それではまた明日。
2012/03/26

[競技プログラミング][C言語][AOJ10022]Finding a Word

AIZU ONLINE JUDGE http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=10022

Finding a Word

1つの単語 W と文章 T が与えられます。
T の中にある W の数を出力するプログラムを作成して下さい。

文章 T に含まれるスペースまたは改行で区切られた文字列を単語 Ti とします。
すべての Ti において単語 W と同じになるものを数えて下さい。

なお、大文字と小文字は区別しません。

Input

1行目に単語 W が与えられます。

続いて、複数の行にまたがった文章与えられます。
END_OF_TEXT という文字列が文章の終わりを示します。

Output

単語 W の数を出力して下さい。
回答:AOJ/vol100/AOJ10022.cpp at master · wada811/AOJ
面倒なのでココからは文字列比較などの処理はすべてライブラリの力を借りていきます。
あまり良い名前が思いつかなかったので変数名がなんか微妙な気がする。

それではまた明日。
2012/03/20

Bloggerのリダイレクトによる弊害を回避するための二つの方法の比較

この問題に対して2つの対処法を紹介しました。
が、2つの方法のメリット・デメリットについて書いていませんでした。
初見の人はどちらの方法で対処していいのかわからないと思うのでココで思いつく限り上げてみたいと思います。

1.Bloggerでblogspot.jpにリダイレクトされるのを防ぐ方法

メリット

・導入が簡単。
・将来追加するウィジェットがデータタグ「data:post.url」を使っていても気にする必要なく追加できる。
・人気の投稿などで使っていたデータタグの「data:post.href」で .com URLを取得できる。
人気の投稿にTweet&はてブカウンターを表示させている人は .com URLでカウントできる。

デメリット

・.jp から.com にリダイレクトしているのが見えてダサい。
・JavaScript なので、ユーザーが JavaScript を OFF にしていると .com URLにリダイレクトできなくてユーザーが分散する。
→そこでソーシャルなリアクションがあっても .com URLではないので .com URLではカウントが増えない。
・Googleの意向に歯向かうような形になっているため、将来的に不利益を被る可能性があるかもしれない。
・海外からのアクセスでリダイレクトが無限ループになるらしい!←New!←修正済み

(2012/04/07)※「.jp」のみ「.com」にリダイレクトするようにコードを修正しました。コードの確認をお願いします。


2.Bloggerのリダイレクトで失われたソーシャルカウントを取り戻す方法

メリット

・Blogger 公式のデータタグを利用しているので何か問題が起こる可能性が少ない。
・Google の意向にも従っているので将来的な不安もなく、再び対応させられることがないと思われる。

デメリット

・新たにウィジェットなどを追加した時に「data:post.url」があったら毎回「data:post.canonicalUrl」に直さなければならない。
・人気の投稿などで使っていたデータタグの「data:post.href」で .com URLが取得できず、取得する方法が不明。

以上です。他にもあったらコメントして下さい。
このメリット・デメリットを比較して自分に合った方法を導入しましょう。

ちなみに私は記事下の「人気記事TOP5」が元々は人気の投稿で、
「data:post.href」を使用しているので(1)の方法を適用しています。

それでは。

Bloggerのリダイレクトで失われたソーシャルカウントを取り戻す方法

まとめDevAchieve: Bloggerのリダイレクトによる弊害を回避するための二つの方法の比較


前回のDevAchieve: Bloggerでblogspot.jpにリダイレクトされるのを防ぐ方法では
JavaScriptでリダイレクトし直していたわけですが、一部上手くいかないという報告がありました。
InternetExplorer9、Firefox11、GoogleChrome18、Safari5、Opera11にて確認しましたが、原因不明です。

代わりにJavasriptをOFFにしていると
.com URLにリダイレクトし直すことができないという問題を発見しました。

コレでは .com と .jp への分散は避けられません。


Googleの方針に逆らい続けるのも今後デメリットがあるかもしれないし、
リダイレクトし直してるのが見えるのも少しダサい、という要望に応えて
前回の方法に代わる新しい対処法をご紹介します。

新しい対処法

blogspot.comからblogspot.jpへリダイレクトに伴なってソーシャル系で困った場合の対処方法 - buzzword update
data:post.url を使われていた場所に data:post.canonicalUrl を使うようにして下さい。
こちらは xxxxx.blogspot.com のURLを返します。
ということで、data:post.canonicalUrl は必ず blogspot.com のURLを返してくれます。
HTMLソースをエディタなどにコピペして置換機能で置換してしまいましょう。
ソーシャルなリアクションがついていた blogspot.com でカウントしてくれるので
失われたソーシャルカウントが復活します。
このデータタグはBloggerの正式なタグですので今後不利益を被る可能性もないと思います。

おまけ

Bloggerデータタグの返すURL
・ブログ全体
data:blog.url : http://wada811.blogspot.jp/ // 表示中のページの .jp URL
data:blog.canonicalUrl : http://wada811.blogspot.com/ // 表示中のページの .com URL
・記事ループ内
data:post.url : http://wada811.blogspot.jp/2012/03/bloggerblogspotjp.html
data:post.canonicalUrl : http://wada811.blogspot.com/2012/03/bloggerblogspotjp.html
・ウィジェットの記事ループ内
data:post.href : http://wada811.blogspot.jp/2012/03/bloggerblogspotjp.html

ウィジェットの記事ループ内での .com URLを返すデータタグが不明です。
ご存じの方はコメントして行ってくれると嬉しいです。
ググった感じでは存在しないんじゃないかと思いました。
data:post.href は具体的には人気の投稿に使われていると思います。
(これが正常に動かないので私は前回の対処法を継続しています。)

Bloggerのリダイレクトによる弊害を回避するための二つの方法の比較

2012/03/18

Bloggerでblogspot.jpにリダイレクトされるのを防ぐ方法

追記(2012/04/07):海外からのアクセスでリダイレクトが無限ループになる問題を修正しました。
コードを修正したのでハイライトされた部分を修正してください。


追記DevAchieve: Bloggerのリダイレクトで失われたソーシャルカウントを取り戻す方法

まとめDevAchieve: Bloggerのリダイレクトによる弊害を回避するための二つの方法の比較


Bloggerで日本において blogspot.com から blogspot.jp にリダイレクトされるようになりました。
これは不具合でもバグでもなく、悲しいことに仕様です。
ですが対処法はあります。御託はいいから方法はよ。って人は記事の下から読んで下さい。

このリダイレクトは簡単に説明すると、中国みたいな国の検閲でも
その国において非表示にするだけで済むという運用上のためのもののようです。
この問題について詳しくは:
クリボウの Blogger Tips: Blogger ブログ(blogpot.com)へのアクセスが blogspot.jp にリダイレクトされる

これによるデメリット

ソーシャルなリアクションはURLでカウントされているので、リダイレクトによって今までのリアクションが見かけ上消えます。
俺の+1返せ!ヽ(`Д´)ノウワァァァン!! URLリダイレクトでBloggerブログが悲惨なことに…… ~ Plus One World

blogspot.jpにリダイレクトされるのを防ぐ方法

Disable Blogger Country Specific Domain Redirection | Ravi Saive: A Technology Blog For Newbiesを意訳&修正。
Bloogerの国固有ドメインリダイレクトの無効化

最近、Bloggerは国固有URLのリダイレクトをすべてのBlogSpotドメインに導入しました。
blogspot.com ドメイン拡張の代わりに、あなたの読者は読者の国固有ドメイン拡張を見ることになります。
リダイレクトは現在インドでも実装されていて、
これまでのところ blogspot.com ドメインから blogspot.in にリダイレクトされています。

(中略)

このリダイレクトは"country-code Top Level Domain" (ccTLD)と呼ばれるもので、
一時的な変更である"302 Redirect"として知られています。
アドレスの恒久的な変更である"301 redirect"ではありません。


この302国固有ドメインリダイレクトを無効化するために

あなたはこのリダイレクトに対処し、blogspot.comにこだわるために
ブログテンプレート少しのコードを追加する必要があります。
以下のステップに従ってブログから302 リダイレクトを無効化してしまいましょう!

ブログの国固有ドメインリダイレクトを無効化する方法

1. Blogger設定画面>テンプレート>HTMLの編集>続行
2. 変更を行う前にテンプレートのバックアップを取っておきましょう!
3. ウィジェットのテンプレートを展開にチェック。
4. テンプレートから以下のコードを検索する。
</head>
5. </head>の前に以下のコードをコピペする。
<script type='text/javascript'>
if ((window.location.href.toString().indexOf('.jp/'))!='-1'){
window.location.href = window.location.href.toString().replace('.blogspot.jp/','.blogspot.com/ncr/');
}
</script>
(保存後にBlogger側で少し自動変換されますが問題はないかと思います)
6. テンプレートを保存してブログを確認しましょう。

もしまだリダイレクトされる場合は、コメント欄に質問を投稿してくれたら手助けできるかもしれません。

以上、意訳おわり。たぶんコレで大丈夫です。
このブログもblogspot.comで表示できているでしょう?

それでは。

追記:もう一つの方法があります。

DevAchieve: Bloggerのリダイレクトで失われたソーシャルカウントを取り戻す方法

まとめDevAchieve: Bloggerのリダイレクトによる弊害を回避するための二つの方法の比較

2012/03/16

サクラエディタでUTF-8をデフォルトの文字コードにする

サクラエディタ - http://sakura-editor.sourceforge.net/
サクラエディタのデフォルトの文字コードはShift-JISなのでUTF-8に変更します。

FileReopenUTF8(0);
上の内容を記述した jsファイルを新規作成します。
サクラエディタを開き、設定>共通設定>マクロで、
参照ボタンを押して先程の jsファイルの存在するフォルダを指定し、
下のFileのプルダウンメニューから jsファイルを指定します。
その下の自動実行の「新規/開ファイル後」にチェックを入れて設定ボタンを押しましょう。

以上で設定は完了です。
次からは新規作成字サクラエディタを開いた時にデフォルトでUTF-8で開いてくれます。
(※元々UTF-8でないファイルを開くとUTF-8として開かれて一部文字化けするので注意)
2012/03/09

[競技プログラミング][C言語][AOJ10021]Finding Minimum String

AIZU ONLINE JUDGE http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=10021

Finding Minimum String

与えられた単語の中で、辞書式順序で先頭になるものを出力するプログラムを作成して下さい。

Input

1行目に与えられる単語の数 n が与えられます。続いて n 個の単語がそれぞれ1行に与えられます。

与えられる単語は20文字以内で小文字のみで構成されています。

Output

先頭になる文字列を1行に出力して下さい。
回答:AOJ/vol100/AOJ10021.cpp at master · wada811/AOJ
回答<string.h>ver.:AOJ/vol100/AOJ10021_string.cpp at master · wada811/AOJ
<string.h>を使わない方はもう少しマシな方法があるような気がするけどとりあえずクリア。

それではまた。
2012/03/08

[競技プログラミング][C言語][AOJ10020]Counting Characters

AIZU ONLINE JUDGE http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=10020

Counting Characters

与えられた英文に含まれる、各アルファベットの数を数えるプログラムを作成して下さい。 なお、小文字と大文字は区別しません。

Input

複数の行にまたがる1つの英文が与えられます。

Output

与えられた英文に含まれる各アルファベットの数を以下に示す形式で出力して下さい:

a : aの個数
b : bの個数
c : cの個数
.
.
z : zの個数
回答:AOJ/vol100/AOJ10020.cpp at master · wada811/AOJ
scanf()関数は読み込んだデータの個数を返し、読み込みに失敗するとEOFを返す。
(参考:C言語入門 12.基本ライブラリ)
それを利用して無限ループで入力を受け付ける。
アスキーコードの計算で個数を配列に格納するという流れ。
最後の表示でアルファベットを表示するときに、
中身が[a-z]の配列を使っているのを見たことがあるけどちょっとダサイので
アスキーコードの計算を応用して上手いこと表示してやりました。

それではまた明日。
2012/03/07

[競技プログラミング][C言語][AOJ10019]Sum of Numbers

AIZU ONLINE JUDGE http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=10019

Sum of Numbers

与えられた数の各桁の和を計算するプログラムを作成して下さい。

Input

複数のデータセットが入力として与えられます。各データセットは1つの整数 x を含む1行で与えられます。

x は 1000 桁以下の整数です。

x が 0 のとき入力の終わりとします。このデータセットに対する出力を行ってはいけません。

Output

各データセットに対して、x の各桁の和を1行に出力して下さい。
回答:AOJ/vol100/AOJ10019.cpp at master · wada811/AOJ
これもNoteがほとんど答えになっているので簡単だと思う。

それではまた明日。
2012/03/05

[競技プログラミング][C言語][AOJ10018]Toggling Case

AIZU ONLINE JUDGE http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=10018

Toggling Case

与えられた文字列の小文字と大文字を入れ替えるプログラムを作成してください。

Input

文字列が1行に与えられます。

Output

与えられた文字列の小文字と大文字を入れ替えた文字列を出力して下さい。
アルファベット以外の文字はそのまま出力して下さい。

回答:AOJ/vol100/AOJ10018.cpp at master · wada811/AOJ · GitHub
C言語の場合は ctype.h をインクルードしてやれば、Noteにある関数を使うことができる。

それではまた明日。
2012/03/02

[競技プログラミング][C言語][AOJ10017]How many ways?

AIZU ONLINE JUDGE http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=10017

How many ways?

1 から n までの数の中から、重複無しで3つの数を選び
それらの合計が x となる組み合わせの数を求めるプログラムを作成して下さい。

例えば、1 から 5 までの数から3つを選んでそれらの合計が 9 となる組み合わせは、

1 + 3 + 5 = 9
2 + 3 + 4 = 9
の2通りがあります。

Input

複数のデータセットが入力として与えられます。各データセットでは、空白で区切られた n、x が 1 行に与えられます。

n、x がともに 0 のとき入力の終わりとします。

n は 3 以上 100 以下とします。

Output

各データセットについて、組み合わせの数を1行に出力して下さい。
回答:AOJ/vol100/AOJ10017.cpp at master · wada811/AOJ
ループを回る回数できるだけ少なくなるようにしてみた。
ただクリアするだけならとりあえず全部回すようにするだけでいいと思う。

それではまた。

えぇ!?またToastをshow()するのを忘れたのかい!?

えぇ!?Eclipseのテンプレート機能を使えば忘れるなんてことはないのかい!?

ということで昼間のTwitterのタイムラインがToastのshow()忘れについて盛り上がっていたので記事を書いてみる。
面倒な事は全部機械に任せれば良いんだよ!(`・ω・´)
ラッパークラスを作る必要もないんだよ。

Preference > Java > Editor > Templates


ね?簡単でしょ?

このテンプレート機能によってTLCtrl+SpaceでToastLongをすぐに呼び出せるのだ!

今ならAmeroadでToastShortもセットで50円!

ToastTemplates.xml | Ameroad
ファイルを購入したら上の画像の右側の"Import"ボタンをクリックして ToastTemplates.xml を読み込もう!



参考:AndroiderはEclipseのテンプレート機能を覚えた! - Togetter
参考:ソリューション: テンプレートを使う | Eclipse Galileo でJava コーディングを迅速に行うための追加事項

タグ(RSS)

ブログ アーカイブ