VBプログラマ質問スレ(6.0以前) Part51
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/01/28(日) 10:57:31質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。
VB.NETは別物なので専門スレで、VBA、APIの質問もそれぞれのスレで。
○ 質問者の心得
一.質問する前にMSDNやGoogle、過去ログにも目を通してみる。
二.VBScript、インストーラーなどはこのスレでOK。
三.質問は第三者にもわかりやすいよう簡潔かつ具体的に。
四.荒らしは相手しない。
○ 回答者の心得
一.答えられない質問は無駄に罵倒せずスルー。無理するな。
二.代用法を強制しない。
三.回答する上で必須ではない情報をむやみに聞き返さない。
四.荒らしは相手しない。
五.VB情報募集中。
六.回答は質問者が理解できるよう具体的に。
MSDN Online Japan ホーム
http://www.microsoft.com/japan/msdn/default.asp
Visual Studio 6.0 Service Pack 6
http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
http://www.google.co.jp/
※「まず自分で調べる」クセを身につけよう。
0153デフォルトの名無しさん
2007/02/16(金) 11:22:49その中から名前に”東”が付く人の名前だけを、
自動的にVBで作ったラベルに、アイウエオ順に入れていかなければなりません。
(ラベルは100個作ってあります)
どのような方法がありますか?
0154デフォルトの名無しさん
2007/02/16(金) 12:21:430155デフォルトの名無しさん
2007/02/16(金) 12:33:50dim wrstwrk as Recordset
wstrsql = "SELECT * FROM MSTJUSYO WHERE NAME = '" & 東 & "'"
Set wrstwrk = gConnDB.OpenRecordset(wstrsql, dbOpenDynaset)
こんな感じでデーターベースにアクセスするんだと思います。
この続きが分からなくて・・・
お願いします。
0156デフォルトの名無しさん
2007/02/16(金) 12:58:57おまww
ttp://www.accessclub.jp/dao/index.html
コレでも見て来い
0157デフォルトの名無しさん
2007/02/16(金) 13:28:11ありがとう
すんげー助かりました
0158デフォルトの名無しさん
2007/02/16(金) 13:28:14Dim obj As Class
Set obj = New Class
If obj <> Null Then
Debug.Print "success!!!"
End If
End Sub
こんな感じのことがやりたいんだけど、Newに失敗したのはどうやって検出すればいいのでしょうか?
obj <> Nullのところでエラーが出ます。
0159デフォルトの名無しさん
2007/02/16(金) 15:24:390160デフォルトの名無しさん
2007/02/16(金) 16:37:58サンクスコ
0161デフォルトの名無しさん
2007/02/16(金) 18:26:37オプションボタンをグラフィックにして使っているのですが、
ダイアログの大きさを変えたときに(最大、最小化含む)
ほんの少し、一番下の影の部分だけ再描画されていないのか、
黒い点などが表示されてしまいます。
デスクトップの壁紙が青かったりすると
青いスジが出たりします。
これを解決する方法はありませんでしょうか。
Resizeの最後でオプションボタンすべてをRefreshしましたがだめでした。
0162デフォルトの名無しさん
2007/02/16(金) 18:36:18他のハードウェア構成のPCでも同じ事が起こるかチェックしました?
0163デフォルトの名無しさん
2007/02/16(金) 18:50:15していません。確認してみます。
0164161
2007/02/16(金) 19:32:09一応、他のPCでも同じ状況は起こりました。
ちょっと前のバージョンではこの現象がみられなかったので
相違点を洗い出しながらチェックしました。
オプションボタンの位置をResizeで可変にしてあって、
オプションボタンのTopの計算をいじったら直りました・・・
なんでだろう・・・
とりあえずありがとうございました・・・
0165デフォルトの名無しさん
2007/02/16(金) 23:42:45Loadの逆はUnload、Visible = Trueの逆はVisible = Falseですが
ではShowの反対は何ですか
0166デフォルトの名無しさん
2007/02/16(金) 23:59:150167デフォルトの名無しさん
2007/02/16(金) 23:59:34Hide
0168デフォルトの名無しさん
2007/02/17(土) 00:00:04カッコワルス。
0169デフォルトの名無しさん
2007/02/17(土) 00:06:220170デフォルトの名無しさん
2007/02/17(土) 00:07:57俺様が見ている間なら即座に返答をやろう
0171デフォルトの名無しさん
2007/02/17(土) 00:19:05MSDNライブラリで全部みても5分かからないよw
っていうか、メソッドのリスト見るだけでも語感で普通わかる。
0172デフォルトの名無しさん
2007/02/17(土) 00:21:580173デフォルトの名無しさん
2007/02/17(土) 00:24:32プログラミングどころか、日本語の読解能力ももとるなんて、他人ながら哀れだよ
>>172
0174デフォルトの名無しさん
2007/02/17(土) 00:32:29ここに来る方は感性の優れたエリート達ですか?
あなたが他人に伝わるように書けばいいだけの話さ。
0175デフォルトの名無しさん
2007/02/17(土) 00:35:54回答するのもVB厨、たかが知れてる。俺を除いてな。
0176デフォルトの名無しさん
2007/02/17(土) 00:45:16結局質問なしか
0177デフォルトの名無しさん
2007/02/17(土) 11:58:51このゲームにあるような制限時間のバーのようなものを作りたいんですが
分かる人いますか?
あとデジタルタイマーみたいな
20:00から段々減ってくようなタイマーの作り方も分かる人いたら
教えて下さい
0178177
2007/02/17(土) 11:59:43よろしくお願いします
0179デフォルトの名無しさん
2007/02/17(土) 12:10:09>制限時間のバー
プログレッシブバーでググれ
>20:00
タイマー貼って値を-1していく
20:00→19:59
19:59→19:57
…
19:00→18:59
となるようなロジックつくればおk
0180デフォルトの名無しさん
2007/02/17(土) 12:20:46作れるの?
やり方分かる人いたら教えて
0181デフォルトの名無しさん
2007/02/17(土) 12:22:25KeyPreviewプロパティ
KeyPressイベント
0182180
2007/02/17(土) 12:26:40画面を左右に分けて
左側にタイプさせたい文字を表示
右側にそれをタイプさせていき、打ち間違えがあったら
そこが検出できるようなものを作りたいんですが
そのようなものの作り方はわかりますか?
0183デフォルトの名無しさん
2007/02/17(土) 12:31:47コントロールの使い方がわからないとかなら説明するが
プログラミングの醍醐味であるコードを俺がかいてもしょうがないし。
ヒント?
テキストボックスに入力させて、入力時にChangeイベントを発生させるとか
KeyPressイベントで文字一致を確認させるとか
方法はたくさんある
0184180
2007/02/17(土) 12:37:23試行錯誤しながら考えてみます
0185デフォルトの名無しさん
2007/02/17(土) 13:13:15>読解能力ももとるなんて
「おとる」のtypoなのか、「もとる」の誤用なのか
気になって夜も眠れません。
0186デフォルトの名無しさん
2007/02/17(土) 13:15:010187デフォルトの名無しさん
2007/02/17(土) 14:39:460188デフォルトの名無しさん
2007/02/18(日) 17:03:31VB6.0で3Dグラフを描画するのに適した
フリーのコンポーネントって何がありますか?
目的としては、縦100点×横100点前後の微妙にデコボコしている
矩形の素材を、立体的に表示し視覚的に認識することです。
MSChartだと綺麗に表示できなかったり、プロット数が多く
なると時間がかかってしまい困っています。
0189デフォルトの名無しさん
2007/02/18(日) 17:18:170190デフォルトの名無しさん
2007/02/18(日) 20:12:57クラスごとAddするとクラス内の値は変更できる
なんで?
クラスのアドレスを参照してるから?
0191デフォルトの名無しさん
2007/02/18(日) 20:29:470192180
2007/02/18(日) 20:42:12作り方が全く分かりません・・・
どなたか作り方分かる人いませんか?
例えば残り30分からスタートしてゲージが段々減っていくような
感じのものを作りたいんですが
0193デフォルトの名無しさん
2007/02/18(日) 21:58:16値を変更出来ないのは、クラスの場合も一緒でしょ。
クラスを格納しても、コレクションにとっての値であるクラスそのものを
別のクラスに変更することは出来ず、ただ割り当てたキーでそのクラスを返すだけ。
そして返されたクラスは、クラスとして当たり前の操作が出来る。
グローバルなモジュールレベル変数やLetプロパティを用意していれば、
当たり前にその値の変更が出来る。ただそれだけのこと。
0194デフォルトの名無しさん
2007/02/18(日) 22:22:10>クラスのアドレスを参照してるから?
それで正解。
コレクションが保持してるのはクラスのインスタンスアドレスであって
メンバ変数の値を保持してる訳ではない。
だからAdd元のクラスのメンバ変数の値を変更すると
コレクションからとり出したクラスも同じアドレスを参照しているので
メンバ変数の値が変更されたように見える。
0195デフォルトの名無しさん
2007/02/18(日) 23:31:29そのゲームにあるような滑らかなゲージが欲しいなら
ピクチャーボックスを配置してLineメソッドでお絵かきしましょう
0196180
2007/02/18(日) 23:49:12中のソースはどのようにすればいいんですか?
VB初めてまだ数日で基礎の基礎もよく分かってない
状態なんで、ホントすいません・・・
0197デフォルトの名無しさん
2007/02/19(月) 00:01:07プログラマってのは、初心者であっても自分でコードを書く奴のことで
間違っても物乞いソース収集屋のことじゃないぞ
0198デフォルトの名無しさん
2007/02/19(月) 00:08:02初めにフォームとピクチャーボックスのScaleModeをピクセルにしておく
座標X=0、Y=0から座標X=10、Y=10を対角線とする長方形を黒で中身を塗りつぶして描く
Picture1.Line (0, 0)-(10, 10), vbBlack, BF
あとはMSDN見て頑張って
0199デフォルトの名無しさん
2007/02/19(月) 00:19:58これから沈んでく泥舟なんだぞw
0200デフォルトの名無しさん
2007/02/19(月) 00:42:470201デフォルトの名無しさん
2007/02/19(月) 05:19:25つうかいまさら6.0憶えてどーするんだよw
0202デフォルトの名無しさん
2007/02/19(月) 09:05:280203デフォルトの名無しさん
2007/02/19(月) 09:11:020204デフォルトの名無しさん
2007/02/19(月) 09:12:32m9(^Д^)プギャー
0205190
2007/02/19(月) 09:19:40ありがとうございます。勉強になりました。
(質問の日本語が変でスイマセン。)
やはりコレクションでAddするのはクラスのアドレスだけで、
クラスメンバは別なんですね。
昔から気になってたので、一つ謎が解けました。ありがとう
0206デフォルトの名無しさん
2007/02/19(月) 09:34:560207デフォルトの名無しさん
2007/02/19(月) 16:48:38RichTextボックスに
Call RichTextBox.OLEObjects.Add(, , App.Path & "\pic.bmp")
でビットマップを貼り付けると、裏でmspaint.exeが起動しちゃうんですけど、、、
mspaint.exeの起動を抑制する方法ってあります???
0209デフォルトの名無しさん
2007/02/19(月) 20:58:56別のオブジェクト(IE)とかを貼り付けたらどうだろう?
うろ覚えですまん。
0210デフォルトの名無しさん
2007/02/19(月) 21:03:02ObjPtr
StrPtr
VarPtr
今時VB使うならこの辺は必須だろ
0211デフォルトの名無しさん
2007/02/19(月) 21:09:43俺なら自分でそういうクラスを作るね。
内部実装がブラックボックスのVBでそんなもん怖くて使えるかよ。
これがまともなPGの感覚だと思うけど
0212デフォルトの名無しさん
2007/02/19(月) 21:17:08どこかのサイトで「バイナリを開いたらユーザー名がわかる」っていうのを見た気がするんですが、
自分で開くとプロジェクト名やモジュールは見つかりましたが、ユーザー名はのってませんでした。
アプリ公開するなら、再インストールしてユーザー名変えてからのほうがいいですか?
ネイティブコンパイルなら大丈夫ですか・・?
0213デフォルトの名無しさん
2007/02/19(月) 21:34:350214デフォルトの名無しさん
2007/02/19(月) 21:43:12アプリがずっと後まで残ることを考えたら、やっぱり恥ずかしいのもありますし。
友人ならいいけど、知らないところで詩子の名前が調べられて広まったらやっぱり嫌なので。。。
0215デフォルトの名無しさん
2007/02/19(月) 22:49:560216デフォルトの名無しさん
2007/02/19(月) 23:04:22と持ってないのにカキコ
0217デフォルトの名無しさん
2007/02/20(火) 00:36:34たしか昔は盛んに使ってたと思うんだが
とりあえず今時は資料が無くて怖いな
ちなみにVBの公開オブジェクトの内部実装はCOMです
0218デフォルトの名無しさん
2007/02/20(火) 09:23:59そんなの使うぐらいなら、VB使わない。w
0219デフォルトの名無しさん
2007/02/20(火) 10:00:140220デフォルトの名無しさん
2007/02/20(火) 10:55:00VBに拘ることの視野の狭さ?使えるアンドキュメント関数を使わない視野の狭さ?
0221デフォルトの名無しさん
2007/02/20(火) 14:07:49たぶん2つしか挙げられないこと。
0222デフォルトの名無しさん
2007/02/20(火) 14:16:56( ̄ー ̄)ニヤリ
0223デフォルトの名無しさん
2007/02/21(水) 03:28:06Visual Basic 6.0のバグで、msvbvm60.dllの修正が出る。
0224デフォルトの名無しさん
2007/02/21(水) 17:21:55タイプライブラリ名からGUIDを取得するにはどうすればいいでしょうか?
0225デフォルトの名無しさん
2007/02/21(水) 19:45:236.0で質問なんだが、プログラム実行中にテキストを打ち込むとき
Enterを押して改行できるようにする方法ってあるのか?
multilineをTrueにすると文章が行の端まで打ったら
自動的に改行はできるんだが
0226デフォルトの名無しさん
2007/02/21(水) 21:22:480227デフォルトの名無しさん
2007/02/21(水) 21:27:120228デフォルトの名無しさん
2007/02/21(水) 23:32:00ならエンターで改行されると思う。
KeyPressでなんかやってなければ。
Tabの話じゃないよな?
VB6のプロ・グラマーに質問なんだが
一定時間処理をとめたいときってタイマー使ってますか?
Sleepだと全体がとまるし、DoEventsループだと、CPU処理が99%になるから使わんほうがいいよな
(見た目だけだが)
やっぱタイマーしかないんだろうか
0229デフォルトの名無しさん
2007/02/21(水) 23:44:06普通止まったように見せてるだけだし。。。
実際に止めたらそりゃ返ってこないよ
0230デフォルトの名無しさん
2007/02/21(水) 23:56:380231デフォルトの名無しさん
2007/02/22(木) 00:36:53Public cB As clsB
■clsB
Public cA As clsA
■modS
Dim cA = new clsA
Dim cB = new clsB
set clsA.cB = cB
set clsA.cB.cA = cA
↓
cA.cB.cA.cB.cA.cB…
暇だし誰か共同でアプリ作ろうぜ
0232デフォルトの名無しさん
2007/02/22(木) 00:44:00>>230
プロプログラマー?
0233デフォルトの名無しさん
2007/02/22(木) 07:05:39厨房乙
0234デフォルトの名無しさん
2007/02/22(木) 09:13:18現在プログラム実行時に以下のエラーが発生して困っています。
エラー内容
実行時エラー'429'
ActiveXコンポーネントはオブジェクトを作成できません。
コード
Dim fso as New FileSystemObject
fso.FileExists("a.txt") '←ここでエラー発生
環境
OS:Windows XP Professional SP2
Visual Studio 6.0 SP6
ぐぐったり、ランタイムの再インストールなどしてみましたが
解決できませんでした。解決方法になりそうなことなど、わかる
方いましたらお願いしますm(_ _)m
0235デフォルトの名無しさん
2007/02/22(木) 09:53:57つhttp://support.microsoft.com/kb/247979/
0236234
2007/02/22(木) 13:40:18反応遅くてすみません。
ありがとうございます!解決しました!!
サポートオンラインも探してはいたんですけど
探し方が悪かったみたいです。助かりましたm(_ _)m
0237225
2007/02/22(木) 18:51:55もう一つ質問で、タイプ中にある時間が来たら
突然違う画面に変わるっていう構造になってるんだけど
その切り替わった瞬間に今まで打ち込んでた文章等が記録されて
実行を停止したあともそのタイプした内容を保存して確認すること
ができるような仕組みって作ることできる?
0238デフォルトの名無しさん
2007/02/22(木) 20:47:53rtf、xmlとかでもいいし、短文ならiniやレジストリに吐いても良いと思う
0239デフォルトの名無しさん
2007/02/22(木) 23:24:34どなたか方法ご存知な方いませんか?
これって拡張シェルになるのでしょうか…
0240デフォルトの名無しさん
2007/02/22(木) 23:32:12情報隠さないで、具体的に何の何処をどうしたいのか書こうよ
0241239
2007/02/23(金) 00:02:12VBアプリを常駐しておいて、他のアプリでタイトルバーを右クリックしたときでるポップアップメニューに機能追加したいんです。
「このウインドウを指定の位置に移動」とか「ウインドウを印刷」を表示して、選択したイベントをVBアプリで処理させたい。
・他アプリのポップアップに無理やり項目を追加する
・追加した項目を選択したらVBにイベントを発生させ、その処理を実行
「VB ポップアップメニュー フック」などで検索してみたんですが、他のメニューに項目追加する方法がみつかりませんでした…
WinRARなどの圧縮アプリだと、ファイルを右クリックしたときに「圧縮する」などのメニューが表示されますが
これと同じことが出来たらいいなと思っています。
判りにくかったらごめんなさい。
このサイトが勉強になるなどでも良いので、わかる方がいたらぜひ。
0242デフォルトの名無しさん
2007/02/23(金) 00:03:07別のマシン(WINXP SP1)に\Packageフォルダごとコピーして、\Package 下のsetup.exe で
インストールしよとすると、インストール途中でエラーが発生します。
どうすれば解決できるでしょうか?
インストール時のエラーメッセージは
"ファイルC:\WINDOWS\system32\DATAFORM.OCXの登録中にエラーが発生しました。"
です
0243デフォルトの名無しさん
2007/02/23(金) 00:36:19ファイルの右クリックメニューはレジストリ依存。君がやろうとしてる事とは全く別物。
「システムメニュー 拡張」とかでググってみろ。自身のシステムメニューを拡張する方法から
他のアプリのメニューを弄る方法まで、いろいろ解説やらサンプルやらが転がってる。
これで解らなければ君には無理って事だ。諦めろ。
0244239
2007/02/23(金) 00:39:40たとえばWinRARとかブラウザのメニューなんかは、その時点でアプリが起動してるわけではないので
動き的に違うのはわかってたんですが、やりたいことのイメージとしてそれくらいしかわからなかったので…
ありがとうございます。これから検索して調べてみます。
0245デフォルトの名無しさん
2007/02/23(金) 05:11:42ご存じの方、いらっしゃいませんか?
今は、ボタンをクリックしたら、
Dim ShellApp As Object
Dim oFolder As Object
Set ShellApp = CreateObject("Shell.Application")
Set oFolder = ShellApp.BrowseForFolder(0, "フォルダを選択してください。", &H10&)
として、oFolder.items.Item.Path からフォルダのパスを得ています。
ボタンをEnableにしたままだと、何個も表示されるので困っています。
フラグ等を用いる方法も考えましたが、ダイアログがモーダルなのが一番よいと思いまして
書き込みました。
0246デフォルトの名無しさん
2007/02/23(金) 07:44:46Shell.ApplicationではなくWin32APIの方を使おうよ
0247デフォルトの名無しさん
2007/02/23(金) 13:02:55そのIDがあれば結果を表示して該当データがなければメッセージボックスを表示させるんですけど
SQL文を実行して成功したら表示or失敗したらメッセージボックスの部分がわかりません
0248デフォルトの名無しさん
2007/02/23(金) 13:18:52そうですか
0249デフォルトの名無しさん
2007/02/23(金) 13:19:370250デフォルトの名無しさん
2007/02/23(金) 13:27:350251デフォルトの名無しさん
2007/02/23(金) 13:30:010252デフォルトの名無しさん
2007/02/23(金) 14:03:58それに件数0の場合とテーブルないときの失敗じゃ処理違うし
■ このスレッドは過去ログ倉庫に格納されています