Access VBA ベーシック 模擬問題 模擬試験

Access VBA ベーシック 模擬問題 ① 第15問 5章

以下のコードを実行した際、メッセージボックスに表示される結果として最も適切なものはどれか。

以下の選択肢より1つ解答しなさい。

 

Sub Exam1()

 Dim N As String

  N= "ABあいう" ' 半角文字2つ、全角文字3つ

 MsgBox LenB(N)

End Sub

 

1.メッセージボックスに「5」と表示される。

2.メッセージボックスに「7」と表示される。

3.メッセージボックスに「10」と表示される。

4.メッセージボックスに「8」と表示されるものである。

  

正解

3

解説

【5章 関数】

【LenB関数】

文字列のバイト数を返す関数です。

VBA内部では文字列がUnicodeで処理されるため、半角文字も全角文字も区別なく1文字あたり2バイトとしてカウントされます。

構文

LenB(文字列)

【コード解説】

以下のコードを実行した際、メッセージボックスに表示される結果として最も適切なものはどれか。

以下の選択肢より1つ解答しなさい。

Sub Exam1()

 Dim N As String

N= "ABあいう" ' 半角文字2つ、全角文字3つ

’変数に文字列を代入する。

 MsgBox LenB(N)

’LenB関数で文字列ののバイト数を開始

End Sub

 

1.メッセージボックスに「5」と表示される。

誤り。

Len関数であれば文字数として5が返されますが、LenB関数はバイト数を返します。

2.メッセージボックスに「7」と表示される。

誤り。

VBA内部では文字列がUnicodeで処理されるため、半角文字も全角文字も区別なく1文字あたり2バイトとしてカウントされます。

3.メッセージボックスに「10」と表示される。

正しい。

LenB関数は文字列のバイト数を返します。

VBA内部では文字列はUnicodeで扱われ、1文字あたり2バイトであるため、「ABあいう」の5文字は 5times2=10 バイトとしてカウントされます。

4.メッセージボックスに「8」と表示されるものである。

誤り。

LenB関数が返すバイト数の計算が正しくありません。