Word.Application и later binding
От: white_znake  
Дата: 22.05.08 14:23
Оценка:
Здравствуйте, уважаемые коллеги

В общем необходимо использовать Word в режиме OLE automation — через позднее связывание


Type loComType = Type.GetTypeFromProgID("Word.Application");            
object loObj = Activator.CreateInstance(loComType);
PropertyInfo loDocuments = loComType.GetProperty("Documents");

Type loDocumentsType = loDocuments.PropertyType;
MethodInfo loOpenDocument = loDocumentsType.GetMethod("Open");
object loMissingValue = Missing.Value;
                    object loFileName = @"D:\1\13003.1-Support large tables in imports exports and archiving.doc";
                    object[] loParameters = new object[16]
                        {
                            loFileName,
                            loMissingValue,
                            loMissingValue,
                            loMissingValue,
                            loMissingValue,
                            loMissingValue,
                            loMissingValue,
                            loMissingValue,
                            loMissingValue,
                            loMissingValue,
                            loMissingValue,
                            loMissingValue,
                            loMissingValue,
                            loMissingValue,
                            loMissingValue,
                            loMissingValue
                        };
loOpenDocument.Invoke(loDocuments, loParameters); //CRASH "Object does not match target type"


Посмотрел тип аргументов для метода Open() — это Object&

Как побороть эту багу?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.