ユーザーフォームのTextBoxに入力した文字を、別ブックのユーザーフォームのTextBoxでも表示する

progani


下は、UserForm3 の TextBox12 に入力した文字を、別ブックでも利用できるように、「更新情報.txt」というテキストファイルに書き出しています。
このテキストファイル(ここでは、更新情報.txt)は用意しておく必要はなく、自動で作成されます。
下のコードを、ユーザーフォームの「OK」ボタンや「Close」ボタンに書いておけばよいでしょう。


    '更新情報.txtを書き出し用に開く
    Open ThisWorkbook.Path & "\更新情報.txt" For Output As #1
    
    'UserForm3.TextBox12の値をファイルに書き込む
    Write #1, UserForm3.TextBox12.Value
    
    '更新情報.txtを閉じる
    Close #1


次に、別ブックのユーザーフォームでも表示されるように、下のコードを、ユーザーフォームのイニシャライズに書き込んでおきます。
ここでは、UserForm3 の TextBox12 に、「更新情報.txt」テキストファイルから読み込み、表示しています。
(もし「更新情報.txt」が無ければ、何もしません)


    Dim strFName As String
    Dim myText As String

    '読み込むテキストファイル名
    strFName = ThisWorkbook.Path & "\更新情報.txt"

    'ファイルが無ければ何もしない
    If Dir(strFName) = "" Then
    Else
        
        '読み込むテキストファイルを開く
        Open strFName For Input As #1
        
        'ファイルに書かれている文字を myText に取得
        Input #1, myText
        
        'myText の文字をユーザーフォームのテキストボックスにセット
        TextBox12.Value = myText
        
        'テキストファイルを閉じる
        Close #1
    
    End If
    

これによって、別ブックでも、ユーザーフォームのテキストボックスに同じ文字が表示されます。

また、テキストボックスの文字を書き換えた場合も、テキストファイルの文字が書き換わりますので、別ブックを開いても同じ文字に更新されます。