元タイ人留学生がのぞいたタイランド

元タイ人留学生が日本語で綴るタイのIT事情

7

2006


            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

検索


カテゴリーリスト

タグリスト

2006年07月27日(木)

就業規則は労使間の協定とみなされる [タイビジネス]

タイ・ビジネスメルマガを更新しました。
今回の議題は「就業規則は労使間の協定とみなされる」です。

Posted by ぷーちゃん at 16時52分   パーマリンク

2006年07月25日(火)

タイの選挙委員会の代表者3名が牢屋入りになった [タイの政治経済]

速報です。ついに裁判官の判決が決定がくだされました。本日24日タイの選挙委員会の代表者3名が有罪判決となりました。ちなみに4月2日の総選挙に関する刑事事件だったので、今夜から刑務所で寝ることになりました。

Posted by ぷーちゃん at 22時03分   パーマリンク

2006年07月24日(月)

Excelで数字をタイ・英・日本語の文字列へ変換する関数 [タイの電脳事情 電脳街情報]

画像(320x77)・拡大画像(640x154)

Excelで数字を文字列へ変換する関数

情報処理の実験でBAHTTEXTという関数が使われていました。いったいなんだろうと思って調べてみたら、ExcelやCalcなど表計算プログラムで数字をタイ語の文字列へ変換する関数だとわかりました。

すごい!タイの会社の経理課でいっぱい使われている関数の一つに違いありません。ただうちの経理システムとは無縁です。見積書や請求書などを発行する際、メインに使っているのは英語なので、むしろ数字を英語の文字列に変換する関数があったほうがありがたいと思っています。しかし、残念ながらこのような関数は標準的に存在していないようです。

では、手打ちするかと思っても、ちょっと諦めが早いような気がします。マクロを書けば、できないことはないでしょうが、なにげにGoogleで excel number to text spell function というキーワードを入れてみたら、マイクロソフトのヘルプページ(
http://support.microsoft.com/?kbid=213360

に辿り着きました。

このページによると、VBAでSPELLNUMBERという関数を作成すればいいそうです。 

Excelが立ち上がっている状態でALT+F11でVBAを起動して、そのページにあるコードを登録すれば、SPELLNUMBER関数ができあがります。

デフォルトは数字をDollarsとCentsへ変換するので、バーツ、サターンにしたい場合、コード内のDollarsをBahtsへ、CentsをSatangsへ変更する必要があります。下記は修正したコードです。(プログラムを少しできる方ならご自分で修正できると思うので、下記のコードは要らないかもしれません。)


Function SpellNumber(ByVal MyNumber)
Dim Bahts, Satangs, Temp
Dim DecimalPlace, Count
ReDim Place(9) As String
Place(2) = " Thousand "
Place(3) = " Million "
Place(4) = " Billion "
Place(5) = " Trillion "
' String representation of amount.
MyNumber = Trim(Str(MyNumber))
' Position of decimal place 0 if none.
DecimalPlace = InStr(MyNumber, ".")
' Convert Satangs and set MyNumber to dollar amount.
If DecimalPlace > 0 Then
Satangs = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _
"00", 2))
MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
End If
Count = 1
Do While MyNumber <> ""
Temp = GetHundreds(Right(MyNumber, 3))
If Temp <> "" Then Bahts = Temp & Place(Count) & Bahts
If Len(MyNumber) > 3 Then
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Else
MyNumber = ""
End If
Count = Count + 1
Loop
Select Case Bahts
Case ""
Bahts = "No Bahts"
Case "One"
Bahts = "One Baht"
Case Else
Bahts = Bahts & " Bahts"
End Select
Select Case Satangs
Case ""
Satangs = " and No Satangs"
Case "One"
Satangs = " and One Satang"
Case Else
Satangs = " and " & Satangs & " Satangs"
End Select
SpellNumber = Bahts & Satangs
End Function

' Converts a number from 100-999 into text
Function GetHundreds(ByVal MyNumber)
Dim Result As String
If Val(MyNumber) = 0 Then Exit Function
MyNumber = Right("000" & MyNumber, 3)
' Convert the hundreds place.
If Mid(MyNumber, 1, 1) <> "0" Then
Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
End If
' Convert the tens and ones place.
If Mid(MyNumber, 2, 1) <> "0" Then
Result = Result & GetTens(Mid(MyNumber, 2))
Else
Result = Result & GetDigit(Mid(MyNumber, 3))
End If
GetHundreds = Result
End Function

' Converts a number from 10 to 99 into text.
Function GetTens(TensText)
Dim Result As String
Result = "" ' Null out the temporary function value.
If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19...
Select Case Val(TensText)
Case 10: Result = "Ten"
Case 11: Result = "Eleven"
Case 12: Result = "Twelve"
Case 13: Result = "Thirteen"
Case 14: Result = "Fourteen"
Case 15: Result = "Fifteen"
Case 16: Result = "Sixteen"
Case 17: Result = "Seventeen"
Case 18: Result = "Eighteen"
Case 19: Result = "Nineteen"
Case Else
End Select
Else ' If value between 20-99...
Select Case Val(Left(TensText, 1))
Case 2: Result = "Twenty "
Case 3: Result = "Thirty "
Case 4: Result = "Forty "
Case 5: Result = "Fifty "
Case 6: Result = "Sixty "
Case 7: Result = "Seventy "
Case 8: Result = "Eighty "
Case 9: Result = "Ninety "
Case Else
End Select
Result = Result & GetDigit _
(Right(TensText, 1)) ' Retrieve ones place.
End If
GetTens = Result
End Function

' Converts a number from 1 to 9 into text.
Function GetDigit(Digit)
Select Case Val(Digit)
Case 1: GetDigit = "One"
Case 2: GetDigit = "Two"
Case 3: GetDigit = "Three"
Case 4: GetDigit = "Four"
Case 5: GetDigit = "Five"
Case 6: GetDigit = "Six"
Case 7: GetDigit = "Seven"
Case 8: GetDigit = "Eight"
Case 9: GetDigit = "Nine"
Case Else: GetDigit = ""
End Select
End Function


Posted by ぷーちゃん at 12時54分   パーマリンク

2006年07月21日(金)

タイの総選挙が10月15日に決定? [タイの政治経済]

ついにタイ国王から勅令が出されたと暫定政府側が発表したそうです。本当かどうか確認しているところですが、王様が入院している間にこのような発表があるとは思えないのですが、果たしてこれが真相なのかよくわかりません。

Posted by ぷーちゃん at 19時00分   パーマリンク

2006年07月17日(月)

久々にしびれる記事を読みました。 [タイの電脳事情 電脳街情報]

翻訳メモリというキーワードでいろいろなサイトを廻っているうちに、
このページに辿り着きました。以前、このページで主役の加藤先生のOSの授業を受講したことがあったので、懐かしいなと思いながら、じっくり内容を完読してしまいました。

ひと事でいうと、久々にしびれました。やっていることがすでに最先端で、スケール的に大きいです。筑波大のOS研は実際に優秀な人じゃないと、なかなか入れないと昔から知られています。特に『人間の種類が分極化している』という部分については、本当にすごい人は歳とは関係なく、想像以上に何十万行のソースコードを軽々にいじれてしまうので、ある意味で人間の力や努力で絶対に不可能なことはないと思います。

これを読んで、大変励みになりました。

Posted by ぷーちゃん at 11時49分   パーマリンク

過去の記事へ

ページのトップへ ページのトップへ

PHOTO

Web Cameraを買いました。

Web Cameraを買いました。

パソコンをバックアップしていますか?

パソコンをバックアップしていますか?

待ちに待ったIphone Firmware 3.0 Full Thai Localized

待ちに待ったIphone Firmware 3.0 Full Thai Localized

最近の記事

最近のコメント

最近のトラックバック

リンク集

RSS1.0

[Login]


powered by a-blog
コミュ ニケーションをもっと快適に タイ語翻訳会社ジーアイピーユー