Csharp 打印Word文件默認打印機或選擇打印機設置代碼

 //打印文檔
                    object nullobj = Missing.Value;
                    //aDoc = wordApp.Documents.Open(ref file,
                    //                            ref nullobj, ref nullobj, ref nullobj,
                    //                            ref nullobj, ref nullobj, ref nullobj,
                    //                            ref nullobj, ref nullobj, ref nullobj,
                    //                            ref nullobj, ref nullobj, ref nullobj,
                    //                            ref nullobj, ref nullobj, ref nullobj);



                    //aDoc.Activate();
                    wordApp.Visible = false;
                    //wordApp.ActivePrinter = "My Printer Name";
                    try
                    {
                        // 參考:http://msdn.microsoft.com/en-us/library/b9f0ke7y.aspx 
                        //塗聚文 2011-11-04 缔友计算机信息技术有限公司
                        //1。默認打印機設置
                        PrintDialog print = new PrintDialog();
                        print.PrinterSettings = new PrinterSettings();
                        strDefaultPrinter = print.PrinterSettings.PrinterName;
                        aDoc.Application.ActivePrinter = strDefaultPrinter;
                        object copies = "1";
                        object pages = "1";
                        object range = Word.WdPrintOutRange.wdPrintCurrentPage;
                        object items = Word.WdPrintOutItem.wdPrintDocumentContent;
                        object pageType = Word.WdPrintOutPages.wdPrintAllPages;
                        object oTrue = true;
                        object oFalse = false;
                        aDoc.PrintOut(ref nullobj, ref nullobj, ref nullobj, ref nullobj,
                        ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj,
                        ref nullobj, ref nullobj, ref nullobj, ref nullobj,
                        ref nullobj, ref nullobj);

                    //    aDoc.PrintOut(ref oTrue, ref oFalse, ref range, ref nullobj,
                    //ref nullobj, ref nullobj, ref items, ref copies, ref pages, ref pageType, ref nullobj, ref nullobj,
                    //ref nullobj, ref nullobj, ref nullobj, ref nullobj,
                    //ref nullobj, ref nullobj);
                        //2。弹出打印機设置
                        //塗聚文 2011-11-04 缔友计算机信息技术有限公司
                        //int dialogResult = wordApp.Dialogs[Microsoft.Office.Interop.Word.WdWordDialog.wdDialogFilePrint].Show(ref nullobj);
                        //if (dialogResult == 1)
                        //{
                        //    aDoc.PrintOut(ref nullobj, ref nullobj, ref nullobj, ref nullobj,
                        //                 ref nullobj, ref nullobj, ref nullobj, ref nullobj,
                        //                 ref nullobj, ref nullobj, ref nullobj, ref nullobj,
                        //                 ref nullobj, ref nullobj, ref nullobj, ref nullobj,
                        //                 ref nullobj, ref nullobj);
                        //}
                        while (wordApp.BackgroundPrintingStatus > 0)
                        {
                            System.Threading.Thread.Sleep(250);
                        }


                        Object saveChanges = Word.WdSaveOptions.wdSaveChanges;
                        Object originalFormat = Type.Missing;
                        Object routeDocument = Type.Missing;
                        wordApp.Documents.Close(ref saveChanges,
                            ref originalFormat, ref routeDocument);
                        Object saveChangesQuit = Word.WdSaveOptions.wdSaveChanges;
                        Object originalFormatQuit = Type.Missing;
                        Object routeDocumentQuit = Type.Missing;
                        wordApp.Quit(ref saveChangesQuit,
                            ref originalFormatQuit, ref routeDocumentQuit);


                    }
                    catch (Exception ex)
                    {
                        ex.ToString();
                        MessageBox.Show("請設定默認打印機");
                    }
                    finally
                    {
                        //MessageBox.Show("你設定的默認打印機是:"+strDefaultPrinter.ToString());
                    }

                }
哲学管理(学)人生, 文学艺术生活, 自动(计算机学)物理(学)工作, 生物(学)化学逆境, 历史(学)测绘(学)时间, 经济(学)数学金钱(理财), 心理(学)医学情绪, 诗词美容情感, 美学建筑(学)家园, 解构建构(分析)整合学习, 智商情商(IQ、EQ)运筹(学)成功.---Geovin Du(涂聚文)
原文地址:https://www.cnblogs.com/geovindu/p/2236326.html