Beispiel #1
0
        private void printToWord(bool bPreview)
        {
            object strFile;

            Microsoft.Office.Interop.Word.Application objWord = new Microsoft.Office.Interop.Word.Application();
            Microsoft.Office.Interop.Word.Document    objDoc  = new Microsoft.Office.Interop.Word.Document();

            object missing = System.Reflection.Missing.Value;
            object myTrue  = true;
            object myFalse = false;

            objWord.Options.MapPaperSize = false;
            object            objBookmark = "ContractOID";
            clsGlobalVariable objGlobal   = new clsGlobalVariable();
            TreeNode          objWordNode = trDocuments.Nodes[0];

            foreach (TreeNode objNode in objWordNode.Nodes)
            {
                if (objNode.Checked == true)
                {
                    strFile = objNode.Text;
                    objDoc  = objWord.Documents.AddOld(ref strFile, ref missing);

                    try
                    {
                        objBookmark = "ContractOID";
                        objDoc.FormFields.get_Item(ref objBookmark).Result = objContact.ContractOID.ToString();
                        string sqlserver = (string)Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\ODBC\\ODBC.INI\\" + objGlobal.DMSDBName, "Server", "localhost");
                        objBookmark = "VSPISRV";
                        objDoc.FormFields.get_Item(ref objBookmark).Result = sqlserver;
                        objBookmark = "VSPIDB";
                        objDoc.FormFields.get_Item(ref objBookmark).Result = objGlobal.DMSDBName;
                        objBookmark = "VSPIUSER";
                        objDoc.FormFields.get_Item(ref objBookmark).Result = objGlobal.DMSUserName;
                        objBookmark = "VSPIPASS";
                        objDoc.FormFields.get_Item(ref objBookmark).Result = objGlobal.DMSDBPass;
                        objWord.Run("GetExtraData");
                    }
                    catch (Exception ex)
                    {
                        _log.Error(ex.ToString());
                    }
                    if (!bPreview)
                    {
                        objDoc.PrintOutOld(ref myFalse, ref myFalse, ref missing, ref missing, ref missing, ref missing, ref missing,
                                           ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
                        objDoc.Close(ref myFalse, ref missing, ref missing);
                    }
                    else
                    {
                        objDoc.Activate();
                        objWord.Visible = true;
                    }
                }
            }
            if (!bPreview)
            {
                objWord.Quit(ref myFalse, ref missing, ref missing);
                objWord = null;
            }
        }