"Can’t not create activeX component"

Hi everyone,

I have a problem as below:

I used Microsoft Visual Basic 2010 to make Macro and I used the following to get the end-force:

objOpenSTAAD2 = CreateObject("OpenSTAAD.Output.1")

When programming I put the reference to file: “Interop.OPENSTAADLib.dll”

The Macro run well for some computers but for some computers specially for Windows 7 there is a massage that:

“Can’t not create activeX component”

Please support us to solve this problem.

Regards,

Thai

  • You seem to be using the old OpenSTAAD method which is not part of recent STAAD.Pro installations. It has been replaced by the far more powerful and comprehensive OpenSTAAD Application object. Please refer to the OpenSTAAD documetnation in the Help menu.

    Your object should be instantiated using:-

    Dim objOpenSTAAD As Object
    'Get the application object
    Set objOpenSTAAD = GetObject( , "StaadPro.OpenSTAAD")

    'Get the file folder
    Dim strFileFolder As String
    objOpenSTAAD.GetSTAADFileFolder strFileFolder

    Note that in using the new OpenSTAAD Application object, you may need to change some of your OpenSTAAD calls as they now are collated in sub objects such as Geometry or Output functions.



  • The method explained in your reply works perfect in VBA. However, by looking at the snapshot provided by Thai, the CreateObject call is made from VB.Net (within Visual Studio). I am also trying to get OpenSTAAD object using VB.Net (Not VBA) but I am encountering the exact exception. Please refer to the snapshot below.

    Your help in resolving this issue is highly appreciated. I tried searching in the internet about this issue and especially in relation to OpenSTAAD but sad to say I ended up with a very limited (rather nil) information.

  • Hi, Are you using Win10 system? I came into same problem in win10, But in win7 it works well.

    "The component failed to retrieve the CLSID of {1797F52C - c5e2-4f1-b524-f5a107ea6453} in the COM class factory"

     I referenced the "C:\SProV8i SS5\OpenSTAAD\OpenSTAADUI.tlb" but, I can use it in win10. I allways go to error when it goes

      Dim staad As New OpenSTAAD

  • Hi,

    I have been facing this issue as well (please look at my reply to Mr. Carlos Aguera) and I have been trying to figure out the solution for quite some time now. Surprisingly, I can now instantiate the OpenSTAAD object from within Visual Studio. However, if you are running the debug mode, chances are that, you'll repeatedly get this exception. Instead, publish the AddIn and try to check if it works.

    Further if you are assigning the workbook name (or) worksheet name to a variable, make sure that the name of the workbook under consideration is assigned before step in to the code. Most cases, if the workbook is not active, then a null will be assigned to the wb variable.

    'VB Comment: Suggestion by Trial and Error NOT by expertise Slight smile