Objekterstellung durch AktivX-Komponente
07.02.2022 16:01:27
AL
ich bräuchte Hilfe hinsichtlich eines Problems mit der Objekterstellung durch AktivX-Komponente. Folgender Hintergrund:
Mithilfe eines Excelprogramms wird über ein Makro das Programm RFEM der Firma Dlubal (Version 5.26) geöffnet, ein Körper erzeugt, belastet und berechnet und die Ergebnisse wieder in Excel zurück gelesen. Bisher hat dieser Vorgang gut funktioniert.
Seit einem Windowsupdate erhalten gewisse Benutzer (seltsamerweise nicht alle !) die Fehlermeldung "Objekterstellung durch AktiveX-Komponente nicht möglich". Leider lässt sich zwischen den Rechnern kein Unterschied feststellen. Das Problem konnte auf die erste Subroutine (siehe unten) eingeschränkt werden, die das Programm RFEM startet.
Eine weitere Seltsamkeit ist, dass wenn man eine nackte Exceldatei öffnet und den unten aufgeführten Code in einem Modul einfügt (und in VBA > Extras > Verweise > Dlubal RFEM Type Library v3.4 wählt) und startet, wird keine Fehlermeldung ausgegeben. Das Programm RFEM wird ohne Probleme geöffnet. Wichtig hierbei ist, dass Excel nicht als xlsm, xls oder ähnliches gespeichert wird. Sobald man die nackte Exceldatei speichert, kommt die Fehlermeldung "Objekterstellung durch AktiveX-Komponente nicht möglich".
Kann sich jemand einen Reim darauf machen? Ich bin mit meinem Latein am Ende :(
Danke euch.
Option Explicit
Public RFApp As RFEM3.Application
Public RFStruct As RFEM3.Structure
Public RFData As RFEM3.IrfStructuralData
Dim RFLoad As RFEM3.IrfLoadCase
Dim RFRes As RFEM3.IrfResults2
Dim RFLRes As RFEM3.IrfLoadResults2
Dim strRFVersion, strRFPath As String
Public intOffset As Integer
Public i As Integer
Public strZelle As String
Private Const SE_ERR_NOASSOC = 31
Private Const SE_ERR_NOTFOUND = 2
Sub RFEM_Starten()
Dim Struktur As RF_STRUCTURE_TYPE
On Error GoTo e
Set RFStruct = CreateObject("RFEM3.Structure")
Set RFApp = RFStruct.rfGetApplication
strRFVersion = RFApp.rfGetAppVersion
'strRFPath = RFApp.rfGetAppPath
RFApp.rfShowApplication
'RFApp.rfLockLicence
Set RFData = RFStruct.rfGetStructuralData
RFStruct.rfClean
Struktur = STRUCTURE_PLATE_XY
RFData.rfPrepareModification
RFData.rfSetStructureType Struktur
RFData.rfFinishModification
e: If Err.Number 0 Then MsgBox Err.Description, , Err.Source
RFApp.rfUnlockLicence
Set RFData = Nothing
Set RFApp = Nothing
End Sub