Delphi interface not supported excel

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:

  1. Open the regedit editor.
  2. 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:

  1. Open the regedit editor.
  2. 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:

  1. Open the regedit editor.
  2. 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:

  1. Open the regedit editor.
  2. 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\"

Понравилась статья? Поделить с друзьями:
  • Delphi excel шрифт ячейки
  • Delphi excel шрифт жирный
  • Delphi excel шрифт в ячейке
  • Delphi excel ширина строки
  • Delphi excel ширина колонки