zoukankan      html  css  js  c++  java
  • 依据BOM和已经存在的文件生成其他种类的文件

    在BOM中记录中有物料编码,物料名称,物料规格等,而且依据BOM已经生成了一些的文件,如采购规格书,这个时候需要生成相应的检验规格书模板,可以使用下面的VBA代码,具体代码如下:

    Function IsFileExists(ByVal strFileName As String) As Boolean
        If Dir(strFileName, 16) <> Empty Then
            IsFileExists = True
        Else
            IsFileExists = False
        End If
    End Function
    
    Sub setname()
        Dim I As Integer
        Dim pspname As String
        Dim pspnumber As String
        Dim tstname As String
        Dim tstnumber As String
        Dim path As String
        Dim srcPath As String
        Dim srcPath2 As String
        Dim headName As String
        Dim headName2 As String
        
        Dim wordApp As Object
        Dim wordDoc As Object
        Dim wordArange As Object
        Dim wordSelection As Object
        Dim ReplaceSign As Boolean
        
        Dim Search1 As String
        Dim Search2 As String
        Dim docPrefix As String
        Dim docSuffix As String
        Dim rangSize As Integer
            
        'docPrefix = "-PSP"
        'docSuffix = "采购规格书.doc"
        'Search1 = "电线"
        'Search2 = "6000397-PSP"
        'rangSize = 200
        
        docPrefix = "-"
        docSuffix = "入场检验报告.doc"
        Search1 = "高压电源"
        Search2 = "6000000-TST"
        'Search1 = "AC-DC开关电源"
        'Search2 = "6000412-TST"
        rangSize = 50
        
        Dim myItem
        'myItem = Array(14, 16, 17, 18, 22, 23, 24, 26, 27, 31, 32, 33, 34, 35, 36, 48, 50, 55, 56, 62, 63, 64, 65, 66, 67, 68, 69, 71, 73, 77, 79, 102, 114, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 172, 173, 174, 175, 176, 177, 179, 180, 181)
        For I = 1 To 183
            srcPath = "C:cygwin	mpBOMpqc.doc"
            If ActiveSheet.Cells(I, 5) = "" Then
                headName2 = ActiveSheet.Cells(I, 3) & "-" & ActiveSheet.Cells(I, 4) & "-" & ActiveSheet.Cells(I, 5)
                headName = headName2 & docSuffix
                headName3 = ActiveSheet.Cells(I, 4)
            Else
                headName2 = ActiveSheet.Cells(I, 3) & "-" & ActiveSheet.Cells(I, 4) & "-" & ActiveSheet.Cells(I, 6)
                headName = headName2 & docSuffix
                headName3 = ActiveSheet.Cells(I, 4) & "" & ActiveSheet.Cells(I, 5) & ""
            End If
            headName = Replace(headName, "/", "-")
            path = "D:om"
            srcPath2 = path & "aa.doc"
            'pspname = path & "" & ActiveSheet.Cells(I, 3) & docPrefix & ActiveSheet.Cells(I, 4) & docSuffix
            pspname = "D:om" & ActiveSheet.Cells(I, 3) & "-INS-V1.0.doc"
            tstname = "D:om" & headName2 & "过程检验报告.doc"
            tstnumber = ActiveSheet.Cells(I, 3) & "-TST"
            
            If IsFileExists(pspname) = True Then
                FileCopy srcPath, srcPath2
                Name srcPath2 As tstname
                
                Set wordApp = CreateObject("Word.Application")                  '建立WORD实例
                wordApp.Visible = False                                         '屏蔽WORD实例窗体
                Set wordDoc = wordApp.Documents.Open(tstname)                   '打开文件并赋予文件实例
                Set wordSelection = wordApp.Selection                           '定位文件实例
                Set wordArange = wordApp.ActiveDocument.Range(0, rangSize)      '指定文件编辑位置
                wordArange.Select                                               '激活编辑位置
                
                Do
                    ReplaceSign = wordArange.Find.Execute("XXX", True, , , , , wdReplaceAll, wdFindContinue, , headName2, True)
                Loop Until ReplaceSign = False
                        
                          
                          
                'For Each rngStory In wordDoc.StoryRanges
                '  Do
                '    ReplaceSign = rngStory.Find.Execute(Search2, True, , , , , wdReplaceAll, wdFindContinue, , tstnumber, True)
                '    Set rngStory = rngStory.NextStoryRange
                '  Loop Until rngStory Is Nothing
                'Next
              
                
                wordDoc.Save
                wordDoc.Close True
                wordApp.Quit
            End If
        Next I
    
    End Sub
  • 相关阅读:
    IntelliJ IDEA 2017版 SpringBoot的核心配置详解
    路由追踪程序traceroute/tracert分析与科普
    traceroute追踪路由命令
    ping 命令
    hostname命令,修改主机名及host文件
    net-tools工具arp命令
    ifup 和 ifdown
    net-tools工具ifconfig 命令
    iproute2 对决 net-tools
    什么是带内管理 带外管理
  • 原文地址:https://www.cnblogs.com/cnpirate/p/5019730.html
Copyright © 2011-2022 走看看