くだすれVB6.0以前(超初心者向け)
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/12/08(金) 19:36:45他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
VB使いが優しくコメントを返しますが、
お礼はVBの布教はしなくてよいので、初心者の救済をお願いします。
0002デフォルトの名無しさん
2006/12/08(金) 19:53:510003デフォルトの名無しさん
2006/12/08(金) 19:56:47ここは重複スレです
http://pc8.2ch.net/test/read.cgi/tech/1161517193/
↑のスレに移動して下さい
0004デフォルトの名無しさん
2006/12/08(金) 21:18:09ElseIf以降の内容が
ログ左右桁揃え = " " & b
と全部同じなんだけど、誤記?それとも、仕様?
>>ttp://pc8.2ch.net/test/read.cgi/tech/1161517193/546
Dim Fso As Object
Dim FsoTS As Object
Set Fso = CreateObject("Scripting.FileSystemObject")
Set FsoTS = Fso.CreateTextFile(App.Path & "\" & Text1.Text, True)
FsoTS.Close
Set FsoTS = Nothing
Set Fso = Nothing
0005デフォルトの名無しさん
2006/12/11(月) 13:06:38GetObject()だと最初のものしか取れない。
0006デフォルトの名無しさん
2006/12/11(月) 14:55:02最初のオブジェクトを取得後、やりたい事を終えて終了させた
後にもう一度GetObjectやるとかしかおもいつかないなぁ。
それじゃぁだめなの?
0007酔いちくれ ◆J0rwikii8c
2006/12/11(月) 23:42:40複数起動の場合は、難しいね。
普通にはできないと思う。
0008デフォルトの名無しさん
2006/12/12(火) 00:48:27キチガイのふりをしているつもりの本物のキチガイが必ず自分を隔離するような
スレを自分で立てるのは法則か何かだろうか?w
そして程なく、スレが思っているほど繁盛しないことに気づいて放棄することになるんだなw
0009デフォルトの名無しさん
2006/12/12(火) 01:17:0500105
2006/12/12(火) 02:42:47見よう見まねで、出来るかも、と、やってみましたが、
手順
1.OffCntrDisp という名前で新しい MFC ActiveX ControlWizard アプリケーションを作成します。
2.以下のメンバ変数を COleControl 派生クラスに追加します。
のステップ2で早、躓きました。追加先のCOleControl 派生クラスはどこ?
これをVBに焼き直したり、もっと簡単にできません?
0011酔いちくれ ◆J0rwikii8c
2006/12/12(火) 09:46:45MFCというか、C++じゃん。
OffCntrDispCtl.hというヘッダファイルに
class COffCntrDispCtrl : public COleControl
として宣言してあるけど、COMのような実装をVBでやるのは絶対無理。
VBとエクセルで何がしたいのか、教えてくれたほうが解決案が模索できそう。
>>8
オレはお前の事嫌いじゃないぜ?
0012デフォルトの名無しさん
2006/12/12(火) 23:17:2200135
2006/12/14(木) 09:40:40なんとかコンパイルできました。ありがと。
やりたいことは、最初に言ったように、
|Shell.Windows()でIEを一覧できるように、Excel.Applicationを一覧できません?
なんです。
>>12
調べてみましたが、関係がよく分りません。
0014デフォルトの名無しさん
2006/12/21(木) 20:35:06クライアントで予期せぬエラー (0x8003001e)
が発生してしまいます。どのような原因が考えられますでしょうか?
http://support.microsoft.com/kb/198381/ja
0015酔いちくれ ◆J0rwikii8c
2006/12/21(木) 20:44:14oracleならブロブ型のデータとかじゃまいか?
001614
2006/12/22(金) 08:53:01ここのサンプルのまねをしたらOKでした。
あとADOで例外エラー時にrollbackしたいのですが
トランザクションが開始されているかどうかの
ステータスはどこを見ればよいでしょうか?
0017酔いちくれ ◆J0rwikii8c
2006/12/22(金) 10:02:44新しいADOならあるかもしれないけど、しらない。
MSのサンプル資料なんかでもよく見かけるけど、単純にトランザクションを
はるタイミングで変数にフラグをセットしてる。
自分でDBクラスつくって、IsTransとか内部にプロパティを作ってはどうか。
Begin時にTrueでCommit、Rollback時にFalseで。
0019デフォルトの名無しさん
2006/12/24(日) 12:09:26【メニューバー】 → 【デバック】 → 【コンパイル】という順でOK
なのですか?何か一瞬なので本当にコンパイルされたかどうか分からないので。
コンパイルをすると、***.vbr?とかいうファイルは更新されるのですが、
***.exeは更新時間が変わりません。exeも更新するにはどうしたら良いのでしょうか?
0020デフォルトの名無しさん
2006/12/24(日) 14:43:11【メニューバー】→【ファイル】→【〜.exeの作成】
VBはVCみたいに警告とかないし、リンクもないし、すぐにコンパイル終わる。
0021デフォルトの名無しさん
2006/12/24(日) 15:41:15リンクはある
みたいな。
薀蓄垂れるんなら知ってからにしような。
002220
2006/12/24(日) 16:56:12あ、そうなの。
それって、参照設定のことをいってる?
VBにヘッダファイルないし、includeないし、
コンパイル時にリンクの更新なんてやってるの?
0023デフォルトの名無しさん
2006/12/24(日) 17:06:07一旦オブジェクトファイル作ってリンクしてるんですよ
002420
2006/12/24(日) 17:33:03無知でスマソ。
オブジェクトファイルはわかる。
exeを作る際に、ソースを実行体にまとめてるんだろうけど
ちょっと誤解してた。
VBでつくったexeだけじゃランタイムないと実行できないから、
Cとコンパイル時のリンクのレベルが違うだけで、VBだってリンクするね。
ランタイムありきでリンクしてるから、コンパイルが速いという事でFA?
0025デフォルトの名無しさん
2006/12/24(日) 17:48:03Cのコンパイルを基準にするのなら
ソースコード解析するのにやたら手間取るのがCで、VBは構文が単純だから手間取らない
程度だと思う
VB6の構文って曖昧さが無いんだよね
0026debu
2006/12/26(火) 11:34:45sql文を代入していく処理で、250文字以上が格納できません。
試しに
Dim s As String
s = "1234567890〜"
上記のように、string型の変数 s に300文字を入れてみたのですが、
ウオッチ式でみるとやはり250文字しか入っていません。
これはどうしたことでしょう??? どなたか教えてください!
0027デフォルトの名無しさん
2006/12/26(火) 11:46:25ウォッチ式に表示できないだけで、ちゃんと格納されてる。
イミディエイトに
?s
と打てば、ある程度はわかるがそこも表示制限があるから
一番いいのは、ログみたいにテキストに出力すれば、本当に
格納されているデータがわかる。
0028debu
2006/12/26(火) 12:22:53大変助かりました。
0029デフォルトの名無しさん
2006/12/27(水) 16:44:57Dim cnt As Integer;
0030デフォルトの名無しさん
2006/12/27(水) 16:47:48VBは改行符いらない。
セミコロン「;」がじゃま。
どうしても改行符いれたいときは
コロン「:」にする。
0031デフォルトの名無しさん
2006/12/27(水) 16:50:15Cは";"で、BASIC系は昔ッからchr$(13)またはchr$(11)+chr$(13)だです
0032デフォルトの名無しさん
2006/12/27(水) 22:56:32セミコロンでしたか。ありがとうございます。
003314
2006/12/28(木) 20:28:58横バーを出すにはどうしたらよいでしょうか?
0034デフォルトの名無しさん
2006/12/29(金) 10:37:43ツリービューでノードのドラッグ&ドロップをしている事までは
読み取れた。
その後の横バーが何かわからん。
参考までにDragOverイベントがドラッグ中に発生してるからそこで
なにかしらの処理ができるんじゃないの?
0036デフォルトの名無しさん
2006/12/29(金) 11:34:21オレ、エスパーかもしれん。わかった。
ノードの順番を入れ替えようとした場合にどこに割り込ませるか
ノードの下にバーを表示したいんだな。
簡単に済ませるなら、DragOverイベントで
Set TreeView1.DropHighlight = TreeView1.HitTest(x, y)
として、選択状態にでもさせる。
もしくはあらかじめ画面にイメージコントロールを
用意しておいて、同イベントでノードの下にでも表示させる。
もっと本格的にやりたいなら、それこそツリービューをサブクラス化して
メッセージ:CDDS_ITEMPOSTPAINTのときにカスタム描画する。
0038酔い 【大吉】 ちくれ 【1229円】 ◆J0rwikii8c
2007/01/01(月) 10:32:32あけおめ。
0039デフォルトの名無しさん
2007/01/16(火) 05:35:500040デフォルトの名無しさん
2007/01/16(火) 08:43:59コーディングしなきゃいけない
コードを既に書いてるならうp
うpできないなら再現可能なコードにしてうp
0041デフォルトの名無しさん
2007/01/18(木) 13:30:420042デフォルトの名無しさん
2007/01/28(日) 10:24:18http://pc10.2ch.net/test/read.cgi/tech/1161517193/
↑の次スレってここ?
0043デフォルトの名無しさん
2007/01/28(日) 11:01:26http://pc10.2ch.net/test/read.cgi/tech/1169949451/
0045デフォルトの名無しさん
2007/03/05(月) 01:02:19Newで作成した配列などは、破棄するにはどうすればよいのでしょうか?
いわゆる、ググッてみたんですが、なかなかわかりません。
よろしくお願いします。
0046デフォルトの名無しさん
2007/03/05(月) 07:51:34vb6はnewで配列を作れません
環境をお確かめの上、正しいスレにご投稿くださいますよう申し上げます
0047デフォルトの名無しさん
2007/03/05(月) 08:00:20お前のスキルでのたまってるんじゃねぇよ。
0048デフォルトの名無しさん
2007/03/05(月) 09:21:22知りませんでした。
MediaDetを利用するサンプルを見ていたら、
Dim Det As New MediaDet
とあったので、使った後に破棄するのはどうするのか?と思い書き込みました。
0049デフォルトの名無しさん
2007/03/05(月) 09:30:03vb6では参照カウンタ方式によるGCが働いているので、明示的に破棄する必要はありません(できません)
仮にそのMediaDetオブジェクトが(オブジェクト自身ではない)何かしらのデータの破棄を要求しているのなら、
専用のメソッドが存在するはずです。
0050デフォルトの名無しさん
2007/03/05(月) 09:58:12そうですか。
Function内で使用したいと思っていたので、何度もNewで定義していったときに
どんどんメモリを食っていくのでは?と思っていました。
ありがとうございました。
0051デフォルトの名無しさん
2007/03/05(月) 10:46:46先生、いかにVBでも明示的に破棄できないと困ります><
0052デフォルトの名無しさん
2007/03/05(月) 10:48:36VBの内部はCOMによって実装されている部分が大半だから、CoCreateInstance()付近からAPI探していけ
0053デフォルトの名無しさん
2007/03/05(月) 10:51:15COMわかんね('A`
0054デフォルトの名無しさん
2007/03/05(月) 12:11:38あるバイナリファイルがあり、その先頭4バイトには数値が入っています。
この4バイトをプログラムから上書きしたいと考えています。
そこで以下のようなコードを書きました。
Open ".\hoge.bin" For Binary As #1
Write #1, value
Close #1
これを実行しますと、Writeのところでエラーが出てしまいます。
おそらく、初歩的な間違いのような予感がするのですが、
どのようにすれば良いがご存知であれば教えて頂けないでしょうか。
よろしくお願いします。
0055デフォルトの名無しさん
2007/03/05(月) 12:13:33> 上書きしたいと考えています。
何を?
何でもいいなら
open ".\hoge.bin" for binary as 1
put #1, 1, clng(rnd)
close 1
でおk
0057デフォルトの名無しさん
2007/03/05(月) 13:30:30VBの参照カウンタ型GCは、.NETのGCみたく参照が無くなっていつか消えるとかいうもの違って、
参照が消えた瞬間に消される。もちろん他に参照がコピーされていない前提であるが、例えば
Sub hoge
dim xx as OBJ
Set xx = New Obj
:
End Sub でスパッと消える
さらに、途中でNothingや他の参照をぶち込んでもその時点でスパッと消える
0058デフォルトの名無しさん
2007/03/05(月) 13:35:46そのあとNothingぶちこんだらカウンタが消えていくと思ってたが・・・
実際の所どうなんだ・・・?
>>57でFA?
0059デフォルトの名無しさん
2007/03/05(月) 13:37:43FA
プロセス越しの場合もFA
0060デフォルトの名無しさん
2007/03/05(月) 14:15:10ありがとうございます
つまり、参照先のアドレスが変わるタイミングで消えるという事ですね
NOTHINGを指定する事とはVB的なぬるぽですね
つまり明示的に破棄できませんといった人はウソつきですか?
わかりません><
0061デフォルトの名無しさん
2007/03/05(月) 14:32:30日本語でおk
0062デフォルトの名無しさん
2007/03/05(月) 17:11:24コレは酷いw
0063デフォルトの名無しさん
2007/03/05(月) 17:18:0862さん、すみません
どのあたりが酷いのでしょうか
よければ、私にもわかるように教えてください><
0064デフォルトの名無しさん
2007/03/05(月) 17:30:59参照先のアドレスが変わるタイミングで消えるという事
何故この解釈になった?
0065デフォルトの名無しさん
2007/03/05(月) 17:32:24自分で確かめろカス
0066デフォルトの名無しさん
2007/03/05(月) 17:39:35ありがとうございます
>途中でNothingや他の参照をぶち込んでもその時点でスパッと消える
と書いてありました
参照型の変数には「物」がはいっているはけではなくて、メモリにある「物」をさす
アドレスが入っていると思います。
他の参照をぶち込むというのは、参照先を変えるという事では
ないのでしょうか。
>64-65さん、教えてください><
0067デフォルトの名無しさん
2007/03/05(月) 17:42:17いいから自分の書いた文章読み直して出直して来いカス
0068デフォルトの名無しさん
2007/03/05(月) 17:58:55>>67
0069デフォルトの名無しさん
2007/03/05(月) 18:06:10そうですね^^
0070デフォルトの名無しさん
2007/03/05(月) 18:43:15MouseDownイベントについてなのですが、
フォーム上に存在するコンポーネントを無視して、フォームのどこを
クリックしてもMouseDownイベントを拾いたいと思っています。
Form_MouseDownイベントは、フォームのMouseDownイベントは拾えます
が、ボタンやラベルの上でクリックすると、フォームのMouseDownイベ
ントを拾うことができません。
どなたかご存知でしょうか?
ご存知であれば教えて頂きたいと思います。
よろしくお願いします。
0071デフォルトの名無しさん
2007/03/05(月) 19:07:58全てのコントロールのMouseDownイベントを拾ってゴリ押しすれば何とかなるんじゃない?
もしくはサブクラス化
それかフック
Spy++でも使ってみるよろし
007270
2007/03/05(月) 19:14:27やっぱりその手しかないですか…。
ウィンドウのほとんどをAPIコントロールが占めており、そのAPIコントロールの
ハンドルがDLLに渡されていてDLL側で制御されているため、イベントを付けられ
ないんですよね…。
もうちょっと調べてみます。
ありがとうございます!
0073デフォルトの名無しさん
2007/03/06(火) 13:12:29試してないのでなんともいえないけど
VBControlExtender
を使えばいけそうな気もするが・・・
0074デフォルトの名無しさん
2007/03/06(火) 14:13:44VB超初心者です。プログラムの経験はCOBOLで17年ほどあります。
会社にNT4.0 VB6SP3で作られたシステムがあります
普通はフォームもモジュールも同一フォルダーに作成するみたいなんですが、
このシステムはフォームと標準モジュール(クラスも)別フォルダーになっています。
それで、仕様書等が無いために、ソースから追っかけてみていますが、VB自体
よくわかっていないので、悩んでいます。
メニュー画面はランチャーのような階層状のメニュープログラムがあります
そこでは、FORM_LOAD()は走っていますが、メニューの中の別プログラムに
移った場合、呼ばれるプログラムにはFORM_LOAD()自体ありません。
このようなプログラムの解析をする場合呼ばれたプログラムの動きを追っかけて
行きたいのですが、どうすればよいのでしょうか?
ちなみに、ファンクションキーのイベントなんかは書かれているようです。
どなたかご教授下さい
0075デフォルトの名無しさん
2007/03/06(火) 14:39:54>フォームと標準モジュール(クラスも)別フォルダー
これはvbpファイルで参照しているので、別フォルダーでも気にしなくておkです。
>メニューの中の別プログラムに
はっきりとは判らないのですが、もしかしたら、Mainがあるプロジェクトから
DLLないしActiveXのexeのプロジェクトに遷移しているかもしれませんね。
遷移先の別プログラム(DLL もしくはActiveXExe)もVBで書かれている場合、
そのプロジェクトをVSで立ち上げて一番最初に[実行]-[開始]をし、実行状態にします。
その後呼び元をF8キーでステップ実行していくと、別プロジェクトがDLL等の場合は
そのままステップ実行できます。
またブレークポイントを張ってそこで処理を止めることもできます。
はずしていたら、すみません。
0076デフォルトの名無しさん
2007/03/06(火) 14:54:51ありがとうございます。別のところにbasファイルがあって、そこにFORM_LOAD()
がありました。F8で追っかけてみたら、ありました。
これ、クラスとフォームは別々に開発してもOKなんですか?
なんども申し訳ありません。
よろしくお願いします。
0077デフォルトの名無しさん
2007/03/06(火) 15:53:52別々というのが、ファイルを保存している先が別々という
意味では、問題ないです。
ただ、そのクラスとフォームがどのように依存しているのかは
流石にわからないので、勝手に片方の関数を変えたりすると
もう片方に影響が出るかもしれないですね。
0078デフォルトの名無しさん
2007/03/06(火) 16:51:36つ最高にド低脳な発言してください in ム板(XV)
http://pc11.2ch.net/test/read.cgi/tech/1164376614/
0079デフォルトの名無しさん
2007/03/06(火) 17:06:52お前のようなカスの出てくるところじゃないんだよ。
0080デフォルトの名無しさん
2007/03/07(水) 18:08:38のですが、どのようなメソッドを使えばいいのか教えてください。
また、手動でCheckBoxのチェックを操作できないようにするには、
どの属性をどのように設定すればいいのかも教えてください。
以上、よろしくおながいします。
0081デフォルトの名無しさん
2007/03/07(水) 18:14:35> CheckBoxのチェックを入れたり、入れなかったりしたい
Valueプロパティを調べろ
(ちなみに、チェックを入れるのと、チェックを外すの、な)
> チェックを操作できないようにする
Enableプロパティを調べろ
"無効な色"になるのがイヤなら、縁無しのピクチャボックスにつっこんでピクチャボックスのEnableプロパティを変えてみろ
(もしくはClickイベントで強引にユーザ入力を、無かったかのように見せかける)
008280
2007/03/07(水) 23:40:46>> > チェックを操作できないようにする
>> Enableプロパティを調べろ
>> "無効な色"になるのがイヤなら、縁無しのピクチャボックスにつっこんでピクチャボックスのEnableプロパティを変えてみろ
>> (もしくはClickイベントで強引にユーザ入力を、無かったかのように見せかける)
ありがとうございます。その方法が無難なようです。
ところが
>> > CheckBoxのチェックを入れたり、入れなかったりしたい
>> Valueプロパティを調べろ
こちらのほうはValueプロパティというのは無いようですが…
私ももうちょい調べてみようと思います。
0083デフォルトの名無しさん
2007/03/07(水) 23:43:57もしかしてVB.NETか?
それならCheckedプロパティ
(VB.NETほとんど触って無いから、もっといい方法があるかもしれん)
008480
2007/03/07(水) 23:52:31ありがとうございます。VB.NETです。
そして最大の私の勘違いはメソッドの使い方でした。
てっきり
CheckBox1.Checked(True)
のような記述をするもんだと思い込んでましたが
CheckBox1.Checked = True
のような記述をするんですね!!
Cのプログラマが、にわかVBしてたもんで疑いもしませんでした。
これで今日は落ち着いて寝られます。
どうもありがとうございました。
0085デフォルトの名無しさん
2007/03/08(木) 12:57:18プロパティだぜ・・・・
突っ込んでよかったのかな・・?
0086デフォルトの名無しさん
2007/03/08(木) 13:19:37てっきりメソッドだと思った、と勘違いしてたんじゃないの?
0087デフォルトの名無しさん
2007/03/08(木) 14:53:22javaスクリプトでいう『document.ondblclick = sample;』
をvbスクリプトで同じことってできますか?
0088デフォルトの名無しさん
2007/03/08(木) 15:15:24できます。
参考までにIEだとこんなカンジでしょうか。
Set ie=CreateObject("InternetExplorer.Application")
Set ie.Document.body.ondblclick=sample
0089デフォルトの名無しさん
2007/03/08(木) 15:22:050090デフォルトの名無しさん
2007/03/08(木) 15:23:39本当だ!できました。
確かに"sample"では不十分な書き方でした。
それなのに丁寧に教えて下さってありがとうございました。&ごめんなさい
0091デフォルトの名無しさん
2007/03/08(木) 23:30:41formに設定した画像を動かすにはどうすればいいのでしょうか
form事態ではなく画像だけ動かしたいのです
0092デフォルトの名無しさん
2007/03/08(木) 23:56:13なにぶんひどい素人なもので、空気的にできればこちらのスレで知恵をお貸し願えないものかと思っています。
IE上の以下のスクリプトを埋め込んだページから
"sample.xls"というエクセルファイルの"test1"というマクロを動かそうとしていますが、
うまくいきませんでした。
<SCRIPT LANGUAGE = "VBScript">
<!--
Sub CallXlMacro
Dim xlapp
Set xlApp = GetObject(, "Excel.Application")
Call xlApp.Run("sample.xls!test1")
Set xlapp = Nothing
End Sub
-->
</SCRIPT>
とりあえずCallXLMacroプロシージャを以下のようにしてみたところ、動作しましたので
プロシージャが呼び出されていることは確認できました。
Sub CallXlMacro
Msgbox "test"
End Sub
また、「Dim xlapp」〜「Set xlapp = Nothing」までを「test.vbs」として保存し、直接実行してみたところ、
test1マクロは呼び出されて動きました。(スクリプト使用時は、sample.xlsは必ず開いた状態で使用する前提でいます)
私の知識ではこれ以上進めなかったのですが、
問題はどの辺りにあるのかご教授願えませんでしょうか。
ちなみにtest1マクロそのものは、「Msgbox "testOK"」だけのものです。
よろしくお願いいたします。
0093デフォルトの名無しさん
2007/03/08(木) 23:58:230095デフォルトの名無しさん
2007/03/09(金) 00:43:22本当にくだらないと思っている事を人任せにするのか?(#^ω^ おっ?
それ以前にプログラムの話したいならコード晒せ
無ければコードかけるくらい詳細に調べて書け
あと>>1な
0096デフォルトの名無しさん
2007/03/09(金) 00:50:25Private pct As PictureBox
Private Sub Form_Load()
Dim i As Long
Set pct = Me.Controls.Add("VB.PictureBox", "pct")
With pct
Call .Move(0, 0, 32 * Screen.TwipsPerPixelX, 32 * Screen.TwipsPerPixelY)
.BackColor = 0
.ScaleMode = ScaleModeConstants.vbPixels
.AutoRedraw = True
End With
For i = 1 To 100
pct.PSet (Rnd * 32, Rnd * 32), Rnd * &HFFFFFF
Next
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Call Me.PaintPicture(pct.Image, X, Y)
End Sub
# formに、設定した画像を動かすにはどうすればいいのでしょうか
# form事態ではなく画像だけ動かしたいのです
こんなソースコードだけど、動いてるか?
009791
2007/03/09(金) 18:04:22例えば
ボタンが押されたときにイメージを動かすのなら
Private Sub Command1_Click()
Image1.Move (Image1.Left), (Image1.Top + 100)
End Sub
でできるのですが、
フォームに背景として表示されている画像の動かし方が知りたいのですが、どんなに調べても見つけれなくて困っています
0098デフォルトの名無しさん
2007/03/09(金) 18:14:51発想の転換で、フォームよりでかいイメージをフォームに貼り付けといて
それを背景とし、そのピクチャを動かすとかじゃ実現できないかな?
0099デフォルトの名無しさん
2007/03/09(金) 20:43:00PaintPicture使いなさい
0100デフォルトの名無しさん
2007/03/09(金) 21:53:23> 背景として表示されている
Formが自発的に背景として表示してるわけじゃないだろ?
もう少し具体的に状況を説明した上で議論なり質問なりしてくださいな
■ このスレッドは過去ログ倉庫に格納されています