Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


63903 / 76738 ←次へ | 前へ→

【17425】Re:文字列を8ビットコードに簡単に変換したい
発言  ichinose  - 04/8/29(日) 10:58 -

引用なし
パスワード
   ▼HyperVTEC さん:
おはようございます。

>ExcelVBAで、textboxに入力した文字列をJIS8単位コードに変換するプログラムを作りたいのですが・・・
シフトJISではなく、JISコードでいいんですね?
(もっとも半角の場合は、どっちでも一緒でしたっけ?)

以下に示すコードは、Userform1にTextbox1とTextbox2及び、Commandbutoon1を
貼り付けたときの例題です。
Textbox1に入力された文字列をCommandbutoon1のクリックにより、
Textbox2にJISコードを2進数で表示します。

Userform1のモジュールに

'=============================================================
Private Sub CommandButton1_Click()
  Dim bitnum
  TextBox2.Text = ""
  With TextBox1
   i = 1
   Do While i <= Len(.Text)
    If LenB(StrConv(Mid(.Text, i, 1), vbFromUnicode)) = 1 Then
      bitnum = 8
    Else
      bitnum = 16
      End If
    'TextBox2.Text = TextBox2.Text & sp_dec2bin(Asc(Mid(.Text, i, 1)), bitnum)
'    ↑シフトJISの場合は、上のコード
    TextBox2.Text = TextBox2.Text & sp_dec2bin(Evaluate("code(""" & Mid(.Text, i, 1) & """)"), bitnum)
    i = i + 1
    Loop
   End With
End Sub
'===================================================================
Function sp_dec2bin(dnum, Optional scl = 8) As Variant
'機能  指定された数値を2進数文字列に変換する
'input dnum 変換する数値
'    scl 変換桁数
'output sp_dec2bin 2進数文字列
  Dim wk As Long
  wk = dnum
  sp_dec2bin = ""
  For idx = scl - 1 To 0 Step -1
   ans = wk And (2 ^ idx)
   sp_dec2bin = sp_dec2bin & IIf(ans > 0, 1, 0)
   Next idx
End Function

全角文字も2バイトで変換するようにしました。
確認してみて下さい。

0 hits

【17413】文字列を8ビットコードに簡単に変換したい HyperVTEC 04/8/28(土) 23:39 質問
【17419】Re:文字列を8ビットコードに簡単に変換した... Hirofumi 04/8/29(日) 1:11 回答
【17423】Re:文字列を8ビットコードに簡単に変換した... HyperVTEC 04/8/29(日) 9:25 質問
【17426】Re:文字列を8ビットコードに簡単に変換した... Hirofumi 04/8/29(日) 11:38 回答
【17425】Re:文字列を8ビットコードに簡単に変換した... ichinose 04/8/29(日) 10:58 発言
【17428】Re:文字列を8ビットコードに簡単に変換した... HyperVTEC 04/8/29(日) 11:56 質問
【17431】Re:文字列を8ビットコードに簡単に変換した... Hirofumi 04/8/29(日) 12:46 回答
【17433】Re:文字列を8ビットコードに簡単に変換した... HyperVTEC 04/8/29(日) 13:50 お礼
【17434】Re:文字列を8ビットコードに簡単に変換した... ichinose 04/8/29(日) 14:34 発言
【17435】Re:文字列を8ビットコードに簡単に変換した... HyperVTEC 04/8/29(日) 16:56 お礼
【17436】Re:文字列を8ビットコードに簡単に変換した... ichinose 04/8/29(日) 17:47 発言
【17437】Re:文字列を8ビットコードに簡単に変換した... HyperVTEC 04/8/29(日) 18:28 質問
【17438】Re:文字列を8ビットコードに簡単に変換した... ichinose 04/8/29(日) 18:39 発言
【17439】Re:文字列を8ビットコードに簡単に変換した... HyperVTEC 04/8/29(日) 19:00 お礼

63903 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free