回答編集履歴
2
コード追記
test
CHANGED
@@ -19,3 +19,61 @@
|
|
19
19
|
|
20
20
|
|
21
21
|
[レポートの印刷プレビューウィンドウにボタンを配置する - hatena chips](https://hatenachips.blog.fc2.com/blog-entry-397.html)
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
---
|
26
|
+
|
27
|
+
簡単にサンプルを作成してみました。
|
28
|
+
|
29
|
+
フォーム上にコマンドボタンを配置して、cmdClose という名前にします。
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
フォームモジュールに下記のコードを記述してください。
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
```vba
|
38
|
+
|
39
|
+
Private Declare PtrSafe Function SetParent Lib "user32" Alias "SetParent" ( _
|
40
|
+
|
41
|
+
ByVal hWndChild As LongPtr, _
|
42
|
+
|
43
|
+
ByVal hWndNewParent As LongPtr) As LongPtr
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
Const docName As String = "レポート名"
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
Private Sub Form_Load()
|
52
|
+
|
53
|
+
DoCmd.OpenReport docName, acViewReport 'レポートビューで開く
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
'レポートの位置とサイズをフォームに合わせて調整
|
58
|
+
|
59
|
+
Dim TopPos As Long: TopPos = Me.cmdClose.Top + Me.cmdClose.Height + 100
|
60
|
+
|
61
|
+
DoCmd.MoveSize 0, TopPos, Me.InsideWidth, Me.InsideHeight - TopPos
|
62
|
+
|
63
|
+
'レポートの親ウィンドウをフォームに設定
|
64
|
+
|
65
|
+
SetParent Reports(docName).Hwnd, Me.Hwnd
|
66
|
+
|
67
|
+
End Sub
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
Private Sub cmdClose_Click()
|
72
|
+
|
73
|
+
DoCmd.Close acForm, Me.Name
|
74
|
+
|
75
|
+
End Sub
|
76
|
+
|
77
|
+
```
|
78
|
+
|
79
|
+
これで、フォーム上にレポートビューが埋め込まれているように見えて、かつ、マウスホイールでスクロールできるのを確認しました。
|
1
誤字修正
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
|
6
6
|
|
7
|
-
やりたいことは、フォームのなかに、レポートビューを埋め込んで、かつ、マウスホイールでスクロールできるようにしたい、ということでよね。
|
7
|
+
やりたいことは、フォームのなかに、レポートビューを埋め込んで、かつ、マウスホイールでスクロールできるようにしたい、ということですよね。
|
8
8
|
|
9
9
|
|
10
10
|
|