以下の例は、本OCXをTransLha1という名前でフォームに貼り付けて使用します。
c:\test\ というフォルダーに
aaa.txt (ファイル)
bbb.exe (ファイル)
xxx (フォルダ)
があるとしたとき、これらを(xxxの下のファイルを含めて)c:\work\pack.lzh という書庫ファイルに圧縮する例。
Private Sub PackProcedure()
With TransLha1 '貼り付けたコントロールの名前。
.ArcMode = 0 'LHA モードで動作します。
.hWnd = Me.hWnd 'hWnd を指定する。
.pArcFileName = "c:\work\pack.lzh" '書庫ファイル名を指定。
.pBaseFolder = "c:\test" '基準フォルダを指定。
.pFilesClear '圧縮ファイル名リストをクリアする。
.pAddFile "aaa.txt" 'ファイルを指定
.pAddFile "bbb.exe" 'ファイルを指定
.pAddFile "xxx" 'フォルダを指定
.Pack '圧縮の実行
If .Error <> 0 Then 'エラーチェック
MsgBox (.ErrorString) 'エラー表示
End If
EndWith
End Subc:\work\pack.lzh を c:\test フォルダーにすべてを解凍する例
Private Sub ExtractProcedure()
With TransLha1
.ArcMode = 0 'LHA モードで動作します。
.hWnd = Me.hWnd 'hWnd を指定する。
.eArcFileName = "c:\work\pack.lzh" '書庫ファイル名を指定。
.eFolder = "c:\test" '解凍先フォルダを指定。
.eFilesClear '解凍ファイル名リストをクリアする。
.Extract '解凍を実行
If .Error <> 0 Then 'エラーチェック
MsgBox (.ErrorString) 'エラー表示
End If
End With
End Sub
c:\work\pack.lzh に格納されている
aaa.txt
bbb.exe
のみを c:\test フォルダーに解凍する例
Private Sub ExtractProcedure2()
With TransLha1
.ArcMode = 0 'LHA モードで動作します。
.hWnd = Me.hWnd 'hWnd を指定する。
.eArcFileName = "c:\work\pack.lzh" '書庫ファイル名を指定。
.eFolder = "c:\test" '解凍先フォルダを指定。
.eFilesClear '解凍ファイル名リストをクリアする。
.eAddFile "aaa.txt"
.eAddFile "bbb.exe"
.Extract '解凍を実行
If .Error <> 0 Then 'エラーチェック
MsgBox (.ErrorString) 'エラー表示
End If
End With
End Subc:\work\pack.lzh から自己解凍ファイルを作成し、
c:\testフォルダーに保存する例。
Private Sub MakeSFX()
With TransLha1
.ArcMode = 0 'LHA モードで動作します。
.hWnd = Me.hWnd 'hWnd を指定する。
.sfxArcFileName = "c:\work\pack.lzh" '書庫ファイル名を指定。
.sfxFolder = "c:\test" '作成先フォルダを指定。
.SFX '自己解凍ファイル作成実行
If .Error <> 0 Then 'エラーチェック
MsgBox (.ErrorString) 'エラー表示
End If
End With
End Subc:\work\pack.lzh に格納されているファイル名とオリジナルファイル
サイズをすべてリストボックスへ列記する例
List1 と List2 をフォームに貼り付けておきます。
Private Sub ArcOpen()
Dim i As Integer
With TransLha1
.ArcMode = 0 'LHA モードで動作します。
.oArcFileName = "c:\work\pack.lzh" '書庫ファイル名を指定。
.OpenFile '書庫ファイルをOpen
If .Error = 0 Then 'エラーが無かったら
'oFilesCountは、圧縮されているファイル総数
For i = 0 To .oFilesCount - 1
List1.AddItem .oFilesList(i) 'ファイル名列記
List2.AddItem .oOrgSize(i) 'サイズ列記
Next i
Else
MsgBox (.ErrorString) 'エラー表示
End If
End With
End Sub
TOPへ戻る