protected Microsoft.Office.Interop.Word.ApplicationClass objWord = new ApplicationClass();
//This creates new object of Word.ApplicationClass
protected string strPathToUpload;
//Path to upload files "Uploaded"
protected string strPathToConvert;
//Path to convert uploaded files and save
object fltDocFormat = 10;
//For filtered HTML Output
protected object missing = System.Reflection.Missing.Value;
//Is just to skeep the parameters which are passed as boject reference, these are seems to be optional parameters
protected object readOnly = false;
protected object isVisible = false;
//The process has to be in invisible mode
protected void btnUpload_Click(object sender, EventArgs e)
{
//Code to check if user has selected any file on the form
if (!(fUpload.HasFile))
{
lblMessage.Text = "Please choose file to upload";
}
else
{
try
{
//To check the file extension if it is word document or something else
string strFileName = fUpload.FileName;
string[] strSep = fUpload.FileName.Split('.');
int arrLength = strSep.Length - 1;
string strExt = strSep[arrLength].ToString().ToUpper();
//Save the uploaded file to the folder
strPathToUpload = Server.MapPath("Uploaded");
//Map-path to the folder where html to be saved
strPathToConvert = Server.MapPath("WordToHtml");
object FileName = strPathToUpload + "\\" + fUpload.FileName;
object FileToSave = strPathToConvert + "\\" + fUpload.FileName + ".htm";
if (strExt.ToUpper().Equals("DOC"))
{
fUpload.SaveAs(strPathToUpload + "\\" + fUpload.FileName);
lblMessage.Text = "File uploaded successfully";
//open the file internally in word. In the method all the parameters should be passed by object reference
objWord.Documents.Open(ref FileName, ref readOnly, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref isVisible, ref missing, ref missing, ref missing,
ref missing, ref missing);
//Do the background activity
objWord.Visible = false;
Microsoft.Office.Interop.Word.Document oDoc = objWord.ActiveDocument;
oDoc.SaveAs(ref FileToSave, ref fltDocFormat, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing);
lblMessage.Text = fUpload.FileName + " converted to HTML successfully";
}
else
{
lblMessage.Text = "Invalid file selected!";
}
//Close/quit word
objWord.Quit(ref missing, ref missing, ref missing);
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
}