質問編集履歴
5
成功例と失敗例を追記しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -22,6 +22,34 @@
|
|
22
22
|
|
23
23
|
|
24
24
|
|
25
|
+
成功例
|
26
|
+
|
27
|
+
```VB
|
28
|
+
|
29
|
+
<System.Runtime.InteropServices.DllImport("test.dll")>
|
30
|
+
|
31
|
+
Private Shared Function test() As Integer
|
32
|
+
|
33
|
+
End Function
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
38
|
+
|
39
|
+
If test() = 0 Then
|
40
|
+
|
41
|
+
MsgBox("成功です。")
|
42
|
+
|
43
|
+
End If
|
44
|
+
|
45
|
+
End Sub
|
46
|
+
|
47
|
+
```
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
失敗例
|
52
|
+
|
25
53
|
```VBA
|
26
54
|
|
27
55
|
Private Declare PtrSafe Function test Lib "test.dll" () As Integer
|
4
画面編集
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
dllをSystem32に置いてもこんなエラーが出ます。
|
20
20
|
|
21
|
-
](エラー画面)
|
22
22
|
|
23
23
|
|
24
24
|
|
3
ソースコード追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,4 +18,26 @@
|
|
18
18
|
|
19
19
|
dllをSystem32に置いてもこんなエラーが出ます。
|
20
20
|
|
21
|
-
](38bcfbbfe0554ad3210c69012cc84b28.png)
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
```VBA
|
26
|
+
|
27
|
+
Private Declare PtrSafe Function test Lib "test.dll" () As Integer
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
Sub sub1()
|
32
|
+
|
33
|
+
If test() = 0 Then
|
34
|
+
|
35
|
+
MsgBox ("成功です。")
|
36
|
+
|
37
|
+
End If
|
38
|
+
|
39
|
+
End Sub
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
```
|
2
エラー画面追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -14,4 +14,8 @@
|
|
14
14
|
|
15
15
|
|
16
16
|
|
17
|
-
あ、そのまえにdllを
|
17
|
+
あ、そのまえにdllをSystem32とかに置かないとダメっぽいですね?
|
18
|
+
|
19
|
+
dllをSystem32に置いてもこんなエラーが出ます。
|
20
|
+
|
21
|
+
](38bcfbbfe0554ad3210c69012cc84b28.png)
|
1
dllの格納先を追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -11,3 +11,7 @@
|
|
11
11
|
なので、VBAのマクロに管理者権限を設定してやればそのdllを呼べると思います。
|
12
12
|
|
13
13
|
どうすれば良いのでしょうか?
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
あ、そのまえにdllをsystem32とかに置かないとダメっぽいですね?
|