Excel VBA テクニック集
マクロのインポート





Excel VBA テクニック集

マクロのインポートの方法です。

標準マクロは「.bas」をインポートしますが、シートのマクロは「.txt」でインポートします。

マクロには、シートマクロ・ThisWorkbookマクロ・標準マクロがあるので、それぞれのインポート方法を記載します。

使い方は、マクロ操作の基本的な考え方の、「マクロ専用ファイル」によるマクロ実行に、下記コードを入れます。

シートマクロのインポート(シートのコード名を指定)
    With Excel_App.ActiveWorkbook.VBProject.VBComponents(コード名).CodeModule
        .DeleteLines 1, .CountOfLines
        .AddFromFile "D:\import\SheetX.txt"
        End With

ThisWorkBookのインポート
    With Excel_App.ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
        .DeleteLines 1, .CountOfLines
        .AddFromFile "D:\import\bookmacro.txt"
        End With

標準マクロのインポート
    Dim Attribute_Mcr as String
    Dim File_Mcr as String
    Dim Rec_Mcr As String
    Dim DblQuote_W As Integer
    Dim Count_W As Integer
    Dim Object_Obj As Object
    Dim I As Integer

    File_Mcr = "D:\import\macro.bas"
    Attribute_Mcr = ""
    Open File_Mcr For Input Shared As #1
    Input #1, Rec_Mcr
    Close #1
    If InStr(Rec_Mcr, "Attribute") > 0 Then
        DblQuote_W = 0
        For I = 1 To Len(Rec_Mcr)
            If Mid(Rec_Mcr, I, 1) = Chr(34) Then
                DblQuote_W = DblQuote_W + 1
                GoTo MOD100
                End If
            If DblQuote_W = 1
                Then Attribute_Mcr = Attribute_Mcr & Mid(Rec_Mcr, I, 1)
                End If
MOD100:
            Next I
        End If

    Count_W = Excel_App.ActiveWorkbook.VBProject.VBComponents.Count
    For I = Count_W To 1 Step -1
        Set Object_Obj = Excel_App.ActiveWorkbook.VBProject.VBComponents(I)
        If Object_Obj.Type = 1
            If Object_Obj.Name = Attribute_Mcr Then
                Excel_App.ActiveWorkbook.VBProject.VBComponents.Remove Object_Obj
                Exit For
                End If
            End If
        Next I        
    Excel_App.ActiveWorkbook.VBProject.VBComponents.Import File_Mcr

「こだわりハウス」写真館| 数学公式集| ピンポイントストリートビュー| FaceBook| Excel Vba テクニック集| Excel 計算式解析・他解析| 富山の建築家| Excel 計算式解析・他解析| 積分の定義・積分の記号の意味の研究|