2017-10-23 30 views
0

16進値の列をバイナリ値に変換し、バイナリ値をバイナリファイルに書き込もうとしています。私は答えが示唆としてやろうとしているとバイナリに各進文字に変換されていますConvert hex value string to Binary stringVBAで16進数のセル値をバイナリに変換する

と:しかし、私はこのスレッドを見つけたバイナリ...

に進値の変換に問題が生じています結果を完全な2進数を表す文字列に追加します。私の16進文字列の文字を変換しようとするときしかし、私はここで...エラーを取得しています私は現在、やろうとしていますものです:

Dim hexString As String 
Dim binaryString As String 
hexString = "" 
binaryString = "" 
Dim rangeOfCells As Range 
Set rangeOfCells = Range ("C5: C100") 
Dim hexCell As Range 

For Each hexCell In rangeOfCells.Cells 
    If Not isEmpty(hexCell.value) Then 
     hexString = hexCell.Value 
     Dim counter As Integer 
     For counter = 1 to Len(hexString) 
      binaryString = binaryString & Convert.ToString(Convert.ToInt32(Mid(hexString, counter, 1), 16), 2) 
     Next 
    End If 
Next 

私はバイナリにhexString文字を変換し、追加の行に、このエラーを取得しておきますbinaryStringに値:

実行時エラー「424」:オブジェクトは、私はコードの行を簡素化しようとしただけで共同にしようとしたときにエラーイベントを取得するために続けている

を必要と私のhexStringをInt(すなわち、Convert.ToInt32(hexString))に変換してください。

この問題に関するお手伝いをさせていただきます。ありがとうございました!

+3

'Convert.ToString'はVB.NETであり、VBAではありません。 –

答えて

0

どちらかHEX2BINまたはthisポスト

2

で述べた他の機能のいくつかのあなたはOption Explicitが指定されていないため、実行時エラー「必要なオブジェクト」を取得しているを使用します。

Option Explicitの場合、Convertがどこにも宣言されていないことを示すコンパイル時エラーがあります。

理由は.NET FrameworkのSystem名前空間の静的クラスです.VBAとはまったく関係がありません。

変換する値は、あなたはHEX2BINワークシート関数を使用することができ、比較的小さい場合:関数がエラーをスローした場合、その値が大きすぎると、あなた自身を実装する必要が

Debug.Print Application.WorksheetFunction.Hex2Bin(myHexValue) 

を。このサイトには、すぐに使える実装がたくさんあります。

関連する問題