一种bom自动化分析方法

文档序号:6640291阅读:913来源:国知局
一种bom自动化分析方法
【专利摘要】本发明公开一种BOM自动化分析方法,通过嵌入excel的bom文件中的VBA模块,对bom文件按照要求进行分析,并将分析结果输出到bom文件指定的数据表中;首先准备初始BOM数据;并对报表进行初始化,对全局数据初始化;然后查找新增物料,并输出到新增物料表;同时查找删除物料,并输出到删除物料表;查找新增物料脚位,并输出到新增脚位;查找删除物料脚位,并输出到删除脚位;本方法可以对电子产品的BOM文件进行自动化分析,并自动把分析结果保存在Excel数据表中,输出结果简单易懂,数据分析高效,分析结果准确可靠;可以有效地提高研发和工程人员的工作效率,节省人力成本。
【专利说明】一种BOM自动化分析方法
[0001]

【技术领域】
[0002]本发明涉及计算机BOM处理技术,具体地说是一种BOM自动化分析方法。

【背景技术】
[0003]电子产品升级换代频繁,每次升级换代生产厂都需要对产品的升级情况进行分析,找出其中的差异点。对于复杂的电子产品,其BOM中涉及的元器件动辄成百上千,每种元器件的规格参数又千差万别,靠人工对产品的BOM进行分析,不能允许出现任何错误,准确无误的找出其中的差异点是非常困难的,这是一项非常繁杂、非常精细的工作。此外,靠人工进行统计还存在效率低下的缺陷,人工进行分析要耗费大量的时间进行统计以及复核工作。
[0004]在注重效率、成本和准确性的发展趋势下,找出一种利用计算机进行自动化的统计分析方法,对电子产品的bom进行高效率的、节省人力成本的、准确无误的分析方法意义重大。


【发明内容】

[0005]本方明针对现有技术存在的技术问题,提供一种BOM自动化分析方法。
[0006]本发明所述一种BOM自动化分析方法,解决上述技术问题采用的技术方案如下:提出了一种基于Excel VBA的bom分析方法,通过嵌入excel的bom文件中的VBA模块,对bom文件按照要求进行分析,并将分析结果输出到bom文件指定的数据表中。
[0007]该BOM自动化分析方法中,产品的BOM文件采用excel格式,BOM分析系统是利用Excel所嵌入的VBA模块实现的;首先准备初始BOM数据;并对报表进行初始化,对全局数据初始化;然后,查找新增物料,并输出到新增物料表;同时,查找删除物料,并输出到删除物料表;查找新增物料脚位,并输出到新增脚位;查找删除物料脚位,并输出到删除脚位;完成以上操作后流程结束。
[0008]本发明的一种BOM自动化分析方法与现有技术相比具有的有益效果是:本方法可以对电子产品的BOM文件进行自动化分析,并自动把分析结果保存在Excel数据表中,输出结果简单易懂,数据分析高效,分析结果准确可靠;可以有效地提高研发和工程人员的工作效率,节省人力成本,提高工作的准确性和可靠性。

【专利附图】

【附图说明】
[0009]附图1为所述BOM自动化分析方法的流程图。

【具体实施方式】
[0010]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参考附图,对本发明所述一种BOM自动化分析方法进一步详细说明。
[0011]本发明所述一种BOM自动化分析方法,提出了一种基于Excel VBA的bom分析方法,通过嵌入excel的bom文件中的VBA模块,对bom文件按照要求进行分析,并将分析结果输出到bom文件指定的数据表中。
[0012]实施例1:
本实施例所述一种BOM自动化分析方法中,产品的BOM文件釆用excel格式,BOM分析系统是利用Excel所嵌入的VBA模块实现的。附图1为BOM自动化分析方法的流程图,如附图1所示,BOM自动化分析流程开始;首先准备初始BOM数据;并对报表进行初始化,对全局数据初始化;然后,查找新增物料,并输出到新增物料表;同时,查找删除物料,并输出到删除物料表;查找新增物料脚位,并输出到新增脚位;查找删除物料脚位,并输出到删除脚位;完成以上操作后流程结束。
[0013]本实施例所述BOM自动化分析方法,具体参考源代码如下:
Sub PinAnisys ()
;设置全局变量,进行初始化
Dim pal (500) As String, pa2 (500) As String, stl As String, st2 As String
Dim ws As Worksheet
de = False
ae = False
dew = False
aew = False
;初始化新增物料表、删除物料表、新增脚位表以及删除脚位表 For Each ws In Worksheets
If UCase (ws.Name) = UCase ("Add 物料")Then
aew = True
ws.Cells.Clear
ElseIf UCase (ws.Name) = UCase ("Del 物料〃)Then
ws.Cells.Clear
dew = True
ElseIf UCase (ws.Name) = UCase ("Add 脚位")Then
ws.Cells.Clear
ae = True
ElseIf UCase (ws.Name) = UCase ("Del 脚位〃)Then
ws.Cells.Clear
de = True
End If
Next
If Not aew Then
Sheets.Add After:=Sheets(Sheets.Count)
Sheets (Sheets.Count).Name = "Add 物料〃
End If
If Not dew Then
Sheets.Add After:=Sheets(Sheets.Count)
Sheets (Sheets.Count).Name = "Del 物料〃
End If
If Not ae Then
Sheets.Add After:=Sheets (Sheets.Count)
Sheets (Sheets.Count).Name = "Add 脚位〃
End If
If Not de Then
Sheets.Add After:=Sheets(Sheets.Count)
Sheets (Sheets.Count).Name = "Del 脚位〃
End If
For i = I To 6
Sheets ("Add 物料").Cells (1,i) = Sheets (I).Cells (1,i)
Sheets ("Add 物料 〃).Columns(i).ColumnWidth = Sheets(I).Columns (i).ColumnWidth
Sheets ("Del 物料").Cells (1,i) = Sheets (I).Cells (1,i)
Sheets ("Del 物料").Columns(i).ColumnWidth = Sheets(I).Columns (i).ColumnWidth
Sheets ("Add 脚位").Cells (1,i) = Sheets (I).Cells (1,i)
Sheets ("Add 脚位 〃).Columns(i).ColumnWidth = Sheets(I).Columns (i).ColumnWidth
Sheets ("Del 脚位").Cells (1,i) = Sheets (I).Cells (1,i)
Sheets ("Del 脚位").Columns(i).ColumnWidth = Sheets(I).Columns (i).ColumnWidth
Next i
pa = 2
pd = 2
paw = 2
pdw = 2
For pold = 2 To 10000
If Sheets (2).Cells (pold, I) = "" ThenExit ForEnd If
For pnew = 2 To 10000
If Sheets (I).Cells (pnew, I) = 〃〃 Then
For i = I To 6
Sheets (〃Del 物料〃).Cells (pdw,i) = Sheets (2).Cells (pold,
i)
Next i
pdw = pdw + IExit ForEnd If
If Sheets (I).Cells (pnew, I) = Sheets (2).Cells (pold, I) Thenstl = Sheets (2).Cells (pold, 6)st2 = Sheets (I).Cells (pnew, 6)pindel = 〃〃pindelnum = 0pinadd = 〃〃pinaddnum = 0If stl = 〃〃 Thenpindel = 〃〃pindelnum = 0pinadd = st2
pinaddnum = Sheets (I).Cells(pnew, 5)
ElseIf st2 = 〃〃 Then
pindel = stl
pindelnum = Sheets (2).Cells(pold, 5)
pinadd = 〃〃
pinaddnum = 0
Else
il = 0
n = InStr (stl, 〃,
While (n > 0)
If n > I Then

pal (il) = Left (stl, n -1)
il = il + I
End If
stl = Right (stl, Len(stl) - n)
n = InStr (stl, 〃,
Wend
If stl O 〃〃 Then
pal (il) = stl
Else
il= il -1
End If
i2 = 0η = InStr (st2,'
While (η > O)
If η > I Then
pa2(i2) = Left (st2, n _ I)
i2= i2 + I
End If
st2 = Right(st2,Len (st2) - n)
n = InStr (st2,'
Wend
If st2 O "" Thenpa2(i2) = st2
Else
i2 = i2 -1End If
For i = 0 To il
For j = 0 To i2
If pal (i) = pa2 (j) ThenExit ForEnd IfNext j
If j > i2 Then
If pindelnum = 0 Then
pindel = pal (i)
Else
pindel = pindel + ", + pal (i)
End If
pindelnum = pindelnum + IEnd IfNext i
For i = 0 To i2
For j = 0 To il
If pa2 (i) = pal (j) ThenExit ForEnd IfNext j
If j > il Then
If pinaddnum = 0 Then
pinadd = pa2 (i)
Else

pinadd = pinadd + ", + pa2 (i)

End If

pinaddnum = pinaddnum + I
End If
Next i
End If

If pinaddnum > O Then
For i = I To 4

Sheets ("Add 脚位").Cells (pa,i) = Sheets (I).Cells (pnew, i)

Next i

Sheets ("Add 脚位").Cells (pa, 5) = pinaddnum
Sheets ("Add 脚位").Cells (pa, 6) = pinadd
pa = pa + I
End If

If pindelnum > 0 Then
For i = I To 4


Sheets ("Del 脚位").Cells (pd,i) = Sheets (I).Cells (pnew, i)

Next i

Sheets ("Del 脚位").Cells (pd,5) = pindelnum
Sheets ("Del 脚位").Cells (pd,6) = pindel
pd = pd + I
End If
Exit For
End If
Next pnew
Next pold
For pnew = 2 To 10000
If Sheets (I).Cells (pnew, I) = 〃〃 Then
Exit For
End If
For pold = 2 To 10000
If Sheets (2).Cells (pold, I) = "" Then
For i = I To 6

Sheets ("Add 物料").Cells (paw,i) = Sheets (I).Cells (pnew,
i)

Next i

paw = paw + I
Exit For
End If
If Sheets (I).Cells (pnew, I) = Sheets (2).Cells (pold, I) Then
Exit For
End If
Next pold
Next pnew
End Sub.0
[0014]本实施例所述BOM自动化分析方法中,用户按照指定的格式生成产品的Bom文件,bom文件中第一行为表头,以下每一行为一个物料的数据,数据包含物料编号、物料供应商、供应商编号、物料描述、引脚数量、引脚名称列表等。新、旧bom文件保存分别保存在两个bom excel表中;打开BOM文件,运行其中的宏PinAnisys,程序会按要求自动对新、旧两个bom excel表进行分析,并自动把分析结果保存的4个新增表中:所自动生成的新增物料表、所自动生成的删除物料表、所自动生成的新增脚位物料表、所自动生成的删除脚位物料表。
[0015]通过该BOM自动化分析方法能够实现:
1)对产品的新、旧bom文件进行分析,找到产品bom中新增的器件,并把新增器件单独放在新表中;
2)对产品的新、旧bom文件进行分析,找到产品bom中删除的器件,并把删除器件单独放在新表中;
3)对产品的新、旧bom文件进行分析,找到产品bom中同一个器件引脚进行了增加的,并把器件及所增加的引脚单独放在新表中,同时对引脚的数量进行统计和更新;
4)对产品的新、旧bom文件进行分析,找到产品bom中同一个器件引脚进行了删减的,并把器件及所删减的引脚单独放在新表中,同时对引脚的数量进行统计和更新。
[0016]上述【具体实施方式】仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述【具体实施方式】,任何符合本发明的权利要求书的且任何所属【技术领域】的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
【权利要求】
1.一种801自动化分析方法,其特征在于,提出了一种基于2x061 78八的130111分析方法,通过嵌入6X061的130111文件中的78八模块,对130111文件按照要求进行分析,并将分析结果输出到化!!!文件指定的数据表中。
2.根据权利要求1所述一种801自动化分析方法,其特征在于,产品的801文件采用6X061格式,801分析系统是利用2x^61所嵌入的狐模块实现的;首先准备初始801数据;并对报表进行初始化,对全局数据初始化;然后,查找新增物料,并输出到新增物料表;同时,查找删除物料,并输出到删除物料表;查找新增物料脚位,并输出到新增脚位;查找删除物料脚位,并输出到删除脚位;完成以上操作后流程结束。
3.根据权利要求2所述一种801自动化分析方法,其特征在于,130111文件中第一行为表头,以下每一行为一个物料的数据,数据包含物料编号、物料供应商、供应商编号、物料描述、引脚数量和引脚名称列表。
4.根据权利要求2或3所述一种801自动化分析方法,其特征在于,新、旧文件保存分别保存在两个130111 6X061表中。
5.根据权利要求4所述一种801自动化分析方法,其特征在于,打开801文件,运行其中的宏八111878,程序会按要求自动对新、旧两个130111 6X061表进行分析,并自动把分析结果保存在新增表中。
6.根据权利要求5所述一种801自动化分析方法,其特征在于,设置了4个新增表:增物料表、删除物料表、新增脚位物料表和删除脚位物料表。
【文档编号】G06F9/44GK104461570SQ201410831806
【公开日】2015年3月25日 申请日期:2014年12月29日 优先权日:2014年12月29日
【发明者】李光达 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1