Я использую Microsoft.Office.Interop.Word для доступа к документам Word через c #.В некоторых документах Word есть объекты.Это эквивалент вложений электронной почты.
Чтобы вставить какой-либо файл в документ Word в Word 2007, перейдите на вкладку Вставка -> Объект -> Объект ... и выберите файл.
У меня вопрос, как мне получить файл с помощью C #?
Вот пример того, как это делается с электронной почтой с помощью Outlook:
protected Microsoft.Office.Interop.Outlook.ApplicationClass outlookApplication = null;
protected Microsoft.Office.Interop.Outlook._MailItem mailItem = null;
protected Microsoft.Office.Interop.Outlook.NameSpace mapi = null;
public OutlookFileExtracter(string filename, string contentPrefix, int startAttachmentNumber)
this.outlookApplication = new Microsoft.Office.Interop.Outlook.ApplicationClass();
this.mapi = outlookApplication.GetNamespace("MAPI");
mailItem = mapi.OpenSharedItem(filename) as Microsoft.Office.Interop.Outlook._MailItem;
}
public Collection<string> GetFileNames()
{
String extension;
if (this.fileNamesOrig == null)
{
int numberOfFiles = this.mailItem.Attachments.Count;
this.fileNamesOrig = new Collection<string>();
this.fileNamesDest = new Collection<string>();
this.fileValidBools = new Collection<bool>();
for (int i = 0; i < numberOfFiles; i++)
{
//First attachment number is 1
fileNamesOrig.Add(this.mailItem.Attachments[i + 1].FileName);
this.fileValidBools.Add(false);
}
for (int la = 0; la < numberOfFiles; la++)
{
extension = Path.GetExtension(fileNamesOrig[la]).ToUpper().Trim('.');
this.fileNamesDest.Add(this.contentPrefix + (this.startAttachmentNumber + la) + "." + extension);
}
}
return this.fileNamesOrig;
}
Видимо Microsoft.Office.Interop.Word не использует вложения, но тогда я не знаю, как это называется.Есть идеи?