Imports System.IO
Imports System.Runtime.InteropServices
Module Example
    <STAThread()> _
    Sub Main()
        Dim objApplication As StructureEditor.Application = Nothing
        Dim objStructureEditor As StructureEditor.SEECStructureEditor = Nothing
        Dim strUserName As String
        Dim strPassword As String
        Dim strGroup As String
        Dim strRole As String
        Dim strURL As String
        'Dim strItemId As String
        'Dim strItemRev As String
        'Dim strFileName As String
        Dim strRevisionRule As String
        Dim strFolderName As String
        Dim strSrcItemId As String
        Dim strSrcItemRev As String
        Dim strSrcFileName As String
        Dim strTgtItemId As String
        Dim strTgtItemRev As String
        Dim strTgtFileName As String
        'Dim RevisionRule As String
        Dim strPrntItemId As String
        Dim strPrntItemRev As String
        Dim strPrntFileName As String
        Dim strSrcFOAMember As String
        Dim strTgtFOAMember As String
        Try
            OleMessageFilter.Register()
            ' Start structure editor application
            objApplication = Activator.CreateInstance(Type.GetTypeFromProgID("StructureEditor.Application"))
            objStructureEditor = objApplication.SEECStructureEditor
            objApplication.Visible = True
            strUserName = "Username"
            strPassword = ""
            strGroup = ""
            strRole = ""
            strURL = "http://Servername:8085/tc"
            If objStructureEditor.ValidateLogin(strUserName, strPassword, strGroup, strRole, strURL) = 0 Then
                strPrntItemId = "081691"
                strPrntItemRev = "A"
                strPrntFileName = "a.asm"
                strRevisionRule = "Latest Working"
                strFolderName = ""
                If objStructureEditor.Open(strPrntItemId, strPrntItemRev, strPrntFileName, strRevisionRule, strFolderName) = 0 Then
                    strSrcItemId = "219350"
                    strSrcItemRev = "A"
                    strSrcFileName = "219350.par"
                    strSrcFOAMember = Nothing
                    strTgtItemId = "222777"
                    strTgtItemRev = "A"
                    strTgtFileName = "222777.par"
                    strTgtFOAMember = Nothing
                    objStructureEditor.SetReplaceSelected(strSrcItemId, _
                                                          strSrcItemRev, _
                                                          strSrcFileName, _
                                                          strTgtItemId, _
                                                          strTgtItemRev, _
                                                          strTgtFileName, _
                                                          strRevisionRule, _
                                                          strPrntItemId, _
                                                          strPrntItemRev, _
                                                          strPrntFileName, _
                                                          strSrcFOAMember, _
                                                          strTgtFOAMember)
                End If
            End If
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        Finally
            If Not objApplication Is Nothing Then
                ' Kill the instance of structure editor created
                objApplication.Quit()
            End If
            OleMessageFilter.Revoke()
        End Try
    End Sub
End Module