質問編集履歴
2
プログラムとエラー内容を書き換えた
test
CHANGED
File without changes
|
test
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
文字列のハッシュ化
|
9
9
|
|
10
10
|
```
|
11
|
-
|
11
|
+
オートメーションエラー
|
12
12
|
```
|
13
13
|
|
14
14
|
### 該当のソースコード
|
@@ -17,7 +17,10 @@
|
|
17
17
|
Option Compare Database
|
18
18
|
|
19
19
|
Private Sub コマンド0_Click()
|
20
|
+
Dim test As String
|
21
|
+
|
20
|
-
|
22
|
+
test = sha("a")
|
23
|
+
Debug.Print test
|
21
24
|
End Sub
|
22
25
|
|
23
26
|
|
1
試したことを追加しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -6,3 +6,45 @@
|
|
6
6
|
|
7
7
|
### 実現したいこと
|
8
8
|
文字列のハッシュ化
|
9
|
+
|
10
|
+
```
|
11
|
+
コンパイルエラー:SubまたはFunctionが定義されていません
|
12
|
+
```
|
13
|
+
|
14
|
+
### 該当のソースコード
|
15
|
+
|
16
|
+
```vba
|
17
|
+
Option Compare Database
|
18
|
+
|
19
|
+
Private Sub コマンド0_Click()
|
20
|
+
Debug.Print call_sha("a")
|
21
|
+
End Sub
|
22
|
+
|
23
|
+
|
24
|
+
Function sha(str As String) As String
|
25
|
+
Dim objSHA256
|
26
|
+
Set objSHA256 = CreateObject("System.Security.Cryptography.SHA256Managed")
|
27
|
+
|
28
|
+
Dim objUTF8
|
29
|
+
Set objUTF8 = CreateObject("System.Text.UTF8Encoding")
|
30
|
+
|
31
|
+
Dim bytes() As Byte
|
32
|
+
bytes = objUTF8.GetBytes_4(str)
|
33
|
+
|
34
|
+
Dim hash() As Byte
|
35
|
+
hash = objSHA256.ComputeHash_2((bytes))
|
36
|
+
|
37
|
+
Dim i
|
38
|
+
Dim tmp
|
39
|
+
For i = 1 To UBound(hash) + 1
|
40
|
+
tmp = tmp & Right("0" & Hex(AscB(MidB(hash, i, 1))), 2)
|
41
|
+
Next i
|
42
|
+
|
43
|
+
sha = LCase(tmp)
|
44
|
+
|
45
|
+
End Function
|
46
|
+
```
|
47
|
+
|
48
|
+
### 試したこと
|
49
|
+
以下のurlのソースコードを用いて動かしたら上記のようなエラーが出てきました。
|
50
|
+
https://techblog.recochoku.jp/5991
|