CN104461570A - 一种bom自动化分析方法 - Google Patents

一种bom自动化分析方法 Download PDF

Info

Publication number
CN104461570A
CN104461570A CN201410831806.5A CN201410831806A CN104461570A CN 104461570 A CN104461570 A CN 104461570A CN 201410831806 A CN201410831806 A CN 201410831806A CN 104461570 A CN104461570 A CN 104461570A
Authority
CN
China
Prior art keywords
bom
output
newly
excel
analysis method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410831806.5A
Other languages
English (en)
Inventor
李光达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201410831806.5A priority Critical patent/CN104461570A/zh
Publication of CN104461570A publication Critical patent/CN104461570A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

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

Description

一种BOM自动化分析方法
技术领域
  本发明涉及计算机BOM处理技术,具体地说是一种BOM自动化分析方法。
背景技术
    电子产品升级换代频繁,每次升级换代生产厂都需要对产品的升级情况进行分析,找出其中的差异点。对于复杂的电子产品,其BOM中涉及的元器件动辄成百上千,每种元器件的规格参数又千差万别,靠人工对产品的BOM进行分析,不能允许出现任何错误,准确无误的找出其中的差异点是非常困难的,这是一项非常繁杂、非常精细的工作。此外,靠人工进行统计还存在效率低下的缺陷,人工进行分析要耗费大量的时间进行统计以及复核工作。
    在注重效率、成本和准确性的发展趋势下,找出一种利用计算机进行自动化的统计分析方法,对电子产品的bom进行高效率的、节省人力成本的、准确无误的分析方法意义重大。
发明内容
  本方明针对现有技术存在的技术问题,提供一种BOM自动化分析方法。
本发明所述一种BOM自动化分析方法,解决上述技术问题采用的技术方案如下:提出了一种基于Excel VBA的bom分析方法,通过嵌入excel的bom文件中的VBA模块,对bom文件按照要求进行分析,并将分析结果输出到bom文件指定的数据表中。
该BOM自动化分析方法中, 产品的BOM文件采用excel格式,BOM分析系统是利用Excel所嵌入的VBA模块实现的;首先准备初始BOM数据;并对报表进行初始化,对全局数据初始化;然后,查找新增物料,并输出到新增物料表;同时,查找删除物料,并输出到删除物料表;查找新增物料脚位,并输出到新增脚位;查找删除物料脚位,并输出到删除脚位;完成以上操作后流程结束。
本发明的一种BOM自动化分析方法与现有技术相比具有的有益效果是:本方法可以对电子产品的BOM文件进行自动化分析,并自动把分析结果保存在Excel数据表中,输出结果简单易懂,数据分析高效,分析结果准确可靠;可以有效地提高研发和工程人员的工作效率,节省人力成本,提高工作的准确性和可靠性。
附图说明
附图1为所述BOM自动化分析方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参考附图,对本发明所述一种BOM自动化分析方法进一步详细说明。
    本发明所述一种BOM自动化分析方法,提出了一种基于Excel VBA的bom分析方法,通过嵌入excel的bom文件中的VBA模块,对bom文件按照要求进行分析,并将分析结果输出到bom文件指定的数据表中。
实施例1:
本实施例所述一种BOM自动化分析方法中, 产品的BOM文件采用excel格式,BOM分析系统是利用Excel所嵌入的VBA模块实现的。附图1为BOM自动化分析方法的流程图,如附图1所示,BOM自动化分析流程开始;首先准备初始BOM数据;并对报表进行初始化,对全局数据初始化;然后,查找新增物料,并输出到新增物料表;同时,查找删除物料,并输出到删除物料表;查找新增物料脚位,并输出到新增脚位;查找删除物料脚位,并输出到删除脚位;完成以上操作后流程结束。
本实施例所述BOM自动化分析方法,具体参考源代码如下:
Sub PinAnisys()
;设置全局变量,进行初始化
Dim pa1(500) As String, pa2(500) As String, st1 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 = 1 To 6
    Sheets("Add物料").Cells(1, i) = Sheets(1).Cells(1, i)
    Sheets("Add物料").Columns(i).ColumnWidth = Sheets(1).Columns(i).ColumnWidth
    Sheets("Del物料").Cells(1, i) = Sheets(1).Cells(1, i)
    Sheets("Del物料").Columns(i).ColumnWidth = Sheets(1).Columns(i).ColumnWidth
    Sheets("Add脚位").Cells(1, i) = Sheets(1).Cells(1, i)
    Sheets("Add脚位").Columns(i).ColumnWidth = Sheets(1).Columns(i).ColumnWidth
    Sheets("Del脚位").Cells(1, i) = Sheets(1).Cells(1, i)
    Sheets("Del脚位").Columns(i).ColumnWidth = Sheets(1).Columns(i).ColumnWidth
Next i
pa = 2
pd = 2
paw = 2
pdw = 2
For pold = 2 To 10000
    If Sheets(2).Cells(pold, 1) = "" Then
        Exit For
    End If
    For pnew = 2 To 10000
        If Sheets(1).Cells(pnew, 1) = "" Then
            For i = 1 To 6
                Sheets("Del物料").Cells(pdw, i) = Sheets(2).Cells(pold, i)
            Next i
            pdw = pdw + 1
            Exit For
        End If
        If Sheets(1).Cells(pnew, 1) = Sheets(2).Cells(pold, 1) Then
            st1 = Sheets(2).Cells(pold, 6)
            st2 = Sheets(1).Cells(pnew, 6)
            pindel = ""
            pindelnum = 0
            pinadd = ""
            pinaddnum = 0
            If st1 = "" Then
                pindel = ""
                pindelnum = 0
                pinadd = st2
                pinaddnum = Sheets(1).Cells(pnew, 5)
            ElseIf st2 = "" Then
                pindel = st1
                pindelnum = Sheets(2).Cells(pold, 5)
                pinadd = ""
                pinaddnum = 0
            Else
                i1 = 0
                n = InStr(st1, ",")
                While (n > 0)
                    If n > 1 Then
                        pa1(i1) = Left(st1, n - 1)
                        i1 = i1 + 1
                    End If
                    st1 = Right(st1, Len(st1) - n)
                     n = InStr(st1, ",")
                Wend
                If st1 <> "" Then
                    pa1(i1) = st1
                Else
                    i1 = i1 - 1
                End If
                i2 = 0
                n = InStr(st2, ",")
                While (n > 0)
                    If n > 1 Then
                        pa2(i2) = Left(st2, n - 1)
                        i2 = i2 + 1
                    End If
                    st2 = Right(st2, Len(st2) - n)
                    n = InStr(st2, ",")
                Wend
                If st2 <> "" Then
                    pa2(i2) = st2
                Else
                    i2 = i2 - 1
                End If
                For i = 0 To i1
                    For j = 0 To i2
                        If pa1(i) = pa2(j) Then
                            Exit For
                        End If
                    Next j
                    If j > i2 Then
                        If pindelnum = 0 Then
                            pindel = pa1(i)
                        Else
                            pindel = pindel + "," + pa1(i)
                        End If
                        pindelnum = pindelnum + 1
                    End If
                Next i
                For i = 0 To i2
                    For j = 0 To i1
                        If pa2(i) = pa1(j) Then
                            Exit For
                        End If
                    Next j
                    If j > i1 Then
                        If pinaddnum = 0 Then
                            pinadd = pa2(i)
                        Else
                            pinadd = pinadd + "," + pa2(i)
                        End If
                        pinaddnum = pinaddnum + 1
                    End If
                Next i
            End If
            If pinaddnum > 0 Then
                For i = 1 To 4
                    Sheets("Add脚位").Cells(pa, i) = Sheets(1).Cells(pnew, i)
                Next i
                Sheets("Add脚位").Cells(pa, 5) = pinaddnum
                Sheets("Add脚位").Cells(pa, 6) = pinadd
                pa = pa + 1
            End If
            If pindelnum > 0 Then
                For i = 1 To 4
                    Sheets("Del脚位").Cells(pd, i) = Sheets(1).Cells(pnew, i)
                Next i
                Sheets("Del脚位").Cells(pd, 5) = pindelnum
                Sheets("Del脚位").Cells(pd, 6) = pindel
                pd = pd + 1
            End If
            Exit For
        End If
    Next pnew
Next pold
For pnew = 2 To 10000
    If Sheets(1).Cells(pnew, 1) = "" Then
        Exit For
    End If
    For pold = 2 To 10000
        If Sheets(2).Cells(pold, 1) = "" Then
            For i = 1 To 6
                Sheets("Add物料").Cells(paw, i) = Sheets(1).Cells(pnew, i)
            Next i
            paw = paw + 1
            Exit For
        End If
        If Sheets(1).Cells(pnew, 1) = Sheets(2).Cells(pold, 1) Then
            Exit For
        End If
    Next pold
Next pnew
End Sub.。
本实施例所述BOM自动化分析方法中,用户按照指定的格式生成产品的Bom文件,bom文件中第一行为表头,以下每一行为一个物料的数据,数据包含物料编号、物料供应商、供应商编号、物料描述、引脚数量、引脚名称列表等。新、旧bom文件保存分别保存在两个bom excel表中;打开BOM文件,运行其中的宏PinAnisys,程序会按要求自动对新、旧两个bom excel表进行分析,并自动把分析结果保存的4个新增表中:所自动生成的新增物料表、所自动生成的删除物料表、所自动生成的新增脚位物料表、所自动生成的删除脚位物料表。
通过该BOM自动化分析方法能够实现:
1)  对产品的新、旧bom文件进行分析,找到产品bom中新增的器件,并把新增器件单独放在新表中;
2)  对产品的新、旧bom文件进行分析,找到产品bom中删除的器件,并把删除器件单独放在新表中;
3)  对产品的新、旧bom文件进行分析,找到产品bom中同一个器件引脚进行了增加的,并把器件及所增加的引脚单独放在新表中,同时对引脚的数量进行统计和更新;
4)  对产品的新、旧bom文件进行分析,找到产品bom中同一个器件引脚进行了删减的,并把器件及所删减的引脚单独放在新表中,同时对引脚的数量进行统计和更新。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。

Claims (6)

1.一种BOM自动化分析方法,其特征在于,提出了一种基于Excel VBA的bom分析方法,通过嵌入excel的bom文件中的VBA模块,对bom文件按照要求进行分析,并将分析结果输出到bom文件指定的数据表中。
2.根据权利要求1所述一种BOM自动化分析方法,其特征在于,产品的BOM文件采用excel格式,BOM分析系统是利用Excel所嵌入的VBA模块实现的;首先准备初始BOM数据;并对报表进行初始化,对全局数据初始化;然后,查找新增物料,并输出到新增物料表;同时,查找删除物料,并输出到删除物料表;查找新增物料脚位,并输出到新增脚位;查找删除物料脚位,并输出到删除脚位;完成以上操作后流程结束。
3.根据权利要求2所述一种BOM自动化分析方法,其特征在于,bom文件中第一行为表头,以下每一行为一个物料的数据,数据包含物料编号、物料供应商、供应商编号、物料描述、引脚数量和引脚名称列表。
4.根据权利要求2或3所述一种BOM自动化分析方法,其特征在于,新、旧bom文件保存分别保存在两个bom excel表中。
5.根据权利要求4所述一种BOM自动化分析方法,其特征在于,打开BOM文件,运行其中的宏PinAnisys,程序会按要求自动对新、旧两个bom excel表进行分析,并自动把分析结果保存在新增表中。
6.根据权利要求5所述一种BOM自动化分析方法,其特征在于,设置了4个新增表:增物料表、删除物料表、新增脚位物料表和删除脚位物料表。
CN201410831806.5A 2014-12-29 2014-12-29 一种bom自动化分析方法 Pending CN104461570A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410831806.5A CN104461570A (zh) 2014-12-29 2014-12-29 一种bom自动化分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410831806.5A CN104461570A (zh) 2014-12-29 2014-12-29 一种bom自动化分析方法

Publications (1)

Publication Number Publication Date
CN104461570A true CN104461570A (zh) 2015-03-25

Family

ID=52907681

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410831806.5A Pending CN104461570A (zh) 2014-12-29 2014-12-29 一种bom自动化分析方法

Country Status (1)

Country Link
CN (1) CN104461570A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105335165A (zh) * 2015-12-04 2016-02-17 济南大学 一种循环伏安数据的自动分离方法
CN105912462A (zh) * 2016-04-05 2016-08-31 浪潮电子信息产业股份有限公司 一种测试结果自动存档的方法及装置
CN107633353A (zh) * 2017-09-08 2018-01-26 南京国电南自电网自动化有限公司 基于excel表vba的物料bom表合规检查方法
CN107908605A (zh) * 2017-10-13 2018-04-13 惠生(南通)重工有限公司 根据电仪设备坐标信息快速获取其区域位置的方法
CN111985015A (zh) * 2020-08-17 2020-11-24 四川九立微波有限公司 一种使用vba功能自动生成bom的系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060033383A (ko) * 2004-10-15 2006-04-19 엘지전자 주식회사 비쥬얼 베이직을 이용한 자재정보 자동 작성 방법
CN101025805A (zh) * 2007-01-24 2007-08-29 上海理工大学 基于产品的物料清单生成方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060033383A (ko) * 2004-10-15 2006-04-19 엘지전자 주식회사 비쥬얼 베이직을 이용한 자재정보 자동 작성 방법
CN101025805A (zh) * 2007-01-24 2007-08-29 上海理工大学 基于产品的物料清单生成方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KELIDAI: "BOM工具", 《HTTP://CLUB.EXCELHOME.NET/THREAD-729609-1-1.HTML》 *
WHINGN: "VBA在BOM整理中的应用", 《HTTP://WWW.DOC88.COM/P-9019097486446.HTML》 *
陈凤美: "基于EXCEL的物料需求清单(BOM)自动生成软件设计", 《装备制造技术》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105335165A (zh) * 2015-12-04 2016-02-17 济南大学 一种循环伏安数据的自动分离方法
CN105912462A (zh) * 2016-04-05 2016-08-31 浪潮电子信息产业股份有限公司 一种测试结果自动存档的方法及装置
CN107633353A (zh) * 2017-09-08 2018-01-26 南京国电南自电网自动化有限公司 基于excel表vba的物料bom表合规检查方法
CN107908605A (zh) * 2017-10-13 2018-04-13 惠生(南通)重工有限公司 根据电仪设备坐标信息快速获取其区域位置的方法
CN111985015A (zh) * 2020-08-17 2020-11-24 四川九立微波有限公司 一种使用vba功能自动生成bom的系统及方法

Similar Documents

Publication Publication Date Title
CN104461570A (zh) 一种bom自动化分析方法
Nikolayeva et al. edgeR for differential RNA-seq and ChIP-seq analysis: an application to stem cell biology
CN102117306B (zh) Etl数据处理过程的监控方法及其系统
CN108681801B (zh) 针对生产过程中的操作指标进行监控的方法及系统
CN104156224B (zh) 一种软件构建持续集成方法及系统
CN105138386A (zh) 基于Jenkins与vManager的逻辑设计验证持续集成平台
US20130067440A1 (en) System and method for sql performance assurance services
JP6758274B2 (ja) スキーマで表される必要条件を用いた自動プロセス制御ハードウェア工学
WO2006050495A3 (en) Method and apparatus for the automated process of in-situ lift-out
CN105095059A (zh) 一种自动化测试的方法和装置
TW200701099A (en) Method for managing semiconductor characteristic evaluation apparatus and computer program therefor
CN103955429B (zh) 确定回归测试范围的方法及装置
CN103645900A (zh) 软件发布方法及装置
CN104915774A (zh) 一种基于svn日志分析与项目管理软件结合的方法
CN105488089A (zh) 质量评估报告自动化生成方法与系统
CN103064780B (zh) 一种软件测试的方法及装置
CN104156198A (zh) 一种自动生成软件集成版本更新说明方法及装置
CN106933572B (zh) 一种基于llvm中间表示程序切片的度量模型
CN102662700A (zh) 一种嵌入式软件版本的发布及升级方法
CN103677852A (zh) 一种可扩充的类自然语言公式编辑器的设计方法
CN105320510A (zh) 一种自动追踪数据关系的方法及装置
CN104765668B (zh) 一种验证nfs服务器稳定性的方法
CN102750203A (zh) 一种基于linux的快速部署方法
CN103116617B (zh) 一种集成电路测试数据的处理方法
CN105573972A (zh) 报表校验公式的生成方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150325