Word Interop
От: piranha Украина  
Дата: 30.05.06 21:22
Оценка:
При исполнении вот такого вот когда:

ApplicationClass wordapp = new ApplicationClass();
Document worddoc;
OpenFileDialog of = new OpenFileDialog();

if (of.ShowDialog() == DialogResult.OK)
{
    object fileName = of.FileName;
    worddoc = wordapp.Documents.Open(ref fileName, 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, ref missing);
}


У меня выскакивает такая ошибка:

Unable to cast COM object of type 'Microsoft.Office.Interop.Word.ApplicationClass' to interface type 'Microsoft.Office.Interop.Word._Application'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{00020970-0000-0000-C000-000000000046}' failed due to the following error: Error loading type library/DLL. (Exception from HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)).

Что делать, куда копать?
Re: Word Interop
От: IvanDunaev  
Дата: 30.05.06 22:50
Оценка:
Здравствуйте, piranha, Вы писали:

P>При исполнении вот такого вот когда:


P>
P>ApplicationClass wordapp = new ApplicationClass();
P>Document worddoc;
P>OpenFileDialog of = new OpenFileDialog();

P>if (of.ShowDialog() == DialogResult.OK)
P>{
P>    object fileName = of.FileName;
P>    worddoc = wordapp.Documents.Open(ref fileName, ref missing, ref missing, ref missing,
P>        ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
P>        ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
P>}
P>


P>У меня выскакивает такая ошибка:


P>Unable to cast COM object of type 'Microsoft.Office.Interop.Word.ApplicationClass' to interface type 'Microsoft.Office.Interop.Word._Application'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{00020970-0000-0000-C000-000000000046}' failed due to the following error: Error loading type library/DLL. (Exception from HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)).


P>Что делать, куда копать?



ApplicationClass wordapp = new ApplicationClass(); -> Application wordapp = new Application();
Re[2]: Word Interop
От: piranha Украина  
Дата: 30.05.06 23:08
Оценка:
Здравствуйте, IvanDunaev, Вы писали:

ID>ApplicationClass wordapp = new ApplicationClass(); -> Application wordapp = new Application();


Эмм... Вылазит та же самая ошибка.
Re[3]: Word Interop
От: IvanDunaev  
Дата: 30.05.06 23:21
Оценка:
Здравствуйте, piranha, Вы писали:

P>Здравствуйте, IvanDunaev, Вы писали:


ID>>ApplicationClass wordapp = new ApplicationClass(); -> Application wordapp = new Application();


P>Эмм... Вылазит та же самая ошибка.


убедись, что не подключено что-то еще из офиса — например, эксель — у них многие имена классов и интерфейсов совпадают. уточняй имена префиксом Word — Word.Application etc
Re: Word Interop
От: tyger Россия  
Дата: 31.05.06 02:24
Оценка:
Здравствуйте, piranha, Вы писали:

P>При исполнении вот такого вот когда:


P>
P>ApplicationClass wordapp = new ApplicationClass();
P>Document worddoc;
P>OpenFileDialog of = new OpenFileDialog();

P>if (of.ShowDialog() == DialogResult.OK)
P>{
P>    object fileName = of.FileName;
P>    worddoc = wordapp.Documents.Open(ref fileName, ref missing, ref missing, ref missing,
P>        ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
P>        ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
P>}
P>


P>У меня выскакивает такая ошибка:


P>Unable to cast COM object of type 'Microsoft.Office.Interop.Word.ApplicationClass' to interface type 'Microsoft.Office.Interop.Word._Application'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{00020970-0000-0000-C000-000000000046}' failed due to the following error: Error loading type library/DLL. (Exception from HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)).


P>Что делать, куда копать?


попробуй так
worddoc = ((Microsoft.Office.Interop.Word._Application)wordapp).Documents.Open(ref fileName,....);
и вообще там часто приходится приводить типы к подходящим интерфейсам.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.