• ベストアンサー

ExcelVBAのテキストボックスの文章を記録したい。

ExcelVBAのテキストボックスの文章を記録したい。 初めて質問します。ExcelVBAを独学で始めて2週間の超初心者です。 ユーザーフォームにテキストボックスを配置してメモ帳のように使用したいのですが、ユーザーフォームを閉じると打ち込んだ文章は消えてしまいます。テキストボックスに打ち込んだ文章を常に記録して残す方法はあるのでしょうか。レベルの低い質問で申し訳ありませんが困ってます。宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • Hardking
  • ベストアンサー率45% (73/160)
回答No.1

入力内容を保存方法はいくつかありますが 今回例としては、×ボタンで閉じる時に 入力内容をテキストファイルへ保存し 次回、ユーザーフォームを起動表示した際に 保存内容をテキストボックスに初期表示します。 例) テキストボックスのオブジェクト名 : txtMemo 1.×ボタンで閉じる時にテキストファイルへ保存 ユーザーフォームのTerminateイベントに下記処理記述 Private Sub UserForm_Terminate() Const TXT_FILE As String = "¥memo.txt" Open ThisWorkbook.Path & TXT_FILE For Output As #1 Print #1, txtMemo.Text Close #1 ' ファイルを閉じます。 End Sub 2.起動表示時に保存内容をテキストボックスに初期表示します。 ユーザーフォームのInitializeイベントに下記処理記述 Private Sub UserForm_Initialize() Const TXT_FILE As String = "¥memo.txt" Dim TextLine 'ファイルの存在チェック If Dir(ThisWorkbook.Path & TXT_FILE) = "" Then Exit Sub End If Open ThisWorkbook.Path & TXT_FILE For Input As #1 Do While Not EOF(1) Line Input #1, TextLine txtMemo.Text = TextLine Loop Close #1 ' ファイルを閉じます。 End Sub

lanbee
質問者

お礼

遅くなって大変申し訳ありません。 ご丁寧におしえていただいてありがとうございます じっくり読ませていただき勉強させてもらいます どうもありがとうございました。