回答編集履歴

2

コード追記

2021/01/26 11:00

投稿

hatena19
hatena19

スコア33722

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

誤字修正

2021/01/26 11:00

投稿

hatena19
hatena19

スコア33722

test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
 
7
- やりたいことは、フォームのなかに、レポートビューを埋め込んで、かつ、マウスホイールでスクロールできるようにしたい、ということでよね。
7
+ やりたいことは、フォームのなかに、レポートビューを埋め込んで、かつ、マウスホイールでスクロールできるようにしたい、ということでよね。
8
8
 
9
9
 
10
10