Esempio n. 1
0
        /// <summary>
        /// 创建书签
        /// </summary>
        /// <param name="bookmark"></param>
        /// <param name="document"></param>
        /// <param name="mode"></param>
        /// <returns></returns>
        /// <exception cref="NotSupportedException"></exception>
        public static Bookmark CreateBookmark(Microsoft.Office.Interop.Word.Bookmark bookmark, Document document, RenderMode mode)
        {
            Bookmark value;

            if (Cache.TryGetValue((int)mode, out value))
            {
                value           = (Bookmark)value.Clone();
                value._bookmark = bookmark;
                value._document = document;
                return(value);
            }
            throw new NotSupportedException("不支持该类型的书签!");
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.ApplicationClass();
            Object MISSING = System.Reflection.Missing.Value;

            Microsoft.Office.Interop.Word.Document aDoc = null;
            aDoc            = wordApp.Documents.Open("D:\\SampleTemplate.docx");
            wordApp.Visible = false;
            FindAndReplace(wordApp, "<name>", "Test Name");
            wordApp.ActiveDocument.Characters.Last.Select();
            Microsoft.Office.Interop.Word.Selection selection = wordApp.Selection;
            Microsoft.Office.Interop.Word.Range     range     = selection.Range;
            Microsoft.Office.Interop.Word.Bookmarks bookmarks = aDoc.Bookmarks;
            int count = bookmarks.Count;

            Microsoft.Office.Interop.Word.Bookmark bookmark = bookmarks.Add("bookmark2", range);
            wordApp.Selection.Collapse();
            wordApp.Selection.TypeText("appended text........");
            aDoc.Save();
            aDoc.Close();
            Console.WriteLine("Hello World!");
        }
        private void CreateBookMark()
        {
            if (_ContractType.ContractTemplate != null)
            {
                if (!Directory.Exists(_TempWordLocation))
                {
                    Directory.CreateDirectory(_TempWordLocation);
                }
                //生成临时word文档
                byte[]     bytes = _ContractType.ContractTemplate;
                FileStream fs    = new FileStream(_TempWordName, FileMode.Create, FileAccess.Write);
                fs.Write(bytes, 0, bytes.Length);
                fs.Flush();
                fs.Close();

                Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
                object nothing    = Type.Missing;
                object localPatho = _TempWordName;
                Microsoft.Office.Interop.Word.Document doc =
                    app.Documents.Add(ref localPatho, ref nothing, ref nothing, ref nothing);
                try
                {
                    //将word的书签写入数据库
                    System.Collections.IEnumerator enu = app.ActiveDocument.Bookmarks.GetEnumerator();
                    _ContractBookMark.DeleteContractBookMarkByContractTypeID(_ContractType.ContractTypeID);
                    while (enu.MoveNext())
                    {
                        Microsoft.Office.Interop.Word.Bookmark bk = (Microsoft.Office.Interop.Word.Bookmark)enu.Current;
                        _ContractBookMark.InsertContractBookMark(
                            new ContractBookMark(0, _ContractType.ContractTypeID, bk.Name));
                    }
                }
                finally
                {
                    doc.Close(ref nothing, ref nothing, ref nothing);
                    app.Quit(ref nothing, ref nothing, ref nothing);
                }
            }
        }
Esempio n. 4
0
        private void InsertUnloadFileToDocument(string bookmark, string documentLocation, string unloadLocation)
        {
            Microsoft.Office.Interop.Word.Application WordApp = new Microsoft.Office.Interop.Word.ApplicationClass();

            Microsoft.Office.Interop.Word.Document doc = new Microsoft.Office.Interop.Word.Document();

            //Full file name
            object objFileName = documentLocation;
            object visible     = false;
            object readOnly    = false;
            object IsSave      = true;

            object bookMarkName = bookmark;
            object oClassType   = "MSGraph.Chart";
            object oFileName    = unloadLocation;
            object oMissing     = System.Reflection.Missing.Value;
            object missingValue = System.Reflection.Missing.Value;

            try
            {
                //打开文件
                doc = WordApp.Documents.Open(ref objFileName, ref missingValue, ref readOnly, ref missingValue,
                                             ref missingValue, ref missingValue, ref missingValue, ref missingValue,
                                             ref missingValue, ref missingValue, ref missingValue, ref missingValue,
                                             ref missingValue, ref missingValue, ref missingValue,
                                             ref missingValue);
                doc.Activate();
                Microsoft.Office.Interop.Word.Bookmark titleBookmark = doc.Bookmarks.get_Item(ref bookMarkName);
                titleBookmark.Range.InlineShapes.AddOLEObject(ref oClassType, ref oFileName, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
                //doc. Close(ref IsSave, ref missingValue, ref missingValue);
            }
            finally
            {
                doc.Close(ref IsSave, ref missingValue, ref missingValue);
            }
        }
        private void btnPrint_Click(object sender, EventArgs e)
        {
            try
            {
                if (word != null)
                {
                    //word.Quit();
                    word = null;
                }
                word = new WordApplication();
                object oMissing = Type.Missing;

                object path1 = AppDomain.CurrentDomain.BaseDirectory + @"office\收货确认单(空白).doc";
                doc = word.Documents.Open(ref path1, ReadOnly: true);//, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing

                object   markName = "客户名称";
                Bookmark bm       = doc.Bookmarks.get_Item(ref markName);
                bm.Range.Text = txtCompanyName.Text;

                markName      = "联系人";
                bm            = doc.Bookmarks.get_Item(ref markName);
                bm.Range.Text = txtContactName.Text;

                markName      = "电话";
                bm            = doc.Bookmarks.get_Item(ref markName);
                bm.Range.Text = txtContactPhone.Text;

                markName      = "送货地址";
                bm            = doc.Bookmarks.get_Item(ref markName);
                bm.Range.Text = txtContactAddress.Text;
                for (int i = 0; i < mDataTable.Rows.Count; i++)
                {
                    DataRow mDR = mDataTable.Rows[i];
                    markName      = "产品名称" + (i + 1).ToString();
                    bm            = doc.Bookmarks.get_Item(ref markName);
                    bm.Range.Text = mDR["产品名称"].ToString();

                    markName      = "规格型号" + (i + 1).ToString();
                    bm            = doc.Bookmarks.get_Item(ref markName);
                    bm.Range.Text = mDR["规格型号"].ToString();

                    markName      = "数量" + (i + 1).ToString();
                    bm            = doc.Bookmarks.get_Item(ref markName);
                    bm.Range.Text = mDR["数量"].ToString();

                    markName      = "发货日期" + (i + 1).ToString();
                    bm            = doc.Bookmarks.get_Item(ref markName);
                    bm.Range.Text = dtpSend.Value.Date.ToString("d");
                }

                markName      = "备注";
                bm            = doc.Bookmarks.get_Item(ref markName);
                bm.Range.Text = txtRemark.Text;

                word.Visible = true;
                doc.Protect(Microsoft.Office.Interop.Word.WdProtectionType.wdAllowOnlyReading);
                doc.PrintPreview();
                doc.Saved = true;
                if (word != null)
                {
                    word = null;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }