質問編集履歴

5

成功例と失敗例を追記しました。

2021/02/18 12:46

投稿

退会済みユーザー
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

画面編集

2021/02/18 12:46

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  dllをSystem32に置いてもこんなエラーが出ます。
20
20
 
21
- ![![イメージ説明](エラー画面)](38bcfbbfe0554ad3210c69012cc84b28.png)
21
+ ![![イメージ説明](38bcfbbfe0554ad3210c69012cc84b28.png)](エラー画面)
22
22
 
23
23
 
24
24
 

3

ソースコード追加

2021/02/18 12:39

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -18,4 +18,26 @@
18
18
 
19
19
  dllをSystem32に置いてもこんなエラーが出ます。
20
20
 
21
- ![![イメージ説明](b7aff40a83d3d78241861d2ab5b6b5aa.png)](38bcfbbfe0554ad3210c69012cc84b28.png)
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

エラー画面追加

2021/02/18 12:39

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -14,4 +14,8 @@
14
14
 
15
15
 
16
16
 
17
- あ、そのまえにdllをsystem32とかに置かないとダメっぽいですね?
17
+ あ、そのまえにdllをSystem32とかに置かないとダメっぽいですね?
18
+
19
+ dllをSystem32に置いてもこんなエラーが出ます。
20
+
21
+ ![![イメージ説明](b7aff40a83d3d78241861d2ab5b6b5aa.png)](38bcfbbfe0554ad3210c69012cc84b28.png)

1

dllの格納先を追記

2021/02/18 12:35

投稿

退会済みユーザー
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とかに置かないとダメっぽいですね?