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

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

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

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Word

Microsoft WordはMicrosoftが開発した業務用の文書生成用のソフトウェアです。

Q&A

解決済

3回答

6592閲覧

Microsoft.Office.Interop.Word 両面印刷を指定したい

107User

総合スコア78

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Word

Microsoft WordはMicrosoftが開発した業務用の文書生成用のソフトウェアです。

0グッド

2クリップ

投稿2017/01/31 09:33

以下のようにWordを利用してプリントしていますが、両面印刷の設定箇所がわかりません。
manualduplexprint は印刷機が両面に対応していない場合の処置であり、印刷機が両面印刷に対応している場合の事がドキュメントに書かれてませんでした。

こことは別の場所で設定するのでしょうか?
ご存知の方、アドバイス頂ければと思います。

Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
word.Application.Documents.Open(System.Windows.Forms.Application.StartupPath + "\file.rtf");
object background = false;
object range = WdPrintOutRange.wdPrintAllDocument;
object copies = 1;
object pagetype = WdPrintOutPages.wdPrintAllPages;
object printtofile = false;
object collate = false;
object activeprintermacgx = System.Type.Missing;
object manualduplexprint = false;
object printzoomcolumn = 1;
object printzoomrow = 1;
word.Application.PrintOut(
ref background,
Type.Missing,
ref range, //range
Type.Missing, //outputFilename
Type.Missing, //from
Type.Missing, //to
Type.Missing,
ref copies,
Type.Missing, //pages
ref pagetype,
ref printtofile,
ref collate,
Type.Missing,
activeprintermacgx,
ref manualduplexprint,
ref printzoomcolumn,
ref printzoomrow,
Type.Missing,
Type.Missing);
// 文書を閉じる
word.Application.Documents.Close();
word.Quit();
word = null;

C#
NetFramework4.5
office2015

MSDN
https://msdn.microsoft.com/ja-jp/library/microsoft.office.tools.word.document.printout.aspx

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

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

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

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

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

guest

回答3

0

投稿2017/01/31 17:27

KOBAYASHI.Jun

総合スコア250

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

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

107User

2017/02/01 00:42

情報ありがとうございます。  PrintOut関数ではサポートされておらず、直接プリンタドライバーの設定をコントロールする必要があるようですね。
guest

0

直接な回答にならず申し訳ありませんでした。
結果的に無事両面印刷できたとのことで、よかったです。

投稿2017/02/02 08:33

KOBAYASHI.Jun

総合スコア250

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

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

107User

2017/02/02 09:03

いえいえ、助かりました。 ありがとうございました。
guest

0

自己解決

KOBAYASHI.Jun さん 紹介のリンク先からZIPを落とし
MyDuplexSettings.csをプロジェクトに追加

private void SetPrinterDuplex(string PrinterName ,int value) { MyDuplexSettings.DuplexSettings ds = new MyDuplexSettings.DuplexSettings(); short status = 0; string errorMessage = string.Empty; status = ds.GetPrinterDuplex(PrinterName, out errorMessage); if (status != 0) { ds.SetPrinterDuplex(PrinterName, value, out errorMessage); } }

これで無事に両面印刷に対応できました。

投稿2017/02/01 04:19

107User

総合スコア78

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問