Excel VBA質問箱 IV

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

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


76614 / 76732 ←次へ | 前へ→

【4536】Re:論理演算を行う関数について
回答  hira  - 03/3/26(水) 2:22 -

引用なし
パスワード
   ▼ユウキ さん:
>おはようございます。
>論理演算についての質問ですが、文字列の引数を持ち、
>論理演算NOTした文字列を戻り値として返す関数(NOTモジュール)を
>作ろうと思うのですがなかなか案が浮かばず知恵を貸してください。
>
>目的としたらビット反転などが主です。
>他にもXOR、OR、ANDなども予定しています。
>どうかお願いします。

こんばんは。

ビット反転したコードが文字列として成り立つのか知りませんが、
UNICODEをそのまま反転でよければ、こんな感じでしょうか。

Function Sample1(s As String) As String
  Dim ss As String
  Dim i As Long
  ss = s
  For i = 1 To LenB(s)
    MidB$(ss, i, 1) = ChrB$(Not AscB(MidB$(ss, i, 1)))
  Next
  Sample1 = ss
End Function

Function Sample2(s As String) As String
  Dim b() As Byte
  Dim i As Long
  b = s
  For i = LBound(b) To UBound(b)
    b(i) = Not b(i)
  Next
  Sample2 = b
End Function

MsgBox Sample1((Sample1("ハンカク漢字123ABCABC「」")))
MsgBox Sample2((Sample2("ハンカク漢字123ABCABC「」")))
MsgBox Sample1((Sample2("ハンカク漢字123ABCABC「」")))
MsgBox Sample2((Sample1("ハンカク漢字123ABCABC「」")))
いずれも元に戻ります。
2 hits

【4509】論理演算を行う関数について ユウキ 03/3/25(火) 9:59 質問
【4536】Re:論理演算を行う関数について hira 03/3/26(水) 2:22 回答
【4638】Re:論理演算を行う関数について ユウキ 03/3/31(月) 13:53 発言
【4646】Re:論理演算を行う関数について hira 03/4/1(火) 4:08 回答
【4680】Re:論理演算を行う関数について ユウキ 03/4/2(水) 16:33 発言
【4722】Re:論理演算を行う関数について ユウキ 03/4/3(木) 17:25 お礼

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