質問編集履歴
3
crc = &HFFFF
test
CHANGED
File without changes
|
test
CHANGED
@@ -9,6 +9,10 @@
|
|
9
9
|
inputdataには、10進数の値が入ります。(1310721)
|
10
10
|
|
11
11
|
どこを改善すればよろしいでしょうか
|
12
|
+
|
13
|
+
crc = &HFFFFも失敗
|
14
|
+
|
15
|
+
crcがbyte型なので16bitの初期化ができないし
|
12
16
|
|
13
17
|
|
14
18
|
|
2
link
test
CHANGED
File without changes
|
test
CHANGED
@@ -167,3 +167,11 @@
|
|
167
167
|
|
168
168
|
|
169
169
|
```
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
[リンク内容](https://vbabeginner.net/vba%E3%81%A72%E9%80%B2%E6%95%B0%E3%81%8B%E3%82%8916%E9%80%B2%E6%95%B0%E3%81%B8%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B/)
|
174
|
+
|
175
|
+
|
176
|
+
|
177
|
+
[リンク内容](http://excel.syogyoumujou.com/memorandum/hex_binary.html)
|
1
program修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
PythonでCRC-16のサンプルプログラムがありましたので
|
2
2
|
|
3
|
-
VBAでコンバートさせました。しかしながら
|
3
|
+
VBAでコンバートさせました。しかしながら以下のエラーが発生いたします。
|
4
|
+
|
5
|
+
「For Eachは、コレクションオブジェクトまたは配列でのみ繰り返しを実行します。」
|
6
|
+
|
7
|
+
また、"\x01\x04\x00\x00\x00\x01"を1バイトずつ取得したいのですが
|
8
|
+
|
9
|
+
inputdataには、10進数の値が入ります。(1310721)
|
4
10
|
|
5
11
|
どこを改善すればよろしいでしょうか
|
6
12
|
|
@@ -70,19 +76,21 @@
|
|
70
76
|
|
71
77
|
```VBA
|
72
78
|
|
79
|
+
|
80
|
+
|
73
81
|
'CRC16計算
|
74
82
|
|
75
83
|
Private Sub CommandButton1_Click()
|
76
84
|
|
77
85
|
Dim anser As Byte
|
78
86
|
|
79
|
-
Dim inputdata As
|
87
|
+
Dim inputdata As Long
|
80
88
|
|
81
89
|
|
82
90
|
|
83
91
|
'b"\x01\x04\x00\x00\x00\x01"
|
84
92
|
|
85
|
-
|
93
|
+
inputdata = &H140001
|
86
94
|
|
87
95
|
anser = CRC16_Calculate(inputdata)
|
88
96
|
|
@@ -92,9 +100,11 @@
|
|
92
100
|
|
93
101
|
|
94
102
|
|
103
|
+
|
104
|
+
|
95
105
|
'CRC-16
|
96
106
|
|
97
|
-
Public Function CRC16_Calculate(ByVal str As
|
107
|
+
Public Function CRC16_Calculate(ByVal str As Long) As Byte
|
98
108
|
|
99
109
|
Dim crc As Byte
|
100
110
|
|
@@ -106,9 +116,9 @@
|
|
106
116
|
|
107
117
|
|
108
118
|
|
109
|
-
|
119
|
+
crc = &HFFFF
|
110
120
|
|
111
|
-
|
121
|
+
ibm16 = &HA001
|
112
122
|
|
113
123
|
|
114
124
|
|