
VBはまだ始めたばかりで本当に初歩的なことかもしれませんが分かる方がおられたら是非教えて下さい。
text1.textから取り込んだ文字列を”一文字ずつ”(Dim a(100) as stringで宣言した)配列に格納したいのですがどうしたらいいのでしょうか??
<例>text1.textに"abc"と入力しcommandbuttonを押すとa(0)に"a"がa(1)に"b"がa(2)に"c"が格納されるといったかんじです。
ちなみに今私がしたいのはtext1.textに、ある文字列を入れその文字列を文字コードに変換しそれを一文字分ずつ+1してまたそのコードを文字に直しtext2.textに出力するというものです(ようは簡単な暗号化ですね)。
私はAscとChrコマンドを利用して1文字ずつコードをずらしていこうと思っているのですが、他に良い方法などあるのでしょうか??
本当に初心者でどのようにしらたよいのか分かりません…。
どなたか分かりやすく教えていただけませんでしょうか??
お願いします。
No.2ベストアンサー
- 回答日時:
for i = 1 to len(text1.text)
a(i-1)=mid(text1.text),i,1)
if c="\" then cnt=cnt+1
next i
mid関数を使って1文字ずつとりだしてます。
1つずつa(i)にはいっていくはずです。
初心者ということでしたのでlen関数も説明しておきます。
len関数は文字数の数を返します。全角半角は問いません。
でアスキーコードを1ずらすには
a(i)=chr(asc(a(i))+1)
こんなんでどうでしょうか?
あとは連結させるだけです。
No.1
- 回答日時:
お疲れ様です。
下記のような例はどうでしょうか?
バイト型の配列は文字と同じように使うことが出来ます。
バイト型の配列に文字のコードを入れてコードを+1しています。
そして最後に文字型に入れています。
復号化はその逆に-1しているだけです。
例)
Private Sub Command1_Click()
Dim str As String
Dim arr() As Byte
Dim i As Long
str = "abc"
'// 暗号化
'// バイト型の配列に文字コードを代入
arr = StrConv(str, vbFromUnicode)
For i = LBound(arr) To UBound(arr)
'// コードを+1
arr(i) = arr(i) + 1
Next i
'// 文字型に戻す
str = StrConv(arr, vbUnicode)
Debug.Print str
'// 復号化
'// バイト型の配列に文字コードを代入
arr = StrConv(str, vbFromUnicode)
For i = LBound(arr) To UBound(arr)
'// コードを-1
arr(i) = arr(i) - 1
Next i
'// 文字型に戻す
str = StrConv(arr, vbUnicode)
Debug.Print str
End Sub
間違っていたらごめんなさい。
間違っていたらごめんなさいなんてとんでもないっ!
とても丁寧なプログラムを教えていただきありがとうございました!
さっそく試してみたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelのVBAで文章にある複数の...
-
円頓章を現代語訳して下さい。
-
XMLファイルのattribute値がう...
-
[VB6] SQLの作成について
-
テキストボックスかラベル上の...
-
vc++のAPI(dll)の引数をVBAでう...
-
レコードセットにnullの場合
-
C言語のサフィックスについて
-
パーソナルXLSBのfuctionを呼び...
-
VBA public変数はどのようなこ...
-
二点の座標から距離や角度を求...
-
【VB6.0】 あるフォームから他...
-
VBAでcallで呼び出したsubを終...
-
visual basic初心者です。 visu...
-
タイムアウトする仕組みを作りたい
-
VB.NETでのイベントの途中終了
-
VBAで入力数値について
-
リストビューの列ヘッダーの幅...
-
String型の値にスラッシュをつ...
-
VBA テキストボックスで計算
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックスかラベル上の...
-
ExcelのVBAで文章にある複数の...
-
RichTextBoxで指定行の色を自動...
-
vba 日本語以外を抽出について
-
DTPicker テキストクリアの方法
-
VBAのループ
-
助けてください!
-
XMLファイルのattribute値がう...
-
アクセスのフィールドに値をペ...
-
画面の繰り返し機能について
-
VB6→VS2005アップグレード後
-
WORd VBA 文章を単語に分解する
-
文字列を配列に…。
-
cshスクリプト内での”ヒアドキ...
-
VC++のプログラミングについて
-
EXCEL VBA UserForm のご質問
-
VBAでフィールドを配列読み
-
[VB6] SQLの作成について
-
Can you text me your business...
-
perlにおける正規表現で、パタ...
おすすめ情報