<% '都道府県配列 Dim prefecArray prefecArray = Array("北海道","青森県","秋田県","岩手県","宮城県","山形県","福島県","茨城県","栃木県","群馬県","埼玉県","東京都","千葉県","神奈川県","長野県","山梨県","静岡県","愛知県","岐阜県","三重県","新潟県","富山県","石川県","福井県","滋賀県","京都府","大阪府","兵庫県","奈良県","和歌山県","岡山県","広島県","島根県","鳥取県","山口県","徳島県","香川県","愛媛県","高知県","福岡県","大分県","長崎県","佐賀県","熊本県","宮崎県","鹿児島県","沖縄県") '送料計算 Function getSipCost() Dim soryo1,soryo2,add,i,areaNo,cateInt2 Dim soryo3, nDVD, m soryo1 = 0 soryo2 = 0 soryo3 = 0 'DVDの送料 Select Case CInt(Session("cateSuryo1")) 'ビデオ数量 Case 0 soryo1 = 0 Case 1 soryo1 = 240 Case 2 soryo1 = 390 Case 3 soryo1 = 390 Case 4 soryo1 = 580 Case 5 soryo1 = 580 Case 6 soryo1 = 580 Case 7 soryo1 = 970 Case 8 soryo1 = 970 Case 9 soryo1 = 970 End Select If Session("sName") = "" Then add = Session("prefecture") Else add = Session("sPrefecture") End If '地域を取得 areaNo = getArea(add) cateInt2 = CInt(Session("cateSuryo2")) 'ビデオ以外の数量 If cateInt2 = 0 Then soryo2 = 0 Else Select Case areaNo Case 1 '関東地方 If cateInt2 < 4 Then soryo2 = 500 Else soryo2 = 700 End If Case 2 '関西・東北 If cateInt2 < 4 Then soryo2 = 700 Else soryo2 = 850 End If Case 3 '中国・四国 If cateInt2 < 4 Then soryo2 = 800 Else soryo2 = 1000 End If Case 4 '九州・北海道 If cateInt2 < 4 Then soryo2 = 1000 Else soryo2 = 1200 End If End Select End If nDVD = 0 'DVDの数量 For m=0 to UBound(Session("sesSelectProduct"))-1 If Session("sesSelectProduct")(m,6) = "5" Then nDVD = Session("sesSelectProduct")(m,3) + nDVD End If Next soryo3 = 200*nDVD 'DVDの送料 getSipCost = soryo1 + soryo2 + soryo3 End Function '都道府県が属する地域名を返す Function getArea(prefectureNo) Dim areaNo,i Dim kanto,chusikoku,kyuhokkai,chubu,kansaitohoku kanto = Array("8","9","10","11","12","13","14") kansaitohoku = Array("2","3","4","5","6","7","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30") chusikoku = Array("31","32","33","34","35","36","37","38","39") kyuhokkai = Array("1","40","41","42","43","44","45","46","47") chubu = Array() For i=0 to UBound(kanto) If prefectureNo = kanto(i) Then areaNo = 1 '関東 getArea = areaNo Exit Function End If Next For i=0 to UBound(kansaitohoku) If prefectureNo = kansaitohoku(i) Then areaNo = 2 '関西・東北 getArea = areaNo Exit Function End If Next For i=0 to UBound(chusikoku) If prefectureNo = chusikoku(i) Then areaNo = 3 '中四国 getArea = areaNo Exit Function End If Next For i=0 to UBound(kyuhokkai) If prefectureNo = kyuhokkai(i) Then areaNo = 4 '九州・北海道 getArea = areaNo Exit Function End If Next '------------------ '配列のサイズを求めるUBoundは配列によって異なる数を返す 'Dim aaa(3) 'UBound(aaa) -> 3を返す 'Dim aaa 'aaa = Array(1,1,1) 'UBound(aaa) -> 2を返す '------------------ End Function %>