Inicio > C#, office, Office 2007 > Cargar archivos de Office 2007 en un Formulario de Windows en C#

Cargar archivos de Office 2007 en un Formulario de Windows en C#

Algunas veces, tenemos la necesidad de mostrar cierta información contenida en algunos documentos de Office y lo que por lo regular hacemos en crear un objeto de aplicación Windows y que nos abra el office, cierto?. Pero como lo dice el nombre de este post, hoy vamos a ver como mostrar dichos documentos dentro del mismo formulario, sin abrir el ambiente de office 2007.

  1. Primero creamos un aplicación de Windows con C# a la que llamaremos OfficeWindows.
  2. Agregamos un control WebBowser y colocamos su propiedad Dock en Fill.
  3. Agregamos un control OpenFileDialog y un MenuStrip en donde colocamos la instucción de Abrir Archivo de Office para explorar el archivo que vamos a abrir.

El formulario debe quedar como se muestra en la siguiente figura:

image

Ahora vamos a agregar un poco de código para que esto función, el código es el siguiente:

namespace OfficeWindows
{
    public partial class Form1 : Form
    {
        public Object oDoc;
        public string FileName;
        public Form1()
        {
            InitializeComponent();
            this.webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
        }
       

        private void Form1_Load(object sender, EventArgs e)
        {
            openFileDialog1.Filter = "Documentos de Office (*.docx, *.xlsx, *.pptx)|*.docx;*.xlsx;*.pptx" ;
            openFileDialog1.FilterIndex = 1;
            
        }

        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            oDoc = e.GetType().InvokeMember("Document", BindingFlags.GetProperty, null, e, null);
            Object oApplication = e.GetType().InvokeMember("Application", BindingFlags.GetProperty, null, oDoc, null);

        }

        private void abrirDocumentoDeOfficeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            openFileDialog1.FileName = "";
            openFileDialog1.ShowDialog();
            FileName = openFileDialog1.FileName;

            if (FileName.Length != 0)
            {
                Object refmissing = System.Reflection.Missing.Value;
                oDoc = null;
                webBrowser1.Navigate(FileName);

            }

        }

       
    }
}

Este es el código que va dentro del formulario, tomando en cuenta que dejaron los nombres por default a los controles. Y el resultado es el siguiente:

image

Ahora solo si quieren manipular los eventos que se hagan dentro del office, tendrán que crear un objeto de Word, Excel, etc. para manejarlos, espero que les sea de utilidad y nos escribimos en otro post.

Etiquetas de Technorati: ,

About these ads
Categorías:C#, office, Office 2007
  1. jcb
    noviembre 24, 2008 en 8:33 pm | #1

    He intenatdo con varias opciones pero al abrir el docuemnto de exel siempro me lo abre en el ambiente de office, no dentro del webBrowser, Porfa me podria colaborar en que estoy fallando?

  2. noviembre 24, 2008 en 11:56 pm | #2

    Que tal jcb,

    lo que tienes que hacer es modificar una parte del registro de Windows, para poder abrirlo desde un Web Bowser, tienes hacer algo cómo esto

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Word.Document.8]
    “BrowserFlags”=dword:80000024

    cambias el valor q tiene por el de arriba, algo mejor seria crear un modulo que te cambie automaticamente los registros segun en donde lo quieras abrir, en el ambiente de office o en un web browser, para poder abrirlo desde el formulario.

    Espero te ayude amigo.

    Saludos!!!

    • carlos
      agosto 28, 2010 en 2:24 pm | #3

      en dónde cambio eso???

  3. noviembre 25, 2008 en 12:00 am | #4

    se me olvidaba,

    dices que trabajas excel, aqui estan los valores para la version 2003 y 2007

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.Sheet.8]
    “BrowserFlags”=dword:80000A00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.Sheet.12]
    “BrowserFlags”=dword:80000A00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.SheetMacroEnabled.12]
    “BrowserFlags”=dword:80000A00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.SheetBinaryMacroEnabled.12]
    “BrowserFlags”=dword:80000A00

  4. jesus
    enero 2, 2009 en 6:53 pm | #5

    hola amigo, disculpa explicaste esto para excel pero como se debe modificar el registro para word y powerpoint? gracias.

    • enero 9, 2009 en 8:24 pm | #6

      Que tal Jesus,

      cierto, perdon por el detalle. Aquí coloco todos los cambios para Word, Excel y PowerPoint

      [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Word.Document.8]
      “BrowserFlags”=dword:80000024

      [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Word.RTF.8]
      “BrowserFlags”=dword:80000024

      [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Word.Document.12]
      “BrowserFlags”=dword:80000024

      [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Word.DocumentMacroEnabled.12]
      “BrowserFlags”=dword:80000024

      [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.Sheet.8]
      “BrowserFlags”=dword:80000A00

      [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.Sheet.12]
      “BrowserFlags”=dword:80000A00

      [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.SheetMacroEnabled.12]
      “BrowserFlags”=dword:80000A00

      [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.SheetBinaryMacroEnabled.12]
      “BrowserFlags”=dword:80000A00

      [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PowerPoint.Show.8]
      “BrowserFlags”=dword:800000A0

      [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PowerPoint.Show.12]
      “BrowserFlags”=dword:800000A0

      [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PowerPoint.ShowMacroEnabled.12]
      “BrowserFlags”=dword:800000A0

      [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PowerPoint.SlideShow.8]
      “BrowserFlags”=dword:800000A0

      [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PowerPoint.SlideShow.12]
      “BrowserFlags”=dword:800000A0

      [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PowerPoint.SlideShowMacroEnabled.12]
      “BrowserFlags”=dword:800000A0

      Saludos.

  5. antonio
    enero 9, 2009 en 9:49 pm | #7

    buenas amigos una pregunta y como se pueden cambiar los registros de office desde c# si alguien me puede ayudar con un ejemplo o la forma de hacerlo saludos

  6. cafesin
    enero 20, 2009 en 5:31 pm | #9

    Chido ese nor, muy buen material, aunq no le entiendo mucho al c# me late mas el VB
    pero esta chido

  7. Jorge Diego Crespo
    febrero 4, 2009 en 12:41 pm | #10

    Se podría cargar un archivo office en un webform? El archivo se encuentra en la maquina del cliente. Alguien tiene idea de como hacer esto? Muchas gracias.

    • febrero 4, 2009 en 2:39 pm | #11

      Que tal Jorge Diego Crespo,

      como se observa en el ejemplo se utiliza un control WebBrowser que es un cotrol para Windows Form, para poder explorar en internet dentro de un form, lo que comentas sobre un Webform no es posible ya que este control no se aplica a un Webform, sin embargo si en la maquina cliente modificas los registros, es posible abrir un documento de Office (Word, Excel y PP) dentro de el internet explorer. De esta manera será posible abrir un archivo tal vez en un ContentPlaceHolder.

      Saludos.

  8. Holland
    febrero 4, 2009 en 4:25 pm | #12

    Hola norber,
    he probado el codigo que has dejado para modificar los registros usando c#, pero mi aplicacion me sigue abriendo una ventana externa para mostrar el .docx.

    • febrero 4, 2009 en 4:52 pm | #13

      que tal Holland

      que te parece si haces una prueba, y comienzas a editar los registros directamente desde el regedit, yo así indage para poder abrir el documento de office en un formulario de windows, creo que las opciones existentes es abrir en la instancia de office, abrir en web y abrir en patanlla completa, la verdad no recuerdo los numeros para esto, pero recomiendo que pruebes con varios. lo peor q puede pasar es que no abra los documentos, pero recuerda que numero es el unicial lo vuelves a poner y listo.

  9. Holland
    febrero 4, 2009 en 7:45 pm | #14

    Ya lo he conseguido y funciona correctamente. Ahora intentare hacerlo correr en un WebForm, a ver si saco algo…

    Muchas gracias.

    • eduard
      septiembre 23, 2010 en 4:23 pm | #15

      ESPERO Y ME AYUDES ESQUE NO LOGRO CONSEGUIR QUE OFFICE LO MUESTRE DENTRO DEL FORMULARIO

  10. Holland
    febrero 5, 2009 en 9:45 am | #16

    Tras tocar el registro y conseguir abrir un documento office en un WebForm, ahora se me plantea otra pregunta…se podria abrir una aplicación office, el Word por ejemplo, en un aspx? Me explico, no quiero abrir un archivo .doc, sino abrir la aplicación sin ningún documento cargado. Lo que he conseguido es abrir la aplicación office en la maquina del cliente, pero no dentro del navegador. Alguien tiene alguna idea de como hacerlo?
    Muchas gracias.

    • febrero 5, 2009 en 2:52 pm | #17

      Que tal Holland,

      al parecer esto aun no es posible, solo se puede abrir el documento de Office desde la maquina cliente. Una de las nuevsa novedades que se deja ver en la nueva versión de Office es precisamente lo que tu planteas, ahora vamos a poder abrir, modificar y compartir documentos de Office desde cualquier navergador, algo excelente. Esto lo anunciaron los en del PDC del año pasado, aqui un post donde comente al respecto.

      https://mspnor.wordpress.com/2008/10/28/office-14-office-web-applications/

      Saludos.

    • octubre 6, 2012 en 7:26 pm | #18

      Hola, que tal? Conseguí abrir el documento ppt en windows forms. Pero no lo puedo hacer en Windows Forms, me podrías explicar como utilizo el content place holder, para esto?.
      Gracias

  11. Holland
    febrero 7, 2009 en 10:21 am | #19

    Norber, muchas gracias por ponerme al día en este aspecto;)

  12. Ingeniero
    febrero 28, 2009 en 11:27 pm | #20

    Hay alguna forma de visualizar el objeto Microsoft.Office.Interop.Word._Application dentro de un panel y no en el WebBrowser como propones en el post

    • marzo 2, 2009 en 2:49 am | #21

      Que ta Ingeniero,

      Hasta el momento y que yo sepa, esta es la unica menara.

      Saludos!!!

  13. Ricardo
    abril 10, 2009 en 5:28 am | #22

    Hola men! esta super tu articulo, pero sabes ami no me abre el documento dentro del WebBrowser :S quiero abrir el de Office 2007,y bueno cambie esos 2 registros que son para Word y nada, lo sigue abriendo aparte :S, que crees que sea?? no me sale ningun error en tiempo de compilacion ni ejecucion.. :S!! espero puedas darme una manito, gracias!!

    Salu2,

  14. Ricardo
    abril 10, 2009 en 5:33 am | #23

    Hola, sorry ya me salio, y bueno no solo tenia que modificar los registros que mostrastes, bueno almenos conmigo no funciono asi, tuve que modificar eleran los Word.Document.12, Word.Document.8, y el Word.DocumentMacroEnabled.12, nuevamente gracias por el articulo!! genial!!, solo un detalle como se puede acoplar el 2do articulo que publicastes sobre “Modificar los Registros de Office con C#” pero aplicandolo dentro de este articulo, nuevamente gracias!!

    salu2,

    • abril 11, 2009 en 9:30 pm | #24

      que tal Ricardo,

      perdon pero por vacaciones apenas voy revisando los comentarios, me da gusto leer que te sirvio, ahora lo de los registros de pende de las necesidades de la aplicación, ya que puede ser desde un simeple método dento de tu formulario de tipo privado, auque recomendaria que fuera con una clase, ya sabes para tener todo en orden y con estetica. Aunque te digo que depende de muchas cosas.

      Si te puedo ayudar en algo no dudes en comentar.

      Saludos!!

  15. abril 16, 2009 en 2:57 pm | #25

    una pregunta urgente, man lo tuyo me sirvio perfectamente y gracias ahora loq ue necesito es como saber cuando clickee en el boton guardar del word q abri en el webbrowser para poder depurar gracias

  16. Jota
    abril 27, 2009 en 2:54 pm | #26

    Necesito hacer lo mismo pero abriendo word en visual basic 2005
    pueden ayudarme con esto porfa gracias

    • abril 28, 2009 en 1:49 pm | #27

      Que tal Jota,

      Para poder hacer esto desde Visual Studio 2005 necesitas instalar una extension para el mismo que se llama Visuarl Studio tools for Office en su version 3.0, puedes goolgearlo así y seguro lo encontraras, este extensión solo cuenta con plantillas para documentos de Word y Excel, los demas son complementos como crear tu propia cinta de opciones para el office.

      Te recomiendo usar Visual Studio 2008 en cualquiera de sus versiones ya que cuando lo instalas por default te coloca todas estas platnillas para la creación de proyectos para Office.

      Puedes echarle un vistazo a: http://msdn.microsoft.com/en-us/office/default.aspx

      Saludos!!

  17. Kochiwas
    mayo 12, 2009 en 9:15 pm | #28

    Amigo he intentado cambiando las claves de registro a dword y colocando el valor como exadecimal pero nada pasa continuan abriendose en otra ventana…
    Alguna sugerencia.

    saludos.

  18. junio 1, 2009 en 4:39 am | #29

    tu codigo me da el siguiente error
    uso visual studio 2008
    El nombre ‘BindingFlags’ no existe en el contexto actual
    dime xq

    • junio 1, 2009 en 3:22 pm | #30

      Beto,

      seguramente es porque el BindingFlags lo estas escribiendo sin las comillas, y te marca el error porque VS piensa que es una variable la cual no se define aun, otro posible error es que no tengas instalado el Office, pero estoy casi seguro que solucionas el primero colocandolo entre comillas.

      Saludos

  19. Mason
    julio 1, 2009 en 12:20 am | #31

    hola k tal saludos OK
    me funciono todo correctamente, pero tengo un problema,tengo un formulario padre y dentro tengo a word y excel como formularios hijos, todo estas bien hasta ahi, cuando ejecuto el programa sale bien todo, pero a la hora de darle clic a la barra de herramentas de word desaparece y la barra de herremientas de excel no estan, quisiera saber si puedo poner la barra de herramientas de word y excel en el formulario padre. todo lo desarrolo en office 2007 y visual basic.net 2008. agradeceria mucho si me responde. Me urge. gracias

    • julio 1, 2009 en 1:47 pm | #32

      Que tal Mason,

      esto no es posible, el problema que ocurre es el modo en que windows interpreta el como abrir los archivos de word y excel, esto tiene que ver con los registros que modificaste, lo que yo hice, es ir cambiando los registros aleatoriamente, a ver en cual funcionaba bien, esa es la unica forma que se me ocurre que funcione, pero no es recomendable. Lo que dices si en el formulario padre es posible poner el menu, esto no es posible, porque no puedes manipular el ribbon de office separa u homologarlo para diferentes tipos de archivos, para que funcione por separado. Si lo puedes manupular y crear tu propio menu, pero solo dentro de cada documento. Para esto necesitas algo que se llama Visual Studio Tools for Office que va en su version 3.0 me parece

  20. Mason
    julio 3, 2009 en 5:57 pm | #33

    Muchas Gracias. Me ayudo esto Ok.
    Otra duda norber me podrias decir donde puedo descargar algun tutorial o que puedas prestar alguno.
    Para humologar ribbon office como le haria???
    bueno que cada vez que le en el formulario de texto la barra de word aparezca cuando le de en el formulario de excel aparezca la barra de excel

    muchas gracias por la informacion, si quieres el codigo a donde te lo mando o lo pongo aqui.

    • septiembre 1, 2009 en 6:50 pm | #34

      Que tal Mason,

      mmm, la verdad es que yo batalle con lo mismo, casi no hay info para trabajar con Office, menos con el ribbon, pero la poca que existe la encuentras en http://msdn.microsoft.com/en-us/vsto/default.aspx y en los foros de MSDN.

      Sobre lo que comentas, es necesario trabajar con una aplicación, por ejemplo con Word, y en el ribbon colocas botones de Excel, Power, etc, que estos los manejas como los objetos que se agregan normalmente en el Office, ya que para hacer lo mencionas creo que seria complicado, ya que cada libreria de Office es diferente y pasa lo mismo con el ribbon.

      Aunque me agradaria ayudarte, puedes mandar el código o tu aplicación a mi correo: norberto@student-partners.com y vemos que podemos hacer.

      Saludos.

  21. Maverax
    agosto 28, 2009 en 4:31 pm | #35

    Justamente lo que buscaba pero aplica a VB.NET, me fue de gran ayuda, al principio me abria los archivos de word en otra ventana pero modificando los registros como lo dijo NORBER todo funciona correctamente, les agradezco mucho su ayuda, sigan asi.

  22. Roberto
    septiembre 4, 2009 en 11:48 pm | #36

    Hola, útil es el artículo. Tengo dos curiosidades:

    ¿Cómo crear un nuevo documento de Word y visualizarlo en un formualrio?

    Si en el nuevo documento agrego marcadores, como pasarlos a un DataGridView haciendo referencia a la colección Bookmarks?

    • septiembre 5, 2009 en 2:47 pm | #37

      que onda Roberto

      1.- Para crear un documento Necesitas la libreria Microsoft.Office.Interop.Word (version 12 de preferencia, para office 2007), luego basta con importarla a la aplicación y escrbir algo asi:

      dim word = new Microsoft.Office.Interop.Word.Application
      dim documento = new word.document()

      ‘Aqui comienzas a manipular el documento tiene muchas propiedas, como los marcadores que comentas, para importarlo se me ocurre hacer un arreglo o crear un datatable para poder importarlo al grid,

      por la tarde coloco este ejemplo que resulta interesante, pore el momento puedes comenzar con lo que te digo, espero que te ayude…

      Saludos..

      • Roberto
        septiembre 5, 2009 en 10:23 pm | #38

        Hola, gracias por su respuesta.

        Lo de crear un documento de Word lo sé. Lo que no logro es visualizar el nuevo documento de Word dentro del formulario.

        Saludos

  23. Igorov
    diciembre 8, 2009 en 5:54 am | #39

    Hola norber, esta muy bueno el post, pero no lo puedo compilar, me sale el mismo error que beto: El nombre ‘BindingFlags’ no existe en el contexto actual

    Le respondiste que va entre comillas, lo he intentado, pero no lo soluciona, como podria solucionar esto?, estoy usando visual studio 2008

    • reynaldo
      julio 6, 2010 en 11:42 pm | #40

      aquí esta la respuesta

      using System.Windows.Forms;
      using System.Reflection;
      using System.IO;

  24. rojas
    enero 15, 2010 en 5:38 pm | #41

    hola alguien me puede ayudar estoy ocupendo VSTO pero quiero abrir ese documento en teimpo de ejecucion desde un proyecto

  25. Rafael
    febrero 12, 2010 en 7:09 pm | #42

    Hola porfa podrias colgar el ejemplo?

  26. Allucardster
    marzo 1, 2010 en 6:36 pm | #43

    Hola .. tengo una peque preg… ¿Por que hay que modificar el registro de win?

    • marzo 2, 2010 en 4:39 pm | #44

      por que el registro es quien indica a office la manera en que debe abrirse, si es con Microsoft Office o con Internet Explorer, esto lo indica segun el valor en el registro.

  27. marzo 7, 2010 en 5:02 pm | #45

    compañero le faltaron los using

    using System.Reflection;
    using System.IO;

  28. Sebas7126
    abril 22, 2010 en 4:19 pm | #46

    Pregunta, desde el Formulario, Abrir Documentos de Office como puedo hacer para cuando yo le de click en este me abra directamente un rachivo que este en una ruta del Disco Duro, obviamente conservando el codigo anterior, pero cual seria la linea que me lleve a un archivo especifico sin tener que buscar la ruta manualmente.

    gracias por la ayuda

    dejo mi correo por si alguien me desea colabora con esto

    la_pollapunk@hotmail.com

    • abril 27, 2010 en 1:58 am | #47

      que tal Sebeas,

      en el evento click el menu item, creo que el webBrowser1 tiene un método de Source o algo asi en donde pones la ruta, por ejemplo @”misdocumentos\miarchivo.docx”. con esto debe de funcionar.

      Saludos.

  29. boyfelix
    mayo 8, 2010 en 3:16 pm | #48

    hola,por favor si me puedes enviar lo que te he pedido
    …te lo agradezceria…gracias

  30. Eduardo
    mayo 9, 2010 en 9:03 am | #49

    Hola… que tal… solo quiero aportar un poco espero y les sirva!!

    a mi me funciono bien… solo que hay que tener la vercion de office 2003 con la 2007 no funciona…

    oDoc = e.GetType().InvokeMember(“Document”,System.Reflection.BindingFlags.GetProperty, null, e, null);
    Object oApplication = e.GetType().InvokeMember(“Application”, System.Reflection.BindingFlags.GetProperty, null, oDoc, null);

    saludos…

  31. boyfelix
    mayo 10, 2010 en 2:12 am | #50

    hola …una consulta,cual es el codigo para poder abrir word desde un formulario con su menu en Visual .Net.
    Tambien si se podria hacer lo mismo con los demas componentes de Office 2007.
    Espero que me ayudes…lo necesito lo mas prontisimo posible.
    De antemano….gracias

  32. boyfelix
    mayo 11, 2010 en 6:15 pm | #51

    Hola…..por favor si me pueden ayudar en lo que estoy pidiendo.
    si me lo pueden enviar a mi correo seria de gran utilidad…pero envianme el codigo completo para analizarlo(recuerden que es de affice 2007).
    O si es que pueden graben el procedimiento con camtasia y me lo envian,ya de ahi lo analizo…gracias por todo.

    e-mail: boyfelix2000@hotmail.com

  33. melisa
    mayo 15, 2010 en 2:37 pm | #52

    Hola, necesitaba que me orientes un poco, ya que copie el código que figura, compila, pero no me muestra el documento en el WebBowser, lo abre pero afuera de el.

    Agradezco tu ayuda.

    Melisa

    • mayo 16, 2010 en 7:48 pm | #53

      hola melisa,

      esto pasa porque debes modificar los registros de office para poder abrirlos en el webbrowser, revisa los primeros comentarios y ahi vienen los datos de los registros a modificar.

      Saludos.

  34. Rafael Mourglia
    mayo 16, 2010 en 6:11 pm | #54

    Hola a todos. Muchas gracias por este dato, me es de mucha utilidad. Solo quisiera saber como es bien que se debe modificar el registro. Porque al llegar a la parte en donde tengo que modificar en BrowserFlags tengo dos cosas para modificar. Uno es si le doy doble click o boton derecho y ‘Modificar’, aca me aparece solo una ‘a’ o lo otro es si le doy boton derecho y ‘cambiar datos binarios’, aca me aparece una ventana con ’0000 0A 00 00 00′. Agradecería mucho que me expliquen esta parte.

  35. Rafael Mourglia
    mayo 18, 2010 en 3:15 am | #55

    Hola, nuevamente. Quiero decir que la duda que tenia con el registro ya la solucione. se debe agregar ese dato en ‘Modificar’. Pero ahora tengo otras dudas y quisiera que me den una manito. Primero, siempre cuandro abro un documento me dice si lo quiero abrir o guardar. Se puede hacer algo para que ese mensaje no aparezca y que abra el archivo de una?. Y otra cosa un poco mas compleja es como hago para controlar el scroll que aparece a la derecha del webBrowser desde el codigo. Yo lo quiero para reproducir pps. Desde ya muchas gracias.-

  36. ahg
    mayo 27, 2010 en 9:11 pm | #56

    Hola, tengo Visual Studio 2005 y W7 con IE 8, he modificado las claves del registro y no me funciona el codigo, me abre en un excel aparte, una vez logré hacer que me abriera en el mismo webbrowser, pero no mostraba la paleta de herramientas del office. Quisiera me dijeran 2 cosas.
    1. Como lograr que el doc abra dentro del WebBrowser.
    2. Como hacer que el doc se muestro del del WevBrowser y con todos su menú

    Saludos
    AHG

  37. ahg
    mayo 27, 2010 en 9:12 pm | #57

    Hola, tengo Visual Studio 2005 y W7 con IE 8, he modificado las claves del registro y no me funciona el codigo, me abre en un excel aparte, una vez logré hacer que me abriera en el mismo webbrowser, pero no mostraba la paleta de herramientas del office. Quisiera me dijeran 2 cosas.
    1. Como lograr que el doc abra dentro del WebBrowser
    2. Como hacer que el doc se muestro del del WebBrowser y con todos su menú

    Utilizo VS2005 W7 y IE8

    Saludos
    AHG

  38. ahg
    mayo 27, 2010 en 9:17 pm | #58

    Ah, se me olvidaba, utilizo Microsoft Office 2010 Beta

  39. luis
    mayo 30, 2010 en 10:46 pm | #59

    hola.tengo un problema,como puedo abrir un archivo de excel en una aplicacion wpf de vb 2008

  40. Cali
    julio 15, 2010 en 4:30 am | #60

    Hola, necesito abrir dentro de mi aplicación desarrollada en VB.NET 2005, documentos de tipo: docx, xlsx, pdf, tif, gif, entre otros.
    Si mal no recuerdo en versiones anteriores de VB se utiilzaba un control de objetos OLE, para no tengo conocimiento de cómo hacerlo en VB.NET 2005.
    Muchas gracias.

  41. eduard
    septiembre 21, 2010 en 7:30 pm | #61

    mm espero y me puedas ayudar me marca error en el codigo que pusistes y la verdad no encuentro el erro me dice que no puede encontrar el WebBrowserDocument y me manda un mensaje que no se puede conectar a internet abre el archivo de office pero lo manda fuera del formulario

  42. Moncada
    noviembre 18, 2010 en 4:09 pm | #62

    hola a todos me podrian ayudar hice el ejemplo de arriba pero cuando corro mi aplicacion me marca una advetrencia “your current security settings do not allow this file to be downloaded” en Español “la configuración de seguridad actual no permite descargado este archivo” y no me muestra nada, me podrian ayudar a resolver este problema.

  43. Esteban
    enero 19, 2011 en 7:02 am | #63

    Hola disculpa no se si me puedas ayudar ha hacer lo mismo pero con visual basic net 2005. De antemano agradesco tu ayuda

  44. Paco
    febrero 11, 2011 en 7:23 pm | #64

    no me muestra el word 2007 en el formulario me aparece fuera del formulario ya modifique los registros del word que otra cosa puedo haceer para que me aparesca

  45. Oscar
    junio 27, 2011 en 4:36 am | #65

    Hola amigo,
    tengo una pregunta
    Estoy cargando archivos .pptx (Power Point) y quiero que cada vez que aprieto “enter” pase a la siguiente diapositiva. He intentado en los eventos “keypress” del formulario pero no ha sido exitosa la prueba.
    ¿tienes alguna idea de cómo hacerlo?
    Gracias
    OScar

  46. jun ior
    julio 15, 2011 en 12:06 am | #66

    oye como haria para mostrar un documento de word guardado en base de datos en el WebBowser

  47. Carlos
    julio 28, 2011 en 8:07 pm | #67

    hola amigo te cuento que estado tratando de ejecutar el codigo que publicas pero me salta una excepcion
    “Method ‘System.Windows.Forms.WebBrowserDocumentCompletedEventArgs.Document’ not found.”

    en esta linea:
    oDoc = e.GetType().InvokeMember(“Document”, BindingFlags.GetProperty, null, e, null);

    y luego no me muestra los ribbon solo abre la hoja de excel , alguien sabe por que puede ser gracias de antemano.

  48. diego
    noviembre 13, 2011 en 7:57 pm | #68

    como hago para cargar en este caso un pdf??

  49. ENRAND
    noviembre 28, 2011 en 8:55 pm | #70

    El programa funciona bien, lo abre y todo. El problema esta en que los cambios si se pueden guardar, todas las modificaciones. Como corrijo el error?

  50. junio 1, 2012 en 7:19 am | #71

    Hola que tal, ya he logrado establecer los documentos sobre el control, pero como puedo evitar que salga la ventana que trae las opciones de Abrir, Guardar y cancelar, y que simplemente lo coloque el documento sin que aparezca esa ventana.

    Espero puedas ayudarme y te agradezco por la info, me ha servido de mucho, gracias

    • junio 4, 2012 en 5:40 pm | #72

      Que tal JxDarkAngel,

      Creo que entendí, te refieres a que se quiten los iconos pequeños que aparece aun lado del logo de Office y no al Ribbon, yo trabaje con el API de Office un año aproximadamente y creo que no se puede eliminar. Lo que se puede es colocar debajo o sobre el Ribbon.

      Espero te haya servido la información

      Saludos.

  51. ej
    septiembre 25, 2012 en 10:15 pm | #73

    tengo mi office 2007 y me sale este error

    No se puede encontrar el método ‘System.Windows.Forms.WebBrowserDocumentCompletedEventArgs.Document

  52. Pablo
    octubre 4, 2012 en 11:36 pm | #74

    Excelente!!! al abrir excel no deja ver las opciones del menu principal (la cinta de opciones)… alguna alternativa de solucion?… de todos modos Excelent!!!!

  1. No trackbacks yet.

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

%d personas les gusta esto: