加载中…
个人资料
酷鱼
酷鱼
  • 博客等级:
  • 博客积分:0
  • 博客访问:1,861
  • 关注人气:153
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

SAP2000 API入门指南(三)在Excel中使用SAP2000 API

(2009-04-09 15:49:13)
标签:

sap2000

api

excel

vba

开发

分类: 建筑结构设计

作者:余承飞(酷鱼,QQ: 1931045538)

酷鱼的博客: http://blog.sina.com.cn/xcoolfish


在SAP2000 API入门指南(一)和(二)中,用的都是VS2008和C#,有朋友反映说工具太偏编程了,对于结构工程师来说,主要使用的还是Excel。确实,VS2008安装起来太麻烦的,而Excel应该是结构工程师的必备工具,如果用Excel来调用SAP2000,就不需要额外安装任何东西。

 

SAP2000自带的API文档,里面的例子都是Excel VBA编的。本文详细介绍如何在Excel中编写和使用SAP2000 API。

 

以Office 2003为例,先打开Excel,选择菜单“工具/宏/Visual Basic编辑器”,如下图所示:

SAP2000 <wbr>API入门指南(三)在Excel中使用SAP2000 <wbr>API

 

这时会出现“Microsoft Visual Basic - Book 1”窗口。在左侧目录树中双击“ThisWorkBook”,如下图所示。

SAP2000 <wbr>API入门指南(三)在Excel中使用SAP2000 <wbr>API

 

再给程序添加引用。选择菜单“工具/引用”,如下图所示:

SAP2000 <wbr>API入门指南(三)在Excel中使用SAP2000 <wbr>API

 

在出现的“引用”对话框中,找到“Sap2000v12”并勾选它,如下图所示。如果出现多项“Sap2000v12”,是因为安装过多次SAP2000 V12又没有卸载干净的原因,可通过下面的“定位”文件夹信息确定要勾选哪个。

SAP2000 <wbr>API入门指南(三)在Excel中使用SAP2000 <wbr>API

 

按“确定按钮”。在代码窗口中输入以下代码(这些代码都是API文档里带的):

Sub MyProgram()
   'dimension variables
      Dim SapObject As Sap2000.SapObject
      Dim SapModel As cSapModel
      Dim ret As Long

   'create an instance of the Sap2000 object
      Set SapObject = New Sap2000.SapObject

   'start the Sap2000 application
      SapObject.ApplicationStart

   'create the SapModel object
      Set SapModel = SapObject.SapModel

   'initialize model
      ret = SapModel.InitializeNewModel

   'call Sap2000 API functions here to perform desired tasks
   'in this example a new 2D frame is created from template
      ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200)

   'close the Sap2000 application, if desired
      SapObject.ApplicationExit False

   'set the objects to Nothing
   'at the end of your program ALWAYS terminate the objects in this manner
      Set SapModel = Nothing
      Set SapObject = Nothing
End Sub

Sub Main()
    Call MyProgram
End Sub

点击工具栏中的“运行”按钮,如下图所示:

SAP2000 <wbr>API入门指南(三)在Excel中使用SAP2000 <wbr>API

 

程序运行,SAP2000自动启动,绘制一个2D Frame,然后自动关闭。

 

关闭编程窗口,再将此Excel文档保存、关闭。需要注意的是,为了能运行已经编好的程序,在打开此Excel文档之前,要将宏安全性设为“中”,并在打开文档时选择“启用宏”。

 

如果你用的是Office 2007,默认情况下是找不到Visual Basic开发窗口的,需要先设置一下选项。先在菜单里选择“Excel选项”,如下图:

SAP2000 <wbr>API入门指南(三)在Excel中使用SAP2000 <wbr>API

 

然后在选项对话框中勾选“在功能区显示开发工具选项卡”,如下图所示:

SAP2000 <wbr>API入门指南(三)在Excel中使用SAP2000 <wbr>API

 OK, that's it! Enjoy!

追加:6年过去了,软件都更新了,我新写了一篇 《在Office 2010的Excel中使用SAP2000 v15的OAPI》

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有