none
Microsoft.Office.Core.FileDialog muestra un comportamiento extraño en version release RRS feed

  • Pregunta

  •        

    Tengo un método en una aplicación para Excel que empleo en el evento del libro

    ThisWorkbook_BeforeSave de forma que se guarda un informe con algunas hojas del libro en el que esta la aplicación. En depuración no presenta ningún problema, se realizan las acciones diseñadas sobre el libro de origen y se guardan las hojas de informe en un libro nuevo. Al soliditar que se abra el diálogo para guardar como, se da la opción al usuario para que cambie la ruta y el nombre de dicho informe. Sin embargo, cuando se genera el instalable, al llamar al método show de Microsoft.Office.Core.FileDialog, la ventana de guardar como no se pone en primer plano, de hecho para poder verla hay que abrir el administrador de tareas. El código es:

     private static void guardarComo(Excel.Workbook xlWorkBook,string nombre,string pRuta, bool solicitarRuta=false)
    {
        if (solicitarRuta)
        {
            Microsoft.Office.Core.FileDialog f = xlWorkBook.Application.get_FileDialog(Microsoft.Office.Core.MsoFileDialogType.msoFileDialogSaveAs);
            f.InitialFileName = nombre;

            if (f.Show() == -1)
            {
                f.Execute();
                xlWorkBook.Close();
            }
            else
            {
                xlWorkBook.Close(SaveChanges: false);
            }
        }
        else
        {
            xlWorkBook.SaveAs(Filename: pRuta + "/" + nombre);
            xlWorkBook.Close();
        }
    }

    La ventana no se ve ni con Alt+tab, sin embargo si aparece el proceso en el administrador de tareas.

    jueves, 15 de enero de 2015 14:53