構造体を一度に初期化 : Excel(エクセル)

Excel VBAで大きい構造体の初期化には便利かも

Excel Tipsメニューに戻る

スポンサーリンク



Excel VBA コード

Option Explicit

'指定されたメモリブロックに0を書き込む
Private Declare Sub ZeroMemory Lib "kernel32" _
            Alias "RtlZeroMemory" (Destination As Any, ByVal Length As Long)

'初期化する構造体
Private Type CustData
    No  As Long
    name As String
    tel As String
    fax As String
End Type

Private Sub CommandButton1_Click()
    Dim tcust As CustData
    Dim i As Integer
    
    '構造体にデータを代入
    tcust.No = 56
    tcust.name = "大沢"
    tcust.tel = "123456789"
    tcust.fax = "234567891"
    
    '初期化前のデータを表示
    Range("B7") = tcust.No
    Range("B8") = tcust.name
    
    'Excel VBAで初期化
    Call ZeroMemory(tcust, Len(tcust))
    
    '初期化後のデータを表示
    Range("D7") = tcust.No
    Range("D8") = tcust.name
End Sub

スポンサーリンク



Excel実行結果

■B列初期化前、D列が初期化後です。
構造体の初期化画面

スポンサーリンク






Excel Tipsメニューに戻る

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved