質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

解決済

2回答

23260閲覧

Access、レポート印刷時のページ設定が他のパソコンに引き継がれない

Himamura

総合スコア39

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2019/02/26 05:43

編集2019/02/26 07:50

Accessにおいて、レポート印刷時に設定したページ設定が他のパソコンに移したときに引き継がれません。

AとBという2つのパソコンを例にしてご説明します。

特殊な用紙サイズのため、AのパソコンとBのパソコンで「デバイスとプリンタ」→「プリントサーバープロパティ」から新しい用紙サイズを作成しました。

AのパソコンでAccessのシステムを開発し、レポートの「ページ設定」から余白の設定、用紙サイズ、用紙トレイ、プリンタを指定した状態で保存しました。

accdbファイルをBのパソコンに移すと、レポートのページ設定がA4に、用紙トレイは手差しに変わっています。プリンタは指定された状態でした。

PCはWindows10 64bit、officeは2013(Bにあたるパソコンはランタイム版)です。
プリンタはVP-2300、自作の用紙サイズは幅:25.40cm、高さ:12.70cm、名前:10x5 インチ です。

原因がおわかりの方がいらっしゃいましたら教えてくださいませ。

よろしくお願いいたします。

以下追記:

回答者様のすすめでVBAでプリンターオブジェクトを制御する方法を試みています。
以下のコードでプリンターオブジェクトを取得したところ以下のような結果になりました。

VBA

1 Dim Rpt As Object, Prt As Object, str As String 2 Set Rpt = Reports(Me.Name) 3 Set Prt = Rpt.Printer 4 str = "" 5 str = "BottomMargin" & ":" & Prt.BottomMargin & vbNewLine 6 str = str & "ColorMode" & ":" & Prt.ColorMode & vbNewLine 7 str = str & "Copies" & ":" & Prt.Copies & vbNewLine 8 str = str & "DataOnly" & ":" & Prt.DataOnly & vbNewLine 9 str = str & "DefaultSize" & ":" & Prt.DefaultSize & vbNewLine 10 str = str & "DeviceName" & ":" & Prt.DeviceName & vbNewLine 11 str = str & "DriverName" & ":" & Prt.DriverName & vbNewLine 12 str = str & "Duplex" & ":" & Prt.Duplex & vbNewLine 13 str = str & "ItemLayout" & ":" & Prt.ItemLayout & vbNewLine 14 str = str & "ItemsAcross" & ":" & Prt.ItemsAcross & vbNewLine 15 str = str & "ItemSizeHeight" & ":" & Prt.ItemSizeHeight & vbNewLine 16 str = str & "ItemSizeWidth" & ":" & Prt.ItemSizeWidth & vbNewLine 17 str = str & "LeftMargin" & ":" & Prt.LeftMargin & vbNewLine 18 str = str & "Orientation" & ":" & Prt.Orientation & vbNewLine 19 str = str & "PaperBin" & ":" & Prt.PaperBin & vbNewLine 20 str = str & "PaperSize" & ":" & Prt.PaperSize & vbNewLine 21 str = str & "Port" & ":" & Prt.Port & vbNewLine 22 str = str & "PrintQuality" & ":" & Prt.PrintQuality & vbNewLine 23 str = str & "RightMargin" & ":" & Prt.RightMargin & vbNewLine 24 str = str & "RowSpacing" & ":" & Prt.RowSpacing & vbNewLine 25 str = str & "TopMargin" & ":" & Prt.TopMargin 26 MsgBox str

Aのパソコンの結果

BottomMargin:567
ColorMode:1
Copies:1
DataOnly:False
DefaultSize:True
DeviceName:EPSON VP-2300 ESC/P
DriverName:winspool
Duplex:1
ItemLayout:1953
ItemsAcross:1
ItemSizeHeight:485
ItemSizeWidth:11704
LeftMargin:567
Orientation:1
PaperBin:2003
PaperSize:204
Port:LPT1:
PrintQuality:180
RightMargin:567
RowSpacing:0
TopMargin:567

Bのパソコンの結果

PaperSize:153
ほかは一緒

独自に作成した用紙サイズの管理番号とでも言うのでしょうか、PaperSizeに指定する値がPCごとに変わるようです。
PaperSizeを設定した用紙サイズの名前で指定する方法、もしくはこの管理番号を手動で変更する方法などはありますでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

「ページ設定」の「ページ」で「その他のプリンタ」を選択して「プリンターの設定」ボタンをクリックして「プリンタ名」を指定していますか。

両者のPCで同じプリンタ名のプリンタが存在すれば設定は引き継がれるはずです。
「通常使うプリンタ」だと引き継がれない場合があったと思います。

ページ設定


ユーザ定義ページサイズを各パソコンで設定しているとのことですが、ユーザ定義ページサイズは1種類だけですか、それとも複数ありますか。また、複数の場合は、登録順は各パソコンで同じでしょうか。当方でも複数のユーザ定義ページサイズを設定していますが、問題なく設定を受け継いでいます。

投稿2019/02/26 07:04

編集2019/02/26 08:02
hatena19

総合スコア33699

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Himamura

2019/02/26 07:24

ご回答ありがとうございます。 今確認しましたが、「ページ設定」→「ページ」→「その他のプリンタ」から同じプリンタが指定されていました。 AのパソコンからBのパソコンにaccdbを移動すると、「その他のプリンタ」のチェックと、プリンタの指定、「給紙方法」は引き継がれています。 「用紙サイズ」と「余白」が引き継がれません。
Himamura

2019/02/26 08:14

追記ありがとうございます。 ユーザー定義サイズは3つあります。 「10x5 インチ」「18.6x13.0 cm」「9x6.5 インチ」の3つで、「x」はエックスの半角小文字、単位の前に半角スペースがあります。AとBのパソコンで名前に間違いがないかExcelのIF関数で検証しましたが、間違えていないようです。 申し訳ありませんが登録順は覚えていません…もしかしたら登録順は各パソコンでバラバラかもしれないです。
hatena19

2019/02/26 08:23

プリンタドライバーの用紙サイズ選択リストの並び順は同じになってますか。 それで当方では数台のPCにAccdbをコピーして使ってますがプリンタ設定は引き継がれますね。 各PCでユーザー定義サイズを登録するときは、設定リストを見ながら同じ順で登録するようにしています。
Himamura

2019/02/26 08:26

順番が大事なんですね! 他の回答者様からも順番についてご指摘を受けました。 これから順番を変更してみたいと思います。
Himamura

2019/02/27 05:26

AとBのパソコン両方のユーザー定義サイズを一度すべて削除し、同じ順番で再登録しましたら、うまくいきました。ありがとうございました。
guest

0

accessはレポート毎にプリンター情報が記録されています。
環境が全く同じでないと、通常使うプリンタで初期状態になります。

プリンター名をPC毎に同じになるように設定してそのプリンターを指定するか、
VBAでプリンター オブジェクト制御するしかなかったかと思います。
プリンタの用紙を設定

因みに、

特殊な用紙サイズのため、AのパソコンとBのパソコンで「デバイスとプリンタ」→「プリントサーバープロパティ」から新しい用紙サイズを作成しました。

これPC毎に設定していないんじゃないでしょうか。
独自に作成した用紙の情報は引き継がれませんよ。

投稿2019/02/26 06:04

編集2019/02/26 08:14
sazi

総合スコア25173

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Himamura

2019/02/26 06:28

早速のご回答ありがとうございます。 環境が全く同じでないと初期状態になってしまうんですね・・・ これから教えてもらったVBA制御を試してみます。 成果が出ましたらまた報告いたします。
sazi

2019/02/26 07:37

追記しました。
Himamura

2019/02/26 07:41

追記読みました。ありがとうございます。 A、BのPCごとに同じ設定、同じ名前でユーザー定義サイズの用紙情報を設定してありますがだめなようです。 今、VBAでプリンターオブジェクトを設定する方法を試みています。 結果はこの質問に編集で追記いたします。
sazi

2019/02/26 07:47 編集

用紙名は完全に一致していますか?
Himamura

2019/02/26 07:52

「9x6.5 cm」という微妙に間違えやすい用紙名のため、ExcelのIF関数をつかって同じかどうかチェックしましたが一致していました。 質問を追記しました。
sazi

2019/02/26 08:02

では、追加した状態での用紙の数とか並びはどうでしょう。
Himamura

2019/02/26 08:24

「プリントサーバーのプロパティ」の用紙サイズの数でしょうか? 確認しましたが、AとBのパソコンで数も並びも微妙に違います。 Aでは「9x6.5 インチ」が7番目に対し、Bでは8番目だったりします。
sazi

2019/02/26 08:28

参考になりそうなリンクを追記しました。
Himamura

2019/02/27 05:25

AとBのパソコン両方のユーザー定義サイズを一度すべて削除し、同じ順番で再登録しましたら、うまくいきました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問