So here is the scenario:
Note:
________________________________________________________________________________
1.
SharePoint document library has multiple documents with the same
context let’s say month’s announcements.
2.
Now a single newsletter should go to all users with all
announcements in a single announcement monthly letter.
3.
So it’s nothing but merging multiple documents into a single
document.
Here “filepath1” is the location of the
first document and “filepath2” is for second document. So it could be like http:///
Lib>/documentname.docx
Hope you are clear here as this code
only merge 2 documents…but with a loop you can have multiple documents.
________________________________________________________________________________
private void readDocument(string filePath1, string
filePath2)
{
string targetfile = string.Empty;
object file1 = filePath1;
object file2 = filePath2;
object file3 = targetfile;
object objMissing = System.Reflection.Missing.Value;
object objTrue = System.Reflection.Missing.Value;
object start = 0;
object end = 0;
ApplicationClass WordApp = new Microsoft.Office.Interop.Word.ApplicationClass();
Document finalDocument =
WordApp.Documents.Add(ref objMissing, ref objMissing, ref
objMissing, ref objMissing);
//Range field will ensure they won’t overwrite and
second document start where first document ends.
Range rng = finalDocument.Range(ref
start, ref objMissing);
rng.InsertFile(filePath1, ref
objMissing, ref objMissing, ref objMissing, ref
objMissing);
start = (WordApp.ActiveDocument.Content.End)-1;
Range rng1 = finalDocument.Range(ref start, ref objMissing);
rng1.InsertFile(filePath2, ref
objMissing, ref objMissing, ref objMissing, ref
objMissing);
start = (WordApp.ActiveDocument.Content.End) - 1;
finalDocument.Save();
}
Cheers!!!
Suneet