バージョン
Excel 2003
Windows XP
SimaPro 7.3.0 開発者バージョン
職場のコンピューターを使用しているが、このコンピューターの管理者にされ
た Excel/VBA で参照されるライブラリ: Visual Basic for Applications; Microsoft Excel 11.0 オブジェクト ライブラリ。OLE オートメーション; Microsoft Office 11.0 オブジェクト ライブラリ。Microsoft Forms 2.0 オブジェクト ライブラリ。COM+ 1.0 管理タイプ ライブラリ。COM MakeCab 1.0 タイプ ライブラリ。COM+ サービス タイプ ライブラリ。SimaPro ライブラリ
Me: 初心者
私がやろうとしていること 「ライフサイクル分析」情報のデータベースを保存する SimaPro というプログラムを使用しています。このプログラムには、COM インターフェイス機能が組み込まれています。プログラムは、実際に Excel/VBA をサポートしていると述べています (ただし、バージョンは指定されていません)。
このプログラムおよび/または COM サーバーを Excel に接続して、Excel を介して情報を操作できるようにしようとしています。
私がやった
こと 私はリストされている手順を実行しました:
-SimaPro
を開く
-COM サーバー
を登録する -次に、以下のコードを VBA に貼り付けて実行しようとしました。このコードはソフトウェア会社から提供されたサンプルコードで、SP.Server、SP.Alias、SP.Login、SP.OpenProject フィールドのみを編集しました (以下は編集したままです)。
実行時エラー: ' -2147418113
(8000ffff)':
自動化エラーの
壊滅的な失敗
質問 -
サーバー名は正しいですか? COMサーバーについて少し読んでいますが、それを入れる方法が正しい「形式」であるかどうかわかりません-
特定の登録済み/未登録のDLLと関係があるのでしょうか? 私は会社の IT 担当者やソフトウェア プログラマーと一緒に仕事をしてきました。誰も 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