Excel VBA質問箱 IV

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

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


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

【50100】テキストボックスに入力した文字の保持 くやっち 07/7/9(月) 14:52 質問[未読]
【50101】Re:テキストボックスに入力した文字の保持 マクロマン 07/7/9(月) 15:06 発言[未読]
【50102】Re:テキストボックスに入力した文字の保持 neptune 07/7/9(月) 15:09 回答[未読]
【50103】Re:テキストボックスに入力した文字の保持 くやっち 07/7/9(月) 15:36 質問[未読]
【50124】Re:テキストボックスに入力した文字の保持 yuu1 07/7/10(火) 12:35 回答[未読]
【50132】Re:テキストボックスに入力した文字の保持 くやっち 07/7/10(火) 19:31 お礼[未読]
【50134】Re:テキストボックスに入力した文字の保持 neptune 07/7/10(火) 21:06 発言[未読]
【50136】Re:テキストボックスに入力した文字の保持 ichinose 07/7/11(水) 7:35 発言[未読]
【50200】Re:テキストボックスに入力した文字の保持 くやっち 07/7/13(金) 21:15 お礼[未読]

【50100】テキストボックスに入力した文字の保持
質問  くやっち  - 07/7/9(月) 14:52 -

引用なし
パスワード
   ワークブックが開くと自動的にUserFormが開くようにしました。

Private Sub Workbook_Open()
UserForm1.Show
End Sub

この状態で、UserForm上にあるテキストボックスに文字を書き込み、次にワークブックを開いたときに、前回入力した内容がそのまま表示されるようにしたいのですが、どのようにすればよろしいでしょうか?
ただし、テキストボックスに入力した文字を、どこかのセル内入力されたり、別ファイルに保存したりしたくありません。
よろしくお願いいたします。

【50101】Re:テキストボックスに入力した文字の保持
発言  マクロマン  - 07/7/9(月) 15:06 -

引用なし
パスワード
   >ただし、テキストボックスに入力した文字を、どこかのセル内入力されたり、別
>ファイルに保存したりしたくありません。

でしたら、方法は無いかと。

【50102】Re:テキストボックスに入力した文字の保持
回答  neptune  - 07/7/9(月) 15:09 -

引用なし
パスワード
   ▼くやっち さん:
こんにちは

>ワークブックが開くと自動的にUserFormが開くようにしました。
>
>Private Sub Workbook_Open()
> UserForm1.Show
>End Sub
>
>この状態で、UserForm上にあるテキストボックスに文字を書き込み、次にワークブックを開いたときに、前回入力した内容がそのまま表示されるようにしたいのですが、どのようにすればよろしいでしょうか?
基本的に、どこかへ物理的に記録しておく他ありません。従って、
>ただし、テキストボックスに入力した文字を、どこかのセル内入力されたり、別ファイルに保存したりしたくありません。
をあきらめるか、「前回入力した内容がそのまま表示」をあきらめるかの
選択になります。

【50103】Re:テキストボックスに入力した文字の保持
質問  くやっち  - 07/7/9(月) 15:36 -

引用なし
パスワード
   早々に、ご回答ありがとうございます。
できませんか・・・。
テキストボックスのプロパティを見ると、書かれた内容がTextと言う項目とValueと言う項目に書き込まれているようです。
ここに直接(VBA上で)書き込んだ場合、次にワークブックをオープンにすると、自動的に表示されます。
だから実際にワークブックをオープンにして、入力したテキストが、この部分に転記されれば、セル等に書き込まなくてもできると思っていました。
ありがとうございました。

【50124】Re:テキストボックスに入力した文字の保持
回答  yuu1  - 07/7/10(火) 12:35 -

引用なし
パスワード
   こんにちは。
>テキストボックスのプロパティを見ると、書かれた内容がTextと言う項目とValueと言う項目に書き込まれているようです。
>ここに直接(VBA上で)書き込んだ場合、次にワークブックをオープンにすると、自動的に表示されます。
>だから実際にワークブックをオープンにして、入力したテキストが、この部分に転記されれば、セル等に書き込まなくてもできると思っていました。

直接ユーザーフォームのコントロールに値をセット(保存)出来ますが結構面倒です。
以下のかんじです。

'UserForm1モジュール
Option Explicit

Private Sub CommandButton1_Click()
 gtxt = TextBox1.Value
 Unload Me
 Application.OnTime Now + TimeValue("00:00:01"), "SetTextBoxValue"
End Sub

'標準モジュール
Option Explicit
Public gtxt As String

Sub SetTextBoxValue() 'txt As String)
 With ThisWorkbook.VBProject.VBComponents("UserForm1")
  .Designer.Controls("TextBox1").Value = gtxt
  .Save
 End With
End Sub

【50132】Re:テキストボックスに入力した文字の保持
お礼  くやっち  - 07/7/10(火) 19:31 -

引用なし
パスワード
   どうもありがとうございます。
ん〜、やっぱり難しいですね。
ちんぷんかんぷんです。
コマンドボタンを付けて、それを押すことによってgtxtという変数に書き込ませて、それを値に入力させると言うこと位しかわかりません。。。
標準モジュールというのを使ったこと無いので判りませんが、UserFormをcloseする時に実行するようにしたらだめなのでしょうか?
With ThisWorkbook.VBProject.VBComponents("UserForm1")
というのや、TimeValueが必要なのかも判りませんが、ちょっとトライしてみます。
ありがとうございました。
また、判らなくなったら教えてください。

【50134】Re:テキストボックスに入力した文字の保持
発言  neptune  - 07/7/10(火) 21:06 -

引用なし
パスワード
   ▼くやっち さん:
こんにちは

>コマンドボタンを付けて、それを押すことによってgtxtという変数に書き込ませて、それを値に入力させると言うこと位しかわかりません。。。
>標準モジュールというのを使ったこと無いので判りませんが、UserFormをcloseする時に実行するようにしたらだめなのでしょうか?
大きなお世話かもしれませんが、
yuu1さんの提示されたコードはBook内のTextBoxの定義を書き直しているんです。
この意味をよ〜く考えて使って下さいね。結構危ないことをしているんですよ。
判らないままやって、下手するとBookが壊れる可能性さえ否定できません。

プログラムで閉じる度に、我が身を改造しているプログラムなんてありません。
(やってやれないことはないとは思いますが)
自ファイル以外の場所に設定などの情報は置くべきです。

VBComponent系は用意されているオブジェクトを見れば判りますが、
VBE用のAddIn等を作成するのに使うのが本筋と思います。

だから、「基本的に、どこかへ物理的に記録しておく他ありません。」と書いたんですが。。。

お気を付けて。

【50136】Re:テキストボックスに入力した文字の保持
発言  ichinose  - 07/7/11(水) 7:35 -

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

>
>だから、「基本的に、どこかへ物理的に記録しておく他ありません。」と書いたんですが。。。

私も↑これに賛成です。

それにExcel2002以降は、「プロジェクトへのアクセスを許可する」という
セキュリティの設定も必要ですしね。テキストボックスの初期データの保持の
ためにセキュリティを下げるのもねえ!!

yuu1さんのVbprojectを操作する方法は、情報としては貴重です。

それと

>ただし、テキストボックスに入力した文字を、どこかのセル内入力されたり、別ファイルに保存したりしたくありません。

これの理由はなんでしょうか?


シートに貼り付けたテキストボックスだと値が保持されることは、実証済みですよね?

このテキストボックスを非表示にして媒体として利用しては???

他にも名前の定義を使うとか、CustomDocumentPropertyに登録するとか・・。

利用できそうなものがありそうですが いかがですか?

【50200】Re:テキストボックスに入力した文字の保持
お礼  くやっち  - 07/7/13(金) 21:15 -

引用なし
パスワード
   みなさん色々とありがとうございます。
結構危ないのですね・・・。

>>ただし、テキストボックスに入力した文字を、どこかのセル内入力されたり、別ファイルに保存したりしたくありません。
>
>これの理由はなんでしょうか?

これについては、不要なシートを作りたくなかっただけです。
ただ、最近は少し考え方も変わってきて、テキストボックスに入力した文字を履歴として残した方が良いかなとも思ってきました。
まあ、それにはやはりシートを作り、セルの列に順に貼り付けていく方式になると思います。
VBAはなかなか難しく、初心者のためまた質問させていただきます。
ありがとうございました。

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