Версия
Excel 2003
Windows XP
Версия разработчика SimaPro 7.3.0
Использование рабочего компьютера, но на этом компьютере он был назначен администратором
Библиотеки, на которые есть ссылки в Excel / VBA: Visual Basic для приложений; Библиотека объектов Microsoft Excel 11.0; OLE-автоматизация; Библиотека объектов Microsoft Office 11.0; Библиотека объектов Microsoft Forms 2.0; COM + 1.0 Admin Type Library; COM MakeCab 1.0 Библиотека типов; Библиотека типов услуг COM +; Библиотека SimaPro
Я: Начинающий
Что я пытаюсь сделать
Я использую программу под названием SimaPro, которая хранит базы данных «Анализ жизненного цикла». Программа имеет встроенный интерфейс COM. Программа заявляет, что она действительно поддерживает Excel / VBA (но не указывает версии).
Я пытаюсь соединить эту программу и / или COM-сервер для Excel, чтобы я мог взаимодействовать с информацией через Excel.
Что я сделал
Я выполнил процедуру, которую они перечислили:
-Открытый SimaPro
-Регистрация COM-сервера
- Затем я вставил приведенный ниже код в VBA и попытался запустить его. Этот код является примером кода, предоставленного компанией-разработчиком программного обеспечения. Я отредактировал только поля SP.Server, SP.Alias, SP.Login и SP.OpenProject (ниже редактируется).
Что случилось
Ошибка времени выполнения: '-2147418113 (8000ffff)':
Ошибка автоматизации
Катастрофический провал
Вопрос (ы)
-Это имя сервера, верно? Я немного читал на COM-серверах, и я не знаю, находится ли способ, которым я это поместил, в правильной «форме»
-Может ли это иметь отношение к определенным зарегистрированным / незарегистрированным DLL? Я работал с ИТ-специалистами компании и программистами. Никто из них не был хорошо знаком с COM, но один человек предположил, что проблема может быть в DLL.
Спасибо за вашу помощь !!
Вот код, который я ввожу:
Sub CreateProcess()
Dim SP As SimaProServer
Dim PC As Process
Dim PC2 As Process
Dim PL As ProcessLine
Dim Param As ParamLine
Dim Subs As Substance
Set SP = New SimaProServer
SP.Server = "Local Server"
SP.Alias = "C:\Documents and Settings\All Users\Documents\SimaPro\Database\"
SP.Database = "Professional"
SP.OpenDatabase
SP.Login "", ""
SP.OpenProject "PROJECT", ""
' Not project's actual name, not allowed to state name of project
SP.CreateSubstance "Air", Subs
Subs.CASNumber = "4-5-13"
Subs.Name = "Some substance"
Subs.DefaultUnit = "kg"
Subs.Update
SP.CreateProcess ptMaterial, PC
Set PL = PC.AddLine(ppProduct, -1)
PL.ObjectName = "Steel 2"
PL.UnitName = "kg"
PL.Amount = "2"
PL.Comment.Add ("My new created process")
PL.CategoryPath = "Chemicals\inorganic"
PC.Update
' create second material process Case
SP.CreateProcess ptMaterial, PC2
Set PL = PC2.AddLine(ppProducts, 0)
PL.ObjectName = "Case 2"
PL.UnitName = "kg"
PL.Amount = "10"
Set Param = PC2.AddParamLine(ptInputParameter, -1)
Param.Name = "A"
Param.Value = "2,3"
' add input from Steel
Set PL = PC2.AddLine(ppMaterialsFuels, -1)
' input from steel
PL.SetProduct "Introduction to SimaPro 7", ptMaterial, "Steel 2"
PL.Amount = "8"
PL.UnitName = "kg"
Set PL = PC2.AddLine(ppAirborneEmissions, -1)
' input from steel
PL.SetSubstance "Some substance", ""
PL.Amount = "A+1"
PL.UnitName = "kg"
PC2.Update
SP.Logout
SP.CloseDatabase
Set SP = Nothing
End Sub