Excelで画像表示ソフトを作ってみよう

Step 9 前回保存したフォーム位置をINIファイルから読み反映する

前回終了時、保存したフォーム位置をファイルから読み再現します。


Homeへ > Excelでアプリケーションソフト > 画像表示ソフト

ユーザーフォームコード

下記のVBAコードを追加してください。

'前回のフォーム位置を読み、反映する
Private Sub ExFormPosSet()
    Dim s1 As String
    Dim buf As String * 256
    
On Error Resume Next
    '左位置
    GetPrivateProfileString "画像初期値", "Left", "100", buf, Len(buf), sMyBookPath & "gazo.ini"
    s1 = Left$(buf, InStr(buf, vbNullChar) - 1)
    UserForm1.Left = s1
    
    '上位置
    GetPrivateProfileString "画像初期値", "Top", "100", buf, Len(buf), sMyBookPath & "gazo.ini"
    s1 = Left$(buf, InStr(buf, vbNullChar) - 1)
    UserForm1.Top = s1
End Sub



下記のVBAコードに変更してください。

Private Sub UserForm_Initialize()
    Dim sdir As String
    Dim buf As String * 256
    
    Range("B3:C65536") = ""
    
    'このファイルがあるフォルダを取得
    sMyBookPath = ActiveWorkbook.Path
    If Right$(sMyBookPath, 1) <> "\" Then sMyBookPath = sMyBookPath + "\"

    '前回のフォーム位置を読み、反映する
    ExFormPosSet

    '読込先フォルダの初期値
    GetPrivateProfileString "画像初期値", "フォルダ", "", buf, Len(buf), sMyBookPath & "gazo.ini"
    sdir = Left$(buf, InStr(buf, vbNullChar) - 1)
    TextBox1.Text = sdir
    'フォルダの存在確認
    If ExDir(sdir, vbDirectory) = "" Then
        sdir = ""
    Else
        ExGetFileList sdir
    End If
End Sub


Homeへ > Excelでアプリケーションソフト > 画像表示 > Step9 前回保存したフォーム位置をINIファイルから読み反映する

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


Copyright (c) Excel-Excel ! All rights reserved