Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6089 / 13646 ツリー ←次へ | 前へ→

【47273】テキストボックスに前回の入力データを表示させるには? カド 07/3/7(水) 6:50 質問[未読]
【47277】Re:テキストボックスに前回の入力データを... りん 07/3/7(水) 8:16 発言[未読]
【47278】Re:テキストボックスに前回の入力データを... カド 07/3/7(水) 8:38 質問[未読]
【47280】Re:テキストボックスに前回の入力データを... Blue 07/3/7(水) 8:47 回答[未読]

【47273】テキストボックスに前回の入力データを表...
質問  カド  - 07/3/7(水) 6:50 -

引用なし
パスワード
   エクセルで検索ダイアログボックスにて検索すると、
前回検索した文字が表示されます。
同じ文字を何度も検索する場合は大変便利です。

これと同じことを自作マクロのダイアログのテキストボックスで
出来るようにしたいのですが、どうすればよいのでしょうか?

セルのどこかに書き込めば実現出来ますが、
そうするとファイルを閉じるときに、保存するかどうかを聞かれるので
不便です。

なにかよい方法はないでしょうか?

【47277】Re:テキストボックスに前回の入力データ...
発言  りん E-MAIL  - 07/3/7(水) 8:16 -

引用なし
パスワード
   カド さん、おはようございます。
>セルのどこかに書き込めば実現出来ますが、
>そうするとファイルを閉じるときに、保存するかどうかを聞かれるので
>不便です。

Savedで更新をコントロールします。

Sub test2()
  Dim tf As Boolean
  '保存されていない更新がないかどうか
  tf = Application.ActiveWorkbook.Saved
  'セルに適当な値
  Cells(1, 1).Value = "そのまま閉じてみてください"
  '元の設定に復帰(元がTrueだったらTrueに戻る)
  Application.ActiveWorkbook.Saved = tf
End Sub

【47278】Re:テキストボックスに前回の入力データ...
質問  カド  - 07/3/7(水) 8:38 -

引用なし
パスワード
   りん さん おはようございます。

やはり質問してみるものですね。
こんなことが出来るとはびっくりです。

ところで、セルに書き込んで覚えておくという方法は、
良いアイデアが思いつかなかったので、苦肉の策です。
プログラム上からセルに何かを書きこむことは、
そのセルに何も書かれていないことが大前提です。

もっといい方法があれば教えてほしいのですが。

【47280】Re:テキストボックスに前回の入力データ...
回答  Blue  - 07/3/7(水) 8:47 -

引用なし
パスワード
   ファイルのプロパティを使う方法です。

ThisWorkbook.BuiltinDocumentProperties("Comments").Value = Me.TextBox1.Text

のように記述すると、ファイルの右クリック→プロパティ→概要
のコメントに文字列を保存できます。
(場合によってはCustomDocumentPropertiesのほうを使う)


また、設定ファイルのような外部ファイルを作ってもいいのであれば、
UserFormを閉じるときに、ファイルに保存するようにすればいいです。
(普通のテキストファイルや、INIファイル、xmlファイル等保存方法はたくさんある)

ファイルを作りたくないのであれば、レジストリという手もありますが、、、
(個人的にこの程度でレジストリを使うのは気が引けます。)

6089 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free