2017年6月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

« 2015年12月 | トップページ | 2016年3月 »

2016年1月 7日 (木)

VBA雑記帳0107

Sub m_PutModuleHeader(ByVal pMdNm, ByRef pMd As tModuleData)
    Dim lText As String
    Close #1
    Open "c:\MHead" + CStr(Format(Now(), "yyyymmddhhmm")) + ".txt" For Append As #1
   
    'モジュールシート名出力
    lText = pMdNm + String(10, "-") + Chr(13)
    Print #1, lText
   
    '機能概要出力
    For i = LBound(pMd.lGaiyo) To UBound(pMd.lGaiyo)
        If pMd.lGaiyo(i) = "" Then GoTo next_i
       
        lModulNm = Mid(pMd.lMNm(i), 5, Len(pMd.lMNm(i)) - 4)    'メソッド名
        lGaiyo = Trim(pMd.lGaiyo(i))                            '機能概要
        lKino = Trim(pMd.lKino(i))                              '機能名
        lText = "(" + CStr(i) + ")" + lKino + Chr(13) + lGaiyo + Chr(13)
        Print #1, lText
next_i:
    Next i
    Close #1
End Sub

Sub m_PutModuleHeader()
    Dim lText As String
   
        'ファイル指定
    fileOpenName = Application.GetOpenFilename("*.sqlファイル (*.sql), *.sql", MultiSelect:=True, Title:="★★★ ファイル選択 ★★★")
   
    If IsArray(fileOpenName) Then
        For i = 1 To UBound(fileOpenName)
            Close #1
            Open fileOpenName(i) For Input As #1
            lSp = Dir(fileOpenName(i), vbNormal)
            Open "c:\work\sp_out\" & lSp For Output As #2
            
            Do While Not EOF(1)
                Line Input #1, InputData
                'If InputData = "" Then GoTo next_i
                '                                          v_proc_id number(10)
                If StrConv(InputData, vbLowerCase) Like "*v_proc_id number*" Then
                    lText = Replace(InputData, "v_proc_id number", "v_proc_id verchar(30)")
                ElseIf StrConv(InputData, vbLowerCase) Like "*v_proc_id *" Then
                    lText = Replace(InputData, "@@proc_id", "'" & lSp & "'")
                Else
                    lText = InputData
                End If
                lCR = InStr(s, vbCr)
                lLF = InStr(s, vbLf)
                lCL = InStr(s, vbCrLf)
               
'                lText = Replace(Replace(Replace(lText, vbCrLf, vbLf), vbCr, vbLf), vbLf, vbCr)
                Print #2, lText
next_i:
            Loop
            
            Close #1
            Close #2
               
        Next
    End If

End Sub

« 2015年12月 | トップページ | 2016年3月 »