Embedding Microsoft Office in Form


Sep 6, 2012
Programming Experience
I am trying this tutorial but i am getting an error
Unknown name. (Exception from HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME))
in this line
 Object oApplication = o.GetType().InvokeMember("Application", BindingFlags.GetProperty, null, oDocument, null);

Here's the code
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Reflection;
namespace GoPPT2
public partial class Form1 : Form
private Object oDocument;
public Form1()
this.axWebBrowser1.NavigateComplete2 += new AxSHDocVw.DWebBrowserEvents2_NavigateComplete2EventHandler(this.axWebBrowser1_NavigateComplete2);
this.Load += new System.EventHandler(this.Form1_Load);
this.Closed += new System.EventHandler(this.Form1_Closed);

private void button1_Click(object sender, System.EventArgs e)

String strFileName;

//Find the Office document.
openFileDialog1.FileName = "";
strFileName = openFileDialog1.FileName;

//If the user does not cancel, open the document.
if (strFileName.Length != 0)
Object refmissing = System.Reflection.Missing.Value;
oDocument = null;
axWebBrowser1.Navigate(strFileName, ref refmissing, ref refmissing, ref refmissing, ref refmissing);

public void Form1_Load(object sender, System.EventArgs e)
button1.Text = "Browse";
openFileDialog1.Filter = "Office Documents(*.doc, *.xls, *.pptx)|*.doc;*.xls;*.pptx";
openFileDialog1.FilterIndex = 1;

public void Form1_Closed(object sender, System.EventArgs e)
oDocument = null;

private void axWebBrowser1_NavigateComplete2(object sender, AxSHDocVw.DWebBrowserEvents2_NavigateComplete2Event e)
Object o = e.pDisp;

oDocument = o.GetType().InvokeMember("Document", BindingFlags.GetProperty, null, o, null);

Object oApplication = o.GetType().InvokeMember("Application", BindingFlags.GetProperty, null, oDocument, null);

Object oName = o.GetType().InvokeMember("Name", BindingFlags.GetProperty, null, oApplication, null);

MessageBox.Show("File opened by: " + oName.ToString());


PS : I have Microsoft Office 2010 installed and I am using Visual Studio 2010 for this.
Hope you could help me!
Top Bottom