
変数文字列をアスキーコードの10進数であらわしたいのですが、どのようなプログラムをかけばいいのでしょうか?
ネットで調べたのですが、よくわかりません。
たとえば
hensuumojiretuという名前の変数文字列を作り、それをアスキーコードに変換するとしたらどのようなプログラムをかいたらよいのでしょうか。
hensuumojiretuは自分で入力する形にしたいです。
それがわかったら変換後のアスキーコードを変数文字列(数字?)として定義したいと思っています。
この本に載ってるとか、このサイトにあるよという情報でもよいのでどうかおしえてくださいおねがいします。
No.1ベストアンサー
- 回答日時:
とりあえず、文字列→アスキーのサンプルを作ってみました。
フォームにCommand1,Text1,Label1を貼り付けてください
Private Sub Command1_Click()
Dim ln As Integer
Dim i As Integer
Dim strMoji As String
Label1.Caption = ""
strMoji = Text1.Text
ln = Len(strMoji)
For i = 1 To ln
Label1.Caption = Label1.Caption _
& Asc(Mid(strMoji, i, 1)) & vbCrLf
Next i
End Sub
わざわざ実際にプログラムをかいてくれてありがとうございます。
貼り付けて変数名を変えても動作しました。
またラベルをテキストに変えてやってみたのですが動作しました。
もう一つ質問なのですが、変換後の数字と数字の間の・・はどのプログラムでだしているのでしょうか?
どうか教えてください、おねがいします。
No.4
- 回答日時:
#2です。
VbCrLf は改行コードです。
文字列にWindowsの改行コード CR + LF を足しています。
先の例のプログラムでMsgBoxを使った場合は例えば ABC といれた場合
A:32
B:33
C:34
と表示されます。 この VbCrLf を外した場合
A:32B:33:C:34
と表示されます(改行されないのでつながって出るということです)。
続けて出したいなら VbCrLfは必要ありません。見やすくするなら空白か何かを入れればいいでしょう。
先の例:
strPrint = strPrint & strBuf & ":" & cStr(Asc(StrBuf)) & vbCrLf
を
strPrint = strPrint & strBuf & ":" & cStr(Asc(StrBuf)) & " "
とすれば
A:32 B:33 C:34
と表示されたはすです。
回答ありがとうございます。
momoturboさんへの質問と同じ内容の質問をしていたようです。
& " " & も使うことができました。
わかりやすい説明ありがとうございました。
おかげでプログラムが完成しました。
No.3
- 回答日時:
>もう一つ質問なのですが、変換後の数字と数字の間の・・はどのプログラムでだしているのでしょうか?
Label1ではなくTextに結果を表示した場合の話ですよね?
TextBoxはデフォルトで改行表示しません。
よって、vbCrLfを認識できないので、・・になります。
改行表示したい場合はmultilineというプロパティが
あるのでTrueにしてください。
サンプルでvbCrLfを使用したのは一文字ずつ表示
したほうが見やすいと思った為で、深い意味はありません。
改行の話
たとえば
-----------------
abc(改行)
d
-----------------
という内容をアスキーで表示すると
&h41 &h42 &h43 &h0d &h0a &h44
になります。(&hは16進数を表します)
ウィンドウズはCR,LF(&h0d &h0a)があると改行とみなします。
UNIX系はLF(&h0a)マックはCR(&h0d)で改行とみなします。
>Label1ではなくTextに結果を表示した場合の話ですよね?
捕捉ありがとうございます。
その通りです。
multilineをtrueにしたら横幅にあわせて改行しました。
vbcrlfを使っても見やすく表示できるということもわかりました。
くわしい説明ありがとうございました。
No.2
- 回答日時:
とりあえず入力された文字列はtext1.txtにあると仮定して
Dim strInput as String
Dim lngLen as Long
Dim i as Long
Dim strPrint as String
dim strBuf as String
strInput = text1.txt
lngLen = len(strInput)
For i = 1 to lngLen
strBuf = Mid$(strInput,i,1)
strPrint = strPrint & strBuf & ":" & cStr(Asc(StrBuf)) & vbCrLf
next
MsgBox strPrint
とりあえずこれでメッセージボックスに入力された文字を一文字ずつアスキーコードにして表示します。
ちなみに Asc(文字) がアスキーコードをしらべるステートメントです。
入力された文字列から一文字ずつとって(Mid$)、Ascでアスキーコードを調べてます。
あとはご自分で実際に使いたいように編集してみてください。
くわしい説明ありがとうございます。
Mid$で1文字ずつとって1文字ずつAscで変換しているのですね。
& vbCrlf は何を表しているのでしょうか?
調べてみたところ、vbCrlfは改行を表しているということですがよくわかりません。
どうか教えてください、おねがいします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- その他(プログラミング・Web制作) python質問 1 2023/08/14 11:54
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- PHP カラーミーショップのSmartyでの文字列抜き出し 2 2022/05/06 11:51
- Visual Basic(VBA) VBA B列にある前から10文字のみ表示 3 2023/08/07 11:24
- Ruby 英数字を含む文字列(0-9,A-Z)の桁数圧縮をするには 5 2022/06/28 18:15
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- フリーソフト フォルダ、ファイル名の一括変換について 3 2023/03/16 09:23
- その他(プログラミング・Web制作) 変換のプログラムを教えてください。 6 2023/07/01 09:57
このQ&Aを見た人はこんなQ&Aも見ています
-
VB6で配列を文字列に変換する方法?
Visual Basic(VBA)
-
16進数の変換処理
Visual Basic(VBA)
-
Form_Load と Form_Activate のタイミング
Visual Basic(VBA)
-
-
4
frxファイルの役目
Visual Basic(VBA)
-
5
VB6.0でのバイナリデータの扱いについて
Visual Basic(VBA)
-
6
VB6 配列を初期化したい
Visual Basic(VBA)
-
7
VB6のプロジェクトロードエラーについて
Visual Basic(VBA)
-
8
文字数に合わせて、コントロールの幅を設定する方法
Visual Basic(VBA)
-
9
VB6.0の「vbFromUnicode」はVB.NETではどれに相当しますか?
Visual Basic(VBA)
-
10
Visual Basic でのコードをASCII変換、16進変換したものを元に戻す方法を教えてください
Visual Basic(VBA)
-
11
VB6.0のString関数に代わるVB2008のそれは?
Visual Basic(VBA)
-
12
VB6でデータを昇順に並べ替える
Visual Basic(VBA)
-
13
VB6でLabelの最前面にText Boxを書く
Visual Basic(VBA)
-
14
byte配列の内容をstringにコピーしたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
エスケープ文字の復帰(¥r)と...
-
テキストボックス行の桁数を制...
-
グレープシティのSPREAD...
-
改行について
-
LaTeX: captionの中で改行した...
-
エディットボックスで改行
-
【VBA】エクセルで最後の不要な...
-
DBからのデータを改行して表示
-
vb.netでのリッチテキストボッ...
-
エクセルVBA 文字列領域が不足...
-
C# DataGridViewのセルを改行禁...
-
アスキーコードへの変換につい...
-
メールの先頭の改行
-
JavaMail,本文中の改行について
-
Excel VBAからBeckyを起動して...
-
最終行の改行について
-
g77でのエラー
-
C# csvでセル内で改行するには
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
エスケープ文字の復帰(¥r)と...
-
改行について
-
エクセルVBA 文字列領域が不足...
-
最終行の改行について
-
テキストボックス行の桁数を制...
-
【VBA】エクセルで最後の不要な...
-
awkで改行を除いて文字列を抜き...
-
グレープシティのSPREAD...
-
VBAでCSVをExcelに取り込む時に...
-
秀丸の正規表現で複数行にわた...
-
C# DataGridViewのセルを改行禁...
-
JavaMail,本文中の改行について
-
テキストファイルから改行コー...
-
vb.netでのリッチテキストボッ...
-
ラベル(スタティックテキスト)...
-
jsp 改行コードで改行させて表...
-
COBOLの改行
-
文字列型変数に1024を超えた文...
おすすめ情報