Следуя указаниям по этой ссылке , я поместил пользовательский элемент управления в компонент ActiveX.Создайте код успешно, и я могу подтвердить, что компонент COM зарегистрирован в реестре Windows.
Имя класса, упомянутое в реестре, - «MyChartsControl.UserControl1».
После этого я пытаюсь добавить свойActiveX Обернутый пользовательский элемент управления в объекте PowerPoint Slide с использованием следующего кода:
powerpointSlideObject.Shapes.AddOLEObject(100, 100, 111, 222, ClassName:="MeridiaChartsControl.UserControl1")
ИЛИ с использованием ProgId:
powerpointSlideObject.Shapes.AddOLEObject(100, 100, 111, 222, ClassName:="ActiveXTestLibrary.UserControl")
Код вызывает исключение, указанное ниже:
Error HRESULT E_FAIL has been returned from a call to a COM component.
Хотя следующий код отлично работает с тем же объектом слайда, если я добавляю картинку:
powerpointSlideObject.Shapes.AddPicture("d:\\temp\\image1.png", MsoTriState.msoFalse, MsoTriState.msoCTrue, 400, 150)
Любое решение или обходной путь будут высоко оценены.