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; } }