The problem was that the previous version of Excel was uninstalled incorrectly on the machine. To fix it, I used the following instructions from Microsoft:
- Open the regedit editor.
- Open
HKEY_CLASSES_ROOT >> TypeLib >> {00020813-0000-0000-C000-000000000046}
(The Excel PIA key is {00020813-0000-0000-C000-000000000046})
3. Delete the last version folder (Excel 2013 is 1.8, Excel 2016 is 1.9)
A similar fix can be applied to other Office products:
Excel
HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}
- 1.7 is for Office 2010
- 1.8 is for Office 2013
- 1.9 is for Office 2016
Word HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}
- 8.5 is for Office 2010
- 8.6 is for Office 2013
- 8.7 is for Office 2016
PowerPoint HKEY_CLASSES_ROOTTypeLib{91493440-5A91-11CF-8700-00AA0060263B}
- 2.a is for Office 2010
- 2.b is for Office 2013
- 2.c is for Office 2016
Outlook HKEY_CLASSES_ROOTTypeLib{00062FFF-0000-0000-C000-000000000046}
- 9.4 is for Office 2010
- 9.5 is for Office 2013
- 9.6 is for Office 2016
Here’s a sample regedit file to fix the Registry for Office 2016:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}1.9]
"PrimaryInteropAssemblyName"="Microsoft.Office.Interop.Excel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"
@="Microsoft Graph 16.0 Object Library"
[HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}1.9]
[HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}1.9win64]
@="C:\Program Files\Microsoft Office\Office16\EXCEL.EXE"
[HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}1.9FLAGS]
@="0"
[HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}1.9HELPDIR]
@="C:\Program Files\Microsoft Office\Office16\"
[HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}8.7]
"PrimaryInteropAssemblyName"="Microsoft.Office.Interop.Word, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"
@="Microsoft Graph 16.0 Object Library"
[HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}8.7]
[HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}8.7win64]
@="C:\Program Files\Microsoft Office\Office16\MSWORD.OLB"
[HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}8.7FLAGS]
@="0"
[HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}8.7HELPDIR]
@="C:\Program Files\Microsoft Office\Office16\"
Solution 1
The problem was that the previous version of Excel was uninstalled incorrectly on the machine. To fix it, I used the following instructions from Microsoft:
- Open the regedit editor.
- Open
HKEY_CLASSES_ROOT >> TypeLib >> {00020813-0000-0000-C000-000000000046}
(The Excel PIA key is {00020813-0000-0000-C000-000000000046})
3. Delete the last version folder (Excel 2013 is 1.8, Excel 2016 is 1.9)
A similar fix can be applied to other Office products:
Excel
HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}
- 1.7 is for Office 2010
- 1.8 is for Office 2013
- 1.9 is for Office 2016
Word HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}
- 8.5 is for Office 2010
- 8.6 is for Office 2013
- 8.7 is for Office 2016
PowerPoint HKEY_CLASSES_ROOTTypeLib{91493440-5A91-11CF-8700-00AA0060263B}
- 2.a is for Office 2010
- 2.b is for Office 2013
- 2.c is for Office 2016
Outlook HKEY_CLASSES_ROOTTypeLib{00062FFF-0000-0000-C000-000000000046}
- 9.4 is for Office 2010
- 9.5 is for Office 2013
- 9.6 is for Office 2016
Here’s a sample regedit file to fix the Registry for Office 2016:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}1.9]
"PrimaryInteropAssemblyName"="Microsoft.Office.Interop.Excel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"
@="Microsoft Graph 16.0 Object Library"
[HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}1.9]
[HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}1.9win64]
@="C:\Program Files\Microsoft Office\Office16\EXCEL.EXE"
[HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}1.9FLAGS]
@="0"
[HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}1.9HELPDIR]
@="C:\Program Files\Microsoft Office\Office16\"
[HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}8.7]
"PrimaryInteropAssemblyName"="Microsoft.Office.Interop.Word, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"
@="Microsoft Graph 16.0 Object Library"
[HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}8.7]
[HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}8.7win64]
@="C:\Program Files\Microsoft Office\Office16\MSWORD.OLB"
[HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}8.7FLAGS]
@="0"
[HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}8.7HELPDIR]
@="C:\Program Files\Microsoft Office\Office16\"
Solution 2
We had this same issue and found that: The above solution only works if office is physically installed, if you use O365 and it’s click to run apps the above solution will not work. You will need to install the apps physically and not run them as click to run.
Comments
-
When using an old piece of Delphi code which outputs some text into Excel or Word, I encountered the error «Interface not supported» on one machine. How can I fix this?
Recents
Related
← →
MM
(2004-01-30 15:59)
[0]
Помогите, пожалуйста, разобраться отчего может возникать сообщение «Interface not supported» при попытке создать из программы отчет в Excel. Отчет формирует макрос, который вызывается из программы.
← →
Тимохов
(2004-01-30 16:03)
[1]
Код
← →
Goida
(2004-01-30 16:05)
[2]
Может у тебя в программе используется раннее связывание и тип класса Excel старше того, который у тебя установлен?
← →
Тимохов
(2004-01-30 16:05)
[3]
> Может у тебя в программе используется раннее связывание
> и тип класса Excel старше того, который у тебя установлен?
Вы думаете автор знает, что такое ранне связывание?
Лучше пусть код даст, а мы подумаем…
← →
Goida
(2004-01-30 16:18)
[4]
Тогда спросим так: ты для работы с Excel используешь тип TExcelApplication или OleVariant с CreateOLEObject?
← →
MM
(2004-01-30 16:29)
[5]
Использую раннее.
Создаю лист, в которую передаю свой набор данных. Затем запускаю макрос
App.Run(FMacroFile + "!" + MacroModule +
"." + MacroName)
который создает второй лист, на котором и формируется отчет.
← →
Тимохов
(2004-01-30 16:31)
[6]
Если ранне, то ты сам импортировал библиотеку типов?
Может прав Goida © (30.01.04 16:05) [2]?
← →
MM
(2004-01-30 16:32)
[7]
Прошу прощения. Забыл уточнить, что эта ситуация проявляется только у одного клиента, у всех остальных все работает. ОС XP, Officr 2000.
← →
Goida
(2004-01-30 16:34)
[8]
> MM
Сравни версии Excel с версией, для которой создан тип. Они различаются в зависимости от версии Office.
← →
Тимохов
(2004-01-30 16:34)
[9]
Когда раньше пользовался ранним связыванием часто такое же было.
Теперь — только позднее, проблем стало существенно меньше.
← →
MM
(2004-01-30 16:38)
[10]
App: Excel97.TExcelApplication
← →
Тимохов
(2004-01-30 16:41)
[11]
А у остальных пользователей (у кого работает) какой офис?
← →
MM
(2004-01-30 16:41)
[12]
Их больше 1000 по всей стране, соответственно и офисы разные.
← →
Goida
(2004-01-30 16:45)
[13]
> MM © (30.01.04 16:29) [5]
> Использую раннее.
> Создаю лист, в которую передаю свой набор данных. Затем
> запускаю макрос
> App.Run(
FMacroFile + «!» + MacroModule +
> «.» + MacroName
)
> который создает второй лист, на котором и формируется отчет.
Может ошибка в выделенной строке? Excel ее не понимает?
← →
TUser
(2004-01-30 16:50)
[14]
> Их больше 1000 по всей стране, соответственно и офисы разные.
Проблема, стало быть, не в проге, а в этом юзере. Что-то у него не так с виндой/оффисом/руками.
← →
Тимохов
(2004-01-30 16:57)
[15]
Все-таки это наверное проблемы совместимости твоей библиотеки типов и офисов пользователей.
Я в свое время делал так (до того, как ушел на позднее связываение) — имел несколько библиотек типов, и просто использовал одну из них, в зависимости от типа установленного офиса.
← →
Fay
(2004-01-30 20:14)
[16]
И какое это было связывание?
← →
ММ
(2004-01-31 12:23)
[17]
Проблема, стало быть, не в проге, а в этом юзере. Что-то у него не так с виндой/оффисом/руками.
Естественно! Моя задача доказать им их кривизну, а еще лучше воспроизвести ситуацию, при которой возникает данное сообщение. Допустим неустановлено что то, удалено с машины что то и т.п.
The problem was that the previous version of Excel was uninstalled incorrectly on the machine. To fix it, I used the following instructions from Microsoft:
- Open the regedit editor.
- Open
HKEY_CLASSES_ROOT >> TypeLib >> {00020813-0000-0000-C000-000000000046}
(The Excel PIA key is {00020813-0000-0000-C000-000000000046})
3. Delete the last version folder (Excel 2013 is 1.8, Excel 2016 is 1.9)
A similar fix can be applied to other Office products:
Excel
HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}
- 1.7 is for Office 2010
- 1.8 is for Office 2013
- 1.9 is for Office 2016
Word HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}
- 8.5 is for Office 2010
- 8.6 is for Office 2013
- 8.7 is for Office 2016
PowerPoint HKEY_CLASSES_ROOTTypeLib{91493440-5A91-11CF-8700-00AA0060263B}
- 2.a is for Office 2010
- 2.b is for Office 2013
- 2.c is for Office 2016
Outlook HKEY_CLASSES_ROOTTypeLib{00062FFF-0000-0000-C000-000000000046}
- 9.4 is for Office 2010
- 9.5 is for Office 2013
- 9.6 is for Office 2016
Here’s a sample regedit file to fix the Registry for Office 2016:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}1.9]
"PrimaryInteropAssemblyName"="Microsoft.Office.Interop.Excel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"
@="Microsoft Graph 16.0 Object Library"
[HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}1.9]
[HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}1.9win64]
@="C:Program FilesMicrosoft OfficeOffice16EXCEL.EXE"
[HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}1.9FLAGS]
@="0"
[HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}1.9HELPDIR]
@="C:Program FilesMicrosoft OfficeOffice16"
[HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}8.7]
"PrimaryInteropAssemblyName"="Microsoft.Office.Interop.Word, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"
@="Microsoft Graph 16.0 Object Library"
[HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}8.7]
[HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}8.7win64]
@="C:Program FilesMicrosoft OfficeOffice16MSWORD.OLB"
[HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}8.7FLAGS]
@="0"
[HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}8.7HELPDIR]
@="C:Program FilesMicrosoft OfficeOffice16"
The problem was that the previous version of Excel was uninstalled incorrectly on the machine. To fix it, I used the following instructions from Microsoft:
- Open the regedit editor.
- Open
HKEY_CLASSES_ROOT >> TypeLib >> {00020813-0000-0000-C000-000000000046}
(The Excel PIA key is {00020813-0000-0000-C000-000000000046})
3. Delete the last version folder (Excel 2013 is 1.8, Excel 2016 is 1.9)
A similar fix can be applied to other Office products:
Excel
HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}
- 1.7 is for Office 2010
- 1.8 is for Office 2013
- 1.9 is for Office 2016
Word HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}
- 8.5 is for Office 2010
- 8.6 is for Office 2013
- 8.7 is for Office 2016
PowerPoint HKEY_CLASSES_ROOTTypeLib{91493440-5A91-11CF-8700-00AA0060263B}
- 2.a is for Office 2010
- 2.b is for Office 2013
- 2.c is for Office 2016
Outlook HKEY_CLASSES_ROOTTypeLib{00062FFF-0000-0000-C000-000000000046}
- 9.4 is for Office 2010
- 9.5 is for Office 2013
- 9.6 is for Office 2016
Here’s a sample regedit file to fix the Registry for Office 2016:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}1.9]
"PrimaryInteropAssemblyName"="Microsoft.Office.Interop.Excel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"
@="Microsoft Graph 16.0 Object Library"
[HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}1.9]
[HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}1.9win64]
@="C:\Program Files\Microsoft Office\Office16\EXCEL.EXE"
[HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}1.9FLAGS]
@="0"
[HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}1.9HELPDIR]
@="C:\Program Files\Microsoft Office\Office16\"
[HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}8.7]
"PrimaryInteropAssemblyName"="Microsoft.Office.Interop.Word, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"
@="Microsoft Graph 16.0 Object Library"
[HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}8.7]
[HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}8.7win64]
@="C:\Program Files\Microsoft Office\Office16\MSWORD.OLB"
[HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}8.7FLAGS]
@="0"
[HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}8.7HELPDIR]
@="C:\Program Files\Microsoft Office\Office16\"