2009年12月25日金曜日

GAE/Jでメール送信

Java.mailクラスを使えるようにする為に

mail.jar
activation.jar
クラスをeclipseから参照できるように設定。

importは下記項目をimport
import java.io.UnsupportedEncodingException;
import java.util.Properties;
import javax.mail.MessagingException;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;


ソースは下記ソースで送信可能
//メールを送信する。
Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);

try {

MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress("aaa@gmail.com", "送信者の名前", "ISO-2022-JP"));
msg.addRecipient(Message.RecipientType.TO, new InternetAddress("bbb@yahoo.co.jp")); //送信先のメールアドレス
msg.setSubject("メールの件名", "ISO-2022-JP");
msg.setText("メールの本文", "ISO-2022-JP");
Transport.send(msg);

} catch (UnsupportedEncodingException e) {

// } catch (AddressException e) {
// ...
} catch (MessagingException e) {
// ...
}
}

2009年12月24日木曜日

ExcelVBA SUM関数をセットするsub関数

Sub setSumKansuu(ByVal taisyouCol As Integer, ByVal lastRow As Integer)
MaxUpRow = 2
セル範囲 = "R" & MaxUpRow & "C" & taisyouCol & ":R" & lastRow & "C" & taisyouCol
数式 = "=SUM(" & セル範囲 & ")"
Range(Cells(lastRow + 1, taisyouCol), Cells(lastRow + 1, taisyouCol)).FormulaR1C1 = 数式
End Sub

引数に対称列と最終行を渡す。
また
最終行を取得は下記関数で取得できる。
ActiveCell.SpecialCells(xlLastCell).Select
最終行を変数にセット
MaxDownRow = ActiveCell.Row

2009年12月18日金曜日

Excelマクロ シートの値取得、検索

シートの値を取得する方法
Worksheets("シート名").Cells(列, 行).Value



検索ロジック
Set objFind = Worksheets("シート名").Cells.Find(What:=検索する値, LookAt:=xlWhole, After:=Cells(1, 2), SearchOrder:=xlByRows)

If Not objFind Is Nothing Then
strAddress = objFind.Address

Do While Not objFind Is Nothing
lngYLine = objFind.Cells.Row
intXLine = objFind.Cells.Column
  MsgBox ""

IF 見つかった場合の処理


'次のデータを検索
Set objFind = Worksheets("出力").Cells.FindNext(objFind)

'最後のデータの場合
If strAddress = objFind.Address Then
Exit Do
End If
Loop

End If

Excelマクロ シートの値取得、検索

シートの値を取得する方法
Worksheets("シート名").Cells(列, 行).Value



検索ロジック
Set objFind = Worksheets("シート名").Cells.Find(What:=検索する値, LookAt:=xlWhole, After:=Cells(1, 2), SearchOrder:=xlByRows)

If Not objFind Is Nothing Then
strAddress = objFind.Address

Do While Not objFind Is Nothing
lngYLine = objFind.Cells.Row
intXLine = objFind.Cells.Column
  MsgBox ""

IF 見つかった場合の処理


'次のデータを検索
Set objFind = Worksheets("出力").Cells.FindNext(objFind)

'最後のデータの場合
If strAddress = objFind.Address Then
Exit Do
End If
Loop

End If

2009年12月10日木曜日

google app engineでpicasa web albumと連携(初期設定)

開発環境の初期設定
http://code.google.com/p/gdata-java-client/downloads/list
gdata-src.java-1.x.x.java.zipを落とし、jarファイルをインポートする。

appengine-web.xmlに



を追加する。

コーディングして実行した所
java.lang.NoClassDefFoundError: com/google/common/collect/Maps
と言うエラーが発生した。
google-collect-1.0-rc5.zip
と言うファイルを解凍し、jafファイルをインポートする事で解決する。

phpの開発環境

vertrigoservを教えてもらったけど
初期設定ほぼ不必要でphp実行環境を手に入れられる。
またwebサーバーを簡易に立てたい時にお勧めかも。

2009年12月9日水曜日

google app engineでSessionを利用する方法

GAEでSessionを使用可能にする方法
appengine-web.xmlに下の一行を追加する。
true

後は普通にJAVAで記述すれば良い
HttpSession session = request.getSession(true);
session.setAttribute("Id", Id);

google app engineのインストール

今回JDK+プラグイン+日本語化がセットになっているのがあったらので
そちらを使用する事に。
(日本語 Eclipse Pleiades All in One Java)
個別にインストール + Eclipse 3.5(Galileo)も使えるみたいなのでそちらを使用
(google App Engineと日本語化パッチも3.5用の物を使用する。)


Eclipseインストール後、タブの中から
Help→Software Updates
→Available Software→Add site
※最後の3.5とかはバージョンらしいので各バージョンにあった物を使用

http://dl.google.com/eclipse/plugin/3.5




●JSPについて

基本的に
JSP → サーブレット → JSP
の流れになる模様。

・JSPはhtmlタブとJAVAの混合
・サーブレットは完全にJAVAによって動くページ?

上記のJSPとサーブレットを組合す事によって分離コードにする事ができる。
サーブレット/JSPを使ったアプリケーションでは、サーブレットで処理を行い
JSPで表示するといった使いが可能。

またサーブレットにアクセスする際の設定をweb.xmlでマッピングを行い設定する。
サーブレットからJSPに処理を移すには、RequestDispatcherオブジェクトのfowardメソッドを使う。
RequestDispatcherオブジェクトは、requestから、getRequestDispatcherメソッドに処理移行先の
JSPファイル名を指定して呼び出す。
fowardメソッドの引数にはrequestとreaponseを渡す。

2009年12月4日金曜日

クラウドについて

amazonからAWS(amazon web service)と
googleからGWE(google app engine)の
二つのクラウドを開発する環境が提供されているが、
AWSはOSの選択を選択肢、全て自分で実装する事が可能みたい。
Windows + IIS + asp.netでも
Linux + apatch&tomcat + jsp/php でも
どちらでも使用可能
しかもウィンドウズのイメージ等容易されていて
Windows2003Serverを使い始めるのに物の数分で構築できるらしい。

google App engineは使用できるのはjspのみで動作環境は
google側で用意されている。DBもgoogle側で用意されているので
いきなりプログラムが始める事が可能。
500MBまで無料使えるしメンテ等考えたら個人で使うにはgoogleの
方がよさそう。