Вы находитесь на странице: 1из 2

Private Sub CommandButton1_Click()

Dim objOpenSTAAD As Object


Dim name As String
Dim fname As String
Dim ostaad As String
Dim mno(7) As Long
Dim dw As Double
Dim db1 As Double
Dim db2 As Double
Dim j As Double
Dim k As Double
Dim dist(0 To 6) As Double
Dim loadcase(7 To 9) As Long
Dim FA(0 To 5) As Double
Dim x As Integer

dw = Sheets("LOAD_EP").Range("a19")
db1 = Sheets("LOAD_EP").Range("c25")
db2 = Sheets("LOAD_EP").Range("e25")

For i = 1 To 7
mno(i) = i
Next i

For g = 7 To 9
loadcase(g) = g
Next g
x = 0
fname = InputBox("Enter name of the staad file with extension .std")

name = Application.ActiveWorkbook.Path & "\" & fname

'open staad pro


ostaad = "C:\SProV8i SS6\STAAD\Staadpro.exe"

ActiveWorkbook.FollowHyperlink ostaad

'Get the application object


Set objOpenSTAAD = GetObject(, "StaadPro.OpenSTAAD")
'Open the file
objOpenSTAAD.OpenSTAADFile name
'run analysis
objOpenSTAAD.analyze

'Get Member Intermediate Forces


For i = 1 To 7
If i = 1 Or i = 3 Then
j = db1
End If
If i = 2 Or i = 4 Then
j = db2
End If
If i = 5 Or i = 6 Or i = 7 Then
j = dw
End If
For g = 0 To 6
dist(g) = g * j / 6
Next g
For l = 7 To 9
For k = 0 To 6
objOpenSTAAD.Output.GetIntermediateMemberForcesAtDistance mno(i), dist(k),
loadcase(l), FA

Cells((143 + x), 3) = dist(k)


Cells((143 + x), 4) = FA(0)
Cells((143 + x), 5) = FA(1)
Cells((143 + x), 6) = FA(5)
x = x + 1

Next k
Next l
Next i

Set objOpenSTAAD = Nothing

MsgBox "Member forces extracted"

End Sub

Вам также может понравиться