2011年9月15日木曜日

外部APIを利用したWEBサービスの提案

マッシュアップ(*1)を用いて,各自独自のWEBサービスを構築する.
構築先は授業用共有サーバ(10.5.1.240)のユーザーディレクトリ以下とする.

要件
外部APIを3つ以上組み合わせること.
授業用共有サーバで動作するもの.


参考サイト
google APIs (*2)
Yahoo!デベロッパーネットワーク
Mashup Awards 7

(*1)各社が提供しているWEBサービスを利用する為の外部APIを組み合わせ,1つのWEBサービスに仕立てる手法の事.
(*2)自分が利用しているGoogle APIを一覧表示するには,google API Consoleを利用すると便利.

2011年9月13日火曜日

Excel VBA課題(3)

20110912のファイルをベースとして,想定されるエラーに対する処理(5箇所)を追加する.
例) 商品ID(会員ID)が空欄の場合,商品ID(会員ID)の入力を促すメッセージを表示し,処理を中断する.

sample code
Sub point()
    '1.ワークシート「入力」に入力された文字列を取得(エラー処理あり)
    Dim errorFlag As Integer
    errorFlag = 0
    
    Dim syouhin As Integer
    If IsNumeric(Worksheets("入力").Range("B1").Text) Then
        syouhin = Worksheets("入力").Range("B1").Value
    ElseIf Worksheets("入力").Range("B1").Text = "" Then
        MsgBox "商品IDが空欄です.商品IDを入力してください."
        errorFlag = 1
    Else
        MsgBox "正しい商品IDを入力してください."
        errorFlag = 1
    End If
    
    Dim kaiin As Integer
    If IsNumeric(Worksheets("入力").Range("B2").Text) Then
        kaiin = Worksheets("入力").Range("B2").Value
    ElseIf Worksheets("入力").Range("B2").Text = "" Then
        MsgBox "会員IDが空欄です.会員IDを入力してください."
        errorFlag = 1
    Else
        MsgBox "正しい会員IDを入力してください"
        errorFlag = 1
    End If
    
    If errorFlag = 0 Then
        '2.取得した「商品ID」から「価格」と「ポイント付与率」を取得
        Dim kakaku As Long
        Dim fuyoritsu As Integer
        
        Worksheets("商品").Select
        Worksheets("商品").Range("A2").Select
        
        Do While ActiveCell.Value <> ""
            If ActiveCell.Value = syouhin Then
                kakaku = ActiveCell.Offset(0, 2).Value
                fuyoritsu = ActiveCell.Offset(0, 3).Value
            End If
            'MsgBox "価格:" & kakaku & "、ポイント付与率" & fuyoritsu
            ActiveCell.Offset(1, 0).Select
        Loop
        
        '3.取得した「会員ID」から「保有ポイント数」と「会員種別」を取得
        Dim point As Long
        Dim syubetsu As Variant
        
        Worksheets("会員").Select
        Worksheets("会員").Range("A2").Select
        
        Do While ActiveCell.Value <> ""
            If ActiveCell.Value = kaiin Then
                point = ActiveCell.Offset(0, 2).Value
                syubetsu = ActiveCell.Offset(0, 3).Value
            End If
            ActiveCell.Offset(1, 0).Select
        Loop
        
        '4.取得した「価格」と「保有ポイント数」から「支払金額」を表示
        Dim kingaku As Long
        Worksheets("入力").Select
        kingaku = kakaku - point
        Worksheets("入力").Range("B4").Value = kingaku
        
        Worksheets("入力").Range("B6").Value = kakaku
        If syubetsu = "ゴールド" Then
            fuyoritsu = fuyoritsu * 2
        End If
        Worksheets("入力").Range("B7").Value = kakaku * fuyoritsu / 100
    End If
End Sub

download

2011年9月12日月曜日

Excel VBA課題(2)

20110907の課題で作成したVBAをベースとして,「商品ID」「会員ID」を入力し、保有ポイントを使用した場合の支払金額と併せて,ポイントを使用しない場合の支払金額付与ポイント数を表示する.

※用意するExcelのシートは3つ「商品」「会員」「入力」
※1ポイント=1円換算※ポイント使用時は、ポイントは付与されない.


※会員種別として,通常会員/ゴールド会員の2つの区分を用意する.
※ゴールド会員は通常会員と比べて付与ポイント数が2倍とする.


sample code
Sub point()

    '1.ワークシート「入力」に入力された文字列を取得
    Dim syouhin As Integer
    syouhin = Worksheets("入力").Range("B1").Value
    
    Dim kaiin As Integer
    kaiin = Worksheets("入力").Range("B2").Value
    
    '2.取得した「商品ID」から「価格」と「ポイント付与率」を取得
    Dim kakaku As Long
    Dim fuyoritsu As Integer
    
    Worksheets("商品").Select
    Worksheets("商品").Range("A2").Select
    
    Do While ActiveCell.Value <> ""
        If ActiveCell.Value = syouhin Then
            kakaku = ActiveCell.Offset(0, 2).Value
            fuyoritsu = ActiveCell.Offset(0, 3).Value
        End If
        'MsgBox "価格:" & kakaku & "、ポイント付与率" & fuyoritsu
        ActiveCell.Offset(1, 0).Select
    Loop
    
    '3.取得した「会員ID」から「保有ポイント数」と「会員種別」を取得
    Dim point As Long
    Dim syubetsu As Variant
    
    Worksheets("会員").Select
    Worksheets("会員").Range("A2").Select
    
    Do While ActiveCell.Value <> ""
        If ActiveCell.Value = kaiin Then
            point = ActiveCell.Offset(0, 2).Value
            syubetsu = ActiveCell.Offset(0, 3).Value
        End If
        ActiveCell.Offset(1, 0).Select
    Loop
    
    '4.取得した「価格」と「保有ポイント数」から「支払金額」を表示
    Dim kingaku As Long
    Worksheets("入力").Select
    kingaku = kakaku - point
    Worksheets("入力").Range("B4").Value = kingaku
    
    Worksheets("入力").Range("B6").Value = kakaku
    If syubetsu = "ゴールド" Then
        fuyoritsu = fuyoritsu * 2
    End If
    Worksheets("入力").Range("B7").Value = kakaku * fuyoritsu / 100
End Sub

download

Excel VBA課題(1)

「商品ID」「会員ID」を入力し、保有ポイントを使用した場合の金額を表示する.
 (まずは「佐藤」が「テレビ」を購入した場合を考える) 

※用意するExcelのシートは3つ「商品」「会員」「入力」
※1ポイント=1円換算
※ポイント使用時は、ポイントは付与されない.

sample code
Sub point()

    '1.ワークシート「入力」に入力された文字列を取得
    Dim syouhin As Integer
    syouhin = Worksheets("入力").Range("B1").Value
    
    Dim kaiin As Integer
    kaiin = Worksheets("入力").Range("B2").Value
    
    'MsgBox "商品ID:" & syouhin & ", 会員ID:" & kaiin

    
    '2.取得した「商品ID」から「価格」を取得
    Dim kakaku As Long
    kakaku = 0
    
    Worksheets("商品").Select
    Worksheets("商品").Range("A2").Select
    
    Do While ActiveCell.Value <> ""
        If ActiveCell.Value = syouhin Then
            kakaku = ActiveCell.Offset(0, 2).Value
        End If
        
        'MsgBox "価格:" & kakaku
        
        ActiveCell.Offset(1, 0).Select
    Loop
    
    
    '3.取得した「会員ID」から「保有ポイント数」を取得
    Dim point As Long
    point = 0
    
    Worksheets("会員").Select
    Worksheets("会員").Range("A2").Select
    
    Do While ActiveCell.Value <> ""
        If ActiveCell.Value = kaiin Then
            point = ActiveCell.Offset(0, 2).Value
        End If
        
        'MsgBox "ポイント:" & point
        
        ActiveCell.Offset(1, 0).Select
    Loop

    '4.取得した「価格」と「保有ポイント数」から「支払金額」を表示
    Worksheets("入力").Select
    
    Dim kingaku As Long
    kingaku = kakaku - point
    
    'MsgBox "支払金額:" & kingaku
    Worksheets("入力").Range("B4").Value = kingaku

End Sub

download

Microsoft Excel 2010でマクロ/VBAを有効にする方法

Microsoft Excel 2010では,標準の状態ではマクロ/VBAが使用できないようになっています. マクロを使用するためには,以下の設定を変更する必要があります.

1.メニューの中の「ファイル」から「オプション」を選択


2.リボンのユーザー設定から,「開発」の右側にあるチェックボックスにチェックを入れる

3. これでリボン(ツールバー)に「開発」タブが表示されるようになります.この「開発」タブの中にVisualBasicEditorやマクロを呼び出す為のボタンが含まれています.

4.リボンに表示された「開発」タブの中の「マクロのセキュリティ」ボタンを押し「セキュリティセンター」の画面を開きます.セキュリティの設定を以下のように変更します.

以上.