土木在线论坛 \ 水利工程 \ 水利造价 \ 02套单价破解 (模板)讲座

02套单价破解 (模板)讲座

发布于:2009-05-07 19:23:07 来自:水利工程/水利造价 90 46956 [复制转发]

谁有以前的那个套单价1.4版的,有的同志发给我一个,感激不尽, 想研究一下








//www.tuffewiktor.com/content/viewthread.php?tid=1173674&extra=%3D1&ofid=918&page=5
91楼.......讲.
模板文件的的表、其中有.jpg
这是模板的结构。里面有几张表隐藏了,你可以按以下步骤来显示他,菜单->工具->宏->
宏辑器打开.jpg
下面显示的是所有的表
显示隐chang的表.jpg
上图中的最后一行visible 便是控制表隐藏与否的关键,你可以将其改为
改表显示.jpg
在模板文件中,里面的数据大家先不要动.现在主要是了解里面的结构,02套单价程序,就是把这个文件的内容复制到新建工程文件的初始内容,其中有一个建模便是我们要修改的内容
(单价分析表)其实我们投标时这个模板与我们要求的主要内容是差不多的,大家只要修改一下表头就可以了,
在各省的定额与这个模板差不多,有的只是多了一项两项的,
以山东水利定额为例,山东定额内容里多了一项 其他费用(%),其计算式为,(人+材+机)*其它费用
我们可以改成这样,
投标模板.jpg
同样安模也可以改
模板文件里有一个 费率表大家可以看一下,了解一下整个文件的结构
模板的修改大家只要动一下表头内各项的位置就行了,“%%”里面的文字暂时就不要动了,这样就可以自定义模板了。[当然要改动的话,在你以后了解了整个程序也是可以的,]
当然在主程序的变动,我们以后再讲.
主程序。。。在02单价的安装目录下有一个文件,SL0208、大家把这个文件改为SL0208.xls
运行他,这时需要密码,(密码我不说了,大家自已去找,)
输入密码,,,,
编制一个工程单价
在新建的单价文件里打开 菜单->工具->宏->vB编辑器
打开VBAProject(SL0208),这时要密码,输入密码
在EXCEL对象里有一个表,叫定额,我们这几天主要是来了解它,了解数据的格式和结构
4.jpg
5.jpg
修改表定额使之可见
当然大家也可去掉整个VBA工程的保护,
切换到预算套单价工作薄,这时可以看到工作薄里 定额工作表已经显示出来了,
大家可以看到
4.jpg
在02单价V1.3中,网友提出的几个问题,是都可以在这儿解决的.
第一列数据是"定额电算编号",这个数据是我们定额编号,大家怎细看数据的前面多了一位数,这个数据是
用来曲别定额章节的,以它来确定不同的费率,比如:安装工程\建筑工程等。
第二列数据是 "电算编号" ,这个数据是与定额中的电算编号一样,每一种材料\人工\机械都有一个唯一的编号,(它的作用一是,在计算时可以提供判断依据,L表示人\M表示材料\P表示机械, 当然大家也可以加一个其它的字母来代表我们新加的项目。别外一个作用是大家如果是用手工输入定额库的话,可以用,if +VLOOKUP函数写一个东东来简化输入的过程,这样行先建好电算编号,以后就可以只输编号不再用打汉字了。
不过不提倡这种输入定额的方法。另外有一个方法,是利用单位的软件导出电子表格的单价分析表进行加工,虽然不全,但是只要把多选一的部分再加进去。总比一条一条输入速度要快[讲座结束时,再送几个函数])
第三列数据是 “数量”它是与后面第五列数据是对应的,这个就没什么好说的了。
第四列数据 暂且不说
第五列数据是 “项目名称”它是定额里每一项的项目名称,每一项均与每三列相对应。按顺序输入
后面的几列大家一看就知道了。不讲了
下面大家选择条目工作表,第六列至第十列是隐藏的,把这几列用鼠标拉开,可能经看到
5.jpg
位置列 共有2个数据:大家看下,1、定额:是指在本程序中工作表的名称,[当大家也可以改成省定额,什么的,但是现在先不要改,]。 2、这第2个数据是本项定额在定额工作表中开始的行号。。
3、项数,是指自第n行开始本条定额一共多少项。
到这里你已经看出定额大致结构了,
其它几列,就不讲了,大家自已看吧,
在02单价中,所指出的错误,就是在这里改的,现在同志们可以试试修改成几条本省的定额,然后再运行一下,是不是有点意思了。
:)
大家不要指望我能讲多细,因为我也是从5.1 才开始学习的,希望大家多交流,
5月9日............................................
改后的模板.jpg
大家看下,表头的位置是可以随意改动的,我们可以多做几个模板,分别命名为AHTB.CFB、AHTB1.CFB、AHTB2.CFB等。最简单的方法是在做单价之前把所要用的模板名字改为AHTB.CFB
就可以了。
模块1.jpg
在这里有一个 CreateResultFile程序
大家看以下一段代码
'释放造价模板文件至临时文件夹,文件名为ahsl.c
Public Sub FreeCostFilePat(rFilePath As String)
Dim temPath As String, str As String, i As Integer
Dim wor As Workbook, flm As String, inputdata As String
Dim myfile As SectionedFile
Dim strTemp As String ' 临时文件夹

'安装后模板文件放置在工作薄同目录下
Select Case gFileModel
Case 1 '投标模板
temPath = GetCurrentPath & "ahtb.cfb" ‘ 根据我们的选择,定义模板文件的名字[另外我们可以在这里再加入一个询问窗口 和 IF THNE 语句再增加几个模板
Case 2 '清单模板
temPath = GetCurrentPath & "ahqd.cfb" '清单模板文件的路径 &清单文件名
End Select
'检查模板文件是否存在
If VBA.Dir(temPath) = "" Then
MsgBox "模板文件不存在或被移动,建议重新安装本软件。", vbOKOnly + vbExclamation, TipCaptionStr
End
End If
If IsFileAlreadyOpen(temPath) Then
MsgBox "创建单价文件错误。模板文件正在使用。", vbOKOnly + vbInformation, TipCaptionStr
End
End If
'获得系统临时文件夹
strTemp = String(100, Chr$(0))
GetTempPath 100, strTemp
strTemp = Left$(strTemp, InStr(strTemp, Chr$(0)) - 1)
If VBA.Right(strTemp, 1) <> "\" Then strTemp = strTemp & "\"
'检测释放的模板文件是否存在和打开
If VBA.Dir(strTemp & "ahsl.c") <> "" Then
If IsFileAlreadyOpen(strTemp & "ahsl.c") Then
MsgBox "创建单价文件错误。模板文件正在使用。", vbOKOnly + vbInformation, TipCaptionStr
End
Else
Kill strTemp & "ahsl.c"
End If
End If
'释放模板文件到临时文件夹
ReDim myfile.Files(1)
ReDim myfile.Files(1).Bytes(1 To 10)

Open temPath For Binary As #1
flm = strTemp & "ahsl.txt"
Open flm For Binary As #2
'头文件字节数10
Get #1, 1, myfile.Files(1).Bytes
Put #2, 1, myfile.Files(1).Bytes
Close #2
Open flm For Input As #2
Line Input #2, inputdata
If Trim(inputdata) <> "AHSLCostMB" Then ‘AHSLCostMB这几个字是模板文件前10个字符,判断模板文件头10个字节,是否为"AHSLCostMB" ,
MsgBox "模板文件被损坏,建议重新安装本软件。", vbOKOnly + vbExclamation, TipCaptionStr
End
End If
Close #2
Kill flm '删除用于检测的头文件
ReDim myfile.Files(1).Bytes(1 To LOF(1) - 10)
flm = strTemp & "ahsl.c" ' AHSL.C为临时文件 strTemp为临时文件路径.
Open flm For Binary As #2 '打开临时文件 2#通道
'紧接文件头后读出,起始字节为10+1。。。。。。。。。。。。。。。这后面便是我们前面提取到的EXCEL模板文件。。。。。。。。。。。。。
Get #1, 11, myfile.Files(1).Bytes '读模板文件,自11字节开始,也就是去掉AHSLCostMB后的文件
Put #2, 1, myfile.Files(1).Bytes '将读入的数据写入ahsl.c文件.
Close #2 '关闭文件
Close 1# '关闭文件
rFilePath = flm
End Sub

哈哈,你能看明白这段代码吗?。。。。。

大家有什么问题在下面回复吧,

上面讲的应该是本程序的核心内容了,大家接合主程序认真的看才行,要是有什么问题提出来[不要给我发短消息,直接在下面回帖提出来我们一起来解决],短消息概不回复
下面在第十三\十四\十五楼继续讲[今天刚从黄山回来,明天再讲,,大家可以先提问题,我根据问题讲]
13\14\15我先占下 呵呵

[ 本帖最后由 m248131854 于 2010-9-27 20:54 编辑 ]

全部回复(90)

只看楼主 我来说两句
  • sjhll82
    sjhll82 沙发
    看起来好复杂的样子
    2013-10-15 08:54:15

    回复 举报
    赞同0
  • lwq50999
    lwq50999 板凳
    破解一个发在网上多好啊!
    2013-09-08 21:57:08

    回复 举报
    赞同0
  • putongaixuezhe
    楼主 可以发个程序么 没有的同志 也可以分享一下 要是能做个屏幕录像就更好了
    2013-01-18 08:35:18

    回复 举报
    赞同0
  • nene3170
    nene3170 4楼
    楼主辛苦了,希望能贡献出更多的好资源来
    2013-01-12 08:59:12

    回复 举报
    赞同0
  • tangyuan520gs
    绝对的好东西,谢谢分享啊
    2013-01-11 23:49:11

    回复 举报
    赞同0
点击查看全部回复(90条)
评论帖子
评论即可得
+1经验值
+10土木币

请先 登录,再参与讨论!

相关推荐
这个家伙什么也没有留下。。。

水利造价

返回版块

1.7 万条内容 · 89 人订阅

猜你喜欢

阅读下一篇

请教一个水力冲挖的预算问题

向专家请教一个造价预算的问题:“水利冲挖土方”子目中,排泥管长度最长1KM,如果排泥管共铺设7KM,怎么套用定额?不知是我没有查到还是定额上面没有说明增加长度的处理方法!我是这么来处理的,不知对否,请指教!其中1KM可以套用定额,增加的6KM按照“9-16其他子目”套用“管道移设”。对否?

请选择删除原因

回帖成功

经验值 +10