EQUO MMS Project

SoftCut Wins a Project with USACE & Interdyne to design a Maintenance Management System.

The Solution is Called EQUO and it’s mainly for Equipment Maintenance Tracking, Inventory, Work Orders, Material Management, Labor Management … Etc.



SoftVue For SharePoint 2010

SoftVue Redlining Solution is an innovation in the Engineering Drawings Markup process which enables your company to take the full advantage of all Drawings stored on BentleyProjectWise EDMS as well as drawings stored on SharePoint Libraries and route it, as per the Project needs, to Engineers who comment, Consolidate the document.
It also provides the ability to Track each document Markup history within the Project.

This slideshow requires JavaScript.


 How it Works

  • Administrators (or Document Owners) Designs the Markup Route Template (Who from which Department and Roles).
  • Multiple Documents can be Associated with Prepared Templates at once based on the Project Requirements.
  • Whether the Document has a template Associated to it or not; users can Open it in SoftVue Application and start creating Layers with Markup Objects.
  • Based on the Role of the User Some Validations applied to enforce business rules.
  • Document Owners can publish a PDF with Selected Layers and Objects and Stamp it with the Document Attributes from the DMS System (ProjectWise) or SharePoint Server.
  • Tracking and System Reports can be generated throughout the process lifecycle.

Welding Manager Supports any custom Report Type in Version 7

Welding Manager Solution Supports now the ability to add any new Testing Report Type Such as PWHT, HT, DT …etc and be managed and tracked the same way RT and VT are Tracked.

Visit Welding Manager Website Here

VBA: Extract Folders & Sub Folders list to csv file


Sub ListFolder(sFolderPath As String)
    Dim FS As New FileSystemObject
    Dim FSfolder As Scripting.Folder
    Dim subfolder As Scripting.Folder
    Dim i As Integer
    Set FSfolder = FS.GetFolder(sFolderPath)
    For Each subfolder In FSfolder.SubFolders
        i = i + 1
    Open “C:\mycsvFile.csv” For Append Access Write As #1
    Print #1, “””” & subfolder + “\”””
    Close #1
         Debug.Print “””” & subfolder + “\”””
         ListFolder (subfolder)
    Next subfolder
    Set FSfolder = Nothing
End Sub

Call ListFolder(“C:\myFolder\”)

Get a Total Number of Pages for Excel Workbook

This Code Calculates the Total Number of pages to be printed on an excel workbook as well as each sheet num of pages:

Sub NumberOfPrintedPages()
    numpages = 0
    sht1 = 0
    sht2 = 0
    sht3 = 0
For i = 1 To Worksheets.Count
    Worksheets(i).DisplayAutomaticPageBreaks = True
    HorizBreaks = Worksheets(i).HPageBreaks.Count
    hpages = HorizBreaks + 1
    ‘VertBreaks = Worksheets(i).VPageBreaks.Count
    ‘VPages = VertBreaks + 1
    numpages = numpages + hpages
    Worksheets(i).DisplayAutomaticPageBreaks = False
    Select Case i
        Case 1
            sht1 = hpages
        Case 2
            sht2 = hpages
        Case 3
            sht3 = hpages
    End Select
    ‘Cells(1, 1) = numpages
    MsgBox numpages & ” Pages in This Work Book” & vbCr & sht1 & ” Pages in Sheet1″ & vbCr & sht2 & ” Pages in Sheet2″ & vbCr & sht3 & ” Pages in Sheet3″
End Sub

How To: Make the Service Starts Automatically After Install

The Following Code should be added on the Project Installer

Imports System.ServiceProcess

Protected Overrides Sub OnCommitted(ByVal savedState As System.Collections.IDictionary)


Dim myController As New ServiceController(“yourServiceName”)



End Sub

VBA : Read From XLS File and Return Recordset based on a given Select Statement

Usage Sample:

    Dim oRs As New ADODB.Recordset
    If cmbGov.Text = “” Then
        Set oRs = getXLSSet(“Select * from [Area$]”)
        Set oRs = getXLSSet(“Select * from [Area$] where Gov = ‘” & cmbGov.Text & “‘”)
    End If
    Dim y As Integer
    For y = 1 To oRs.RecordCount
        frmhome.cmbArea.AddItem (oRs.Fields(0).Value)

‘Function to read XLS Files based on a given select statement
Public Function getXLSSet(sourceStr As String) As Recordset
On Error GoTo Catch
    Dim oRs As ADODB.Recordset, oConn As ADODB.Connection, sConString As String, vValue As Variant
    sConString = “Provider= Microsoft.Jet.OLEDB.4.0;” & ” Data Source=” & sXLFile & “;Extended Properties=Excel 8.0;”
    Set oConn = New ADODB.Connection
    With oConn
        .CursorLocation = adUseClient
        .Open sConString
    End With
    Set oRs = New ADODB.Recordset
    With oRs
        .CursorType = adOpenStatic
        .CursorLocation = adUseClient
        .LockType = adLockPessimistic
        .Source = sourceStr
        .ActiveConnection = oConn
    End With
    ”Work with the RS
        Set getXLSSet = oRs
    Exit Function
    ‘MsgBox “Can’t Process Your Request” & vbCr _
    ‘& “Please Check you Levels or Excel File”
End Function

MicroStation : Enable/Disbale Fill From VBA

‘Enable Disable Fill
Private Sub btnFill_Click()
   If FillOnOff = False Then
    FillOnOff = True
    FillOnOff = False
   End If
End Sub

SharePoint: Save SharePoint List as Template

Stop and Application from the code knowing the Name

The Following Lines Loops on all running processes and find my application by name and stop it

Dim p As System.Diagnostics.Process
For Each p In System.Diagnostics.Process.GetProcesses(path)
If p.ProcessName.StartsWith(“my application name”) Then
End If