简体   繁体   中英

create and open the word document and bring it to front

i am creating a word add-in in c#, i am creating a document, inserting a hyperlink and trying to bring it front. but newly created document does not come in front. it goes to back of the current window. Below are the code :

Word.Document newNoteDoc = new Word.Document();
        object oActiveDocFullName = Globals.ThisAddIn.Application.ActiveDocument.FullName;
        object oAcitiveDocNameWithoutExt = Path.GetFileNameWithoutExtension(Globals.ThisAddIn.Application.ActiveDocument.Name);
        object oActiveDocName = Globals.ThisAddIn.Application.ActiveDocument.Name;
        object oScreenTip = (GeneralHelper.pstrNoteFolder + "\\" + txtFileName.Text.Trim() + ".docx").Replace('\\', '/');
        object oScreemTipInNewDoc = Globals.ThisAddIn.Application.ActiveDocument.FullName.Replace('\\', '/');
        object oMissingReference = System.Reflection.Missing.Value;
        object oFileName = "file:///" + GeneralHelper.pstrNoteFolder + "/" + txtFileName.Text.Trim() + ".docx";
        object oHyperlinkText = txtHyperlinkText.Text.Trim();
        object oFileFormat = Word.WdSaveFormat.wdFormatDocumentDefault;
        object oAddToRecentFiles = true;
        object oReadOnlyRecommended = false;
        object oStartRange = 0;
        object oVisible = true;
        //  OopenFileName = oFileName;
        Word.Range rngCurrentRange = Globals.ThisAddIn.Application.Selection.Range;

        try
        {
            //Word.Document maindoc = Globals.ThisAddIn.Application.ActiveDocument;


            //insert hyperlink into current document
            rngCurrentRange.Hyperlinks.Add(rngCurrentRange, ref oFileName, ref oMissingReference, ref oScreenTip, ref oHyperlinkText, ref oFileName);
            Word.Range rngNewRange = newNoteDoc.Range(ref oStartRange, ref  oMissingReference);

            //insert hyperlink in the new doc.
            //Globals.ThisAddIn.Application.ActiveDocument.Activate();

            newNoteDoc.Hyperlinks.Add(rngNewRange, ref oActiveDocFullName, ref oMissingReference, ref oScreemTipInNewDoc, oAcitiveDocNameWithoutExt, oActiveDocFullName);
            //save the new doc

            newNoteDoc.SaveAs2(ref oFileName, ref oFileFormat, ref oMissingReference, ref oMissingReference, ref oAddToRecentFiles, ref oMissingReference,
                       ref oReadOnlyRecommended, ref oMissingReference, ref oMissingReference, ref oMissingReference, ref oMissingReference,
                       ref oMissingReference, ref oMissingReference, ref oMissingReference, ref oMissingReference, ref oMissingReference, ref oMissingReference);

            //Globals.ThisAddIn.AddTaskPane(newNoteDoc);

            //Application.DoEvents();

            ////newNoteDoc.Application.WindowState=1;
            //newNoteDoc.Activate();
            //newNoteDoc.Windows.Application.Visible = true;
            ////newNoteDoc.Activate();


            //Thread.Sleep(5000);

            //newNoteDoc.Application.Activate();


            //newNoteDoc.Application.WindowState = Word.WdWindowState.wdWindowStateMinimize;
            //newNoteDoc.Application.WindowState = Word.WdWindowState.wdWindowStateMaximize;

            newNoteDoc.Close(ref oMissingReference, ref oMissingReference, ref oMissingReference);
object readOnly = false;
            object isVisible = true;
            object oMissing = System.Reflection.Missing.Value;

            //Make word visible, so you can see what's happening         
            //Globals.ThisAddIn.Application.Visible = true;

            Word.Document NewDoc = Globals.ThisAddIn.Application.Documents.Open(ref oFileName, ref oMissing, ref readOnly, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref isVisible);


            NewDoc.Activate();

}

still current document is active. how can i active the newly created document and bring to front.

Try using DocumentChangeEvent() and then try to open the new file. It should automatically make that active.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM