teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

補足

2017/03/13 03:29

投稿

hsk
hsk

スコア728

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  gysnet さん、こんにちは。
2
2
 
3
- COMオブジェクト経由([Access.Application](https://msdn.microsoft.com/ja-jp/library/office/ff821758.aspx))で、Access のレポートを印刷されてはいかがでしょう?
3
+ ライブラリではなくAccessそのものを使用してもよいのでしたら、COMオブジェクト経由([Access.Application](https://msdn.microsoft.com/ja-jp/library/office/ff821758.aspx))で、Access のレポートを印刷されてはいかがでしょう?
4
4
 
5
5
  Microsoft MSDN に [Visual C# を使用して Microsoft Access を自動化する方法](https://support.microsoft.com/ja-jp/help/317114/how-to-automate-microsoft-access-by-using-visual-c) と題された、ずばりのページがあります。
6
6
  「Access レポートの印刷や印刷プレビュー」の項目が参考になると思います。

1

順番編集

2017/03/13 03:29

投稿

hsk
hsk

スコア728

answer CHANGED
@@ -2,9 +2,29 @@
2
2
 
3
3
  COMオブジェクト経由([Access.Application](https://msdn.microsoft.com/ja-jp/library/office/ff821758.aspx))で、Access のレポートを印刷されてはいかがでしょう?
4
4
 
5
- Office ソフトの COMオブジェクトは、マクロで操作できることなら基本的にほぼできます。
6
-
7
5
  Microsoft MSDN に [Visual C# を使用して Microsoft Access を自動化する方法](https://support.microsoft.com/ja-jp/help/317114/how-to-automate-microsoft-access-by-using-visual-c) と題された、ずばりのページがあります。
8
6
  「Access レポートの印刷や印刷プレビュー」の項目が参考になると思います。
9
7
 
8
+ ```C#
9
+ using Microsoft.Office.Interop.Access;
10
+
11
+ // ...
12
+
13
+ Access.Application oAccess = null;
14
+ oAccess = new Access.ApplicationClass();
15
+ // または
16
+ // var oAccess = CreateObject("Access.Application") as Access.Application;
17
+
18
+ oAccess.OpenCurrentDatabase(
19
+ "c:\\mydb.mdb",
20
+ true
21
+ );
22
+
23
+ // ...
24
+
25
+
26
+ ```
27
+
28
+ Excel をふくめ Office ソフトの COM オブジェクトを使用することで、マクロで操作できることなら基本的にほぼできますよ。
29
+
10
- テスト用にレポート印刷マクロ作成してみて、それを C# に移植する方法が簡単かと思います。
30
+ テスト用にマクロ作成してみて、それを C# に移植する方法が簡単かと思います。