質問編集履歴

3

crc = &HFFFF

2020/04/19 14:59

投稿

pokemonta
pokemonta

スコア170

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

2020/04/19 14:59

投稿

pokemonta
pokemonta

スコア170

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修正

2020/04/19 14:39

投稿

pokemonta
pokemonta

スコア170

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 Byte
87
+ Dim inputdata As Long
80
88
 
81
89
 
82
90
 
83
91
  'b"\x01\x04\x00\x00\x00\x01"
84
92
 
85
- Set inputdata = &H140001
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 Byte) As Byte
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
- Set crc = &HFFFF
119
+ crc = &HFFFF
110
120
 
111
- Set ibm16 = &HA001
121
+ ibm16 = &HA001
112
122
 
113
123
 
114
124