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/
※「まず自分で調べる」クセを身につけよう。
0075デフォルトの名無しさん
2007/02/05(月) 16:56:15ダウンロード元のサイトに問い合わせてください
0076デフォルトの名無しさん
2007/02/05(月) 17:01:18はい。
0077デフォルトの名無しさん
2007/02/05(月) 17:24:02'ランダム値
wsrand = Int((70 - 51 + 1) * Rnd + 51)
MSGBOX("wsrand")
Next k
この場合ですが、ループしている間
同じ数値を出さない方法というのはありますでしょうか?
0078デフォルトの名無しさん
2007/02/05(月) 17:26:440079デフォルトの名無しさん
2007/02/05(月) 17:50:0351〜70までのランダムな数字を
15個取ってるって感じか?
MSGBOX("wsrand")
これが理解不能・・・
なんで値じゃなくて
String型の文字列を
表示させてるんだ・・・?
0080デフォルトの名無しさん
2007/02/05(月) 18:49:290081デフォルトの名無しさん
2007/02/05(月) 18:53:29http://f8.aaa.livedoor.jp/~spring/up/img/089.jpg
http://f8.aaa.livedoor.jp/~spring/up/img/088.jpg
やろうとしていることは、File1で表示されている名前をtxtFileNameに表示させて、
ファイル名を変更して上書きしたいのですが、実行すると、エラーで「ファイルがみつかりません」
となってしまいます。
プログラムをどのように変更したらいいのか、教えてください。
0082デフォルトの名無しさん
2007/02/05(月) 19:12:07てか、そもそも変更の元になるVBのソースはどこだよwww
↓と言う事でエスパーヨロwww
0083デフォルトの名無しさん
2007/02/05(月) 19:37:58Nameのファイル名のところ、なんでダブルコーテーションで囲ってるの?
0084デフォルトの名無しさん
2007/02/05(月) 19:47:010085デフォルトの名無しさん
2007/02/05(月) 20:45:13VBAならオフィス持ってれば無料で手に入るw
0086デフォルトの名無しさん
2007/02/05(月) 20:46:32開いたときに、ときどきフォームの高さが変わるんですけど
原因はなにがかんがえられますでしょうか?
008786
2007/02/05(月) 21:04:12008886
2007/02/05(月) 21:34:490089デフォルトの名無しさん
2007/02/05(月) 22:55:37そうなる事がある
VBの統合環境のバグっぽい
0091デフォルトの名無しさん
2007/02/06(火) 05:48:20VFAT初期化エラだ氏ねw
レジ復帰させて戻したが
あークリーンインスコしないとだめぽいメンドクサ
やめたw
0092デフォルトの名無しさん
2007/02/06(火) 09:00:040093デフォルトの名無しさん
2007/02/06(火) 11:16:02Do
DoEvents
処理A
Do
処理B
Loop
Loop
というコードがある場合、処理Bのループ中にもDoEventsの効果は働くのでしょうか?
また次の場合はどうですか?
Do
DoEvents
Call SHORI
Loop
Sub SHORI
Do
処理
Loop
End Sub
0094デフォルトの名無しさん
2007/02/06(火) 11:26:17DoEventsは、その実行時に溜まってたイベントキューを処理してお終い。一期一会なの。
0095デフォルトの名無しさん
2007/02/06(火) 11:49:52大変よく分かりました!ありがとうございました。
0096デフォルトの名無しさん
2007/02/07(水) 11:29:11受信データ(OutlookExpress)は、問題なく取り出せるのですが、
次の2点で苦慮しています。
�@受信トレイの内容は取り出せるが、受信トレイ下のサブフォルダは何もしてくれない。
�A取り出すと全て、既読になってしまう。
サブフォルダの指定はあるのでしょうか、そして既読・未読を変更することなく
処理できないものでしょうか?
0097デフォルトの名無しさん
2007/02/07(水) 12:48:55自動でドキュメントを作成するツールで
皆様のお薦めはないでしょうか?
A HotDocumentは体験版がないし、
Vα体験版だとドキュメント生成中に
「オーバーフローしました」なんてエラーで
まともにドキュメントが生成されないので、
他の選択肢を探しています。
0098デフォルトの名無しさん
2007/02/08(木) 15:28:19俺もかじった事しかないけど
受信フォルダ限定で既読になりますよ
って制限してたきがする
結局大人しくBASP21つかってガリガリ自作したけど(;´∀`)
0099デフォルトの名無しさん
2007/02/08(木) 15:49:520100デフォルトの名無しさん
2007/02/08(木) 15:54:28そんな事より・・・
やらないか?
0101デフォルトの名無しさん
2007/02/08(木) 16:13:110102デフォルトの名無しさん
2007/02/08(木) 23:05:41はよう糞まみれになろうや。
0103デフォルトの名無しさん
2007/02/09(金) 00:30:18name?
0104デフォルトの名無しさん
2007/02/09(金) 16:50:31使用した事はないけれども、フリーソフトがある。
試してみたら、そしたら使い勝手を教えてくだされ。
http://www.vector.co.jp/soft/win95/prog/se356242.html?g
0105デフォルトの名無しさん
2007/02/09(金) 17:46:06FSO使うべし
0106デフォルトの名無しさん
2007/02/09(金) 23:38:08これってexe内部に組み込むことできんのかな?
.manifestをexeと同じ階層に置くのって、かなり見苦しく感じるんだけど。
0107デフォルトの名無しさん
2007/02/10(土) 00:16:32初めて書き込みます。
VB6で動画を再生たいんだけど
そのときに外部のtxtから開始と終了時刻を指定したいんだけど、
だれか何か知ってたら教えてほしいです。
ちなみに現状はこんな感じ。
Private Sub Form_Load()
MMControl1.DeviceType = "MPEGVideo"
MMControl1.FileName = App.Path & "\0129.mpg"
MMControl1.Notify = False
MMControl1.Wait = True
MMControl1.Shareable = False
MMControl1.Command = "Open"
MMControl1.TimeFormat = mciFormatHms
MMControl1.From = 30:
MMControl1.To = 200::
End Sub
Private Sub Form_Unload(Cancel As Integer)
MMControl1.Command = "Close"
End Sub
0108デフォルトの名無しさん
2007/02/10(土) 00:37:49こんな感じか?
C:\test.txtの一行目に開始時間、二行目に終了時間を書いて
Dim strTemp As String
Dim i As Integer
dim j as Integer
Dim strStartTime As String '開始時間
Dim strEndTime As String '終了時間
Open "C:\test.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, strTemp
j = len(strTemp)
Lset strTemp = strTemp & "ReadTime" & strTemp
strTemp = mid$(strTemp,1,j)
If i = 0 then
strStartTime = strTemp
Else
strStartTime = strTemp
End If
i = i + 1
Loop
Close #1
0109デフォルトの名無しさん
2007/02/10(土) 00:56:37MSのManifest Tool (mt.exe)を使うのが比較的簡単だと思う。
Visual Studio 2005(VC++ EEで確認)やWindows SDKに入っている。
勿論一般にあるEXE/DLLのリソースをいじるソフトでもできる。
リソースの種類はRT_MANIFEST(具体的な数値は覚えていない)で、
リソースIDはEXEなら1、DLLなら基本的に2にしてやる。
0110デフォルトの名無しさん
2007/02/10(土) 01:02:01Input使うんだよね。
組み込み方参考にします。
それで、再生時刻の指定の仕方ってわかる?
mciFormatHmsとか何種類かあるけど、
いまいち記述の仕方がわからなくて…。
MMControl1.TimeFormat = mciFormatHms
MMControl1.From = 30:
MMControl1.To = 200::
って適当に記述したんだけど、
うまくいかなくって。。。
0111106
2007/02/10(土) 12:21:00�dクス。
VB2005EE内探してみたけどmt.exeなかった。
Cだけか(`д´)ノ
RT_MANIFEST書き換えでがんばってみる。
>>110
MSDN見てみたけど、それだと時間の指定がおかしくないか?
MMControl1.TimeFormat = mciFormatHms
時、分、および秒形式をパックして長整数の値で表します。各データの順序は次のとおりです。
時 (最下位バイト)
分
秒
未使用 (最上位バイト)
0112デフォルトの名無しさん
2007/02/12(月) 12:19:31DBからレコードを読込んで配列に格納しているんですが、
レコード数をカウントするにはレコードセットの”.RecordCount”と、
配列のUBound関数とどちらが負荷が少ないでしょうか?
別に変わらないですか?
よろしくお願いします
0113デフォルトの名無しさん
2007/02/12(月) 13:04:28配列格納後ならUBoundの方が良いと思う。
0114112
2007/02/12(月) 13:11:42おー
ありがとうございます。
0115デフォルトの名無しさん
2007/02/12(月) 15:21:51(a) 年4桁、月日時分秒2桁で、順番は左から年月日時分秒の順
(b) 半角文字のみで表現し、\ / : , ; * ? " < > | . とスペースを使わない
(c) CDate関数で直接日付型に変換可能
例えば「2001,02,03 12.34.56」なんてのは(b)に反する
「2001-02-03_12-34-56」だと(c)に反する
今は「2001-02-03_12-34-56」を日付型に変換する自作関数使ってるけど
そんなものを使わないで済む上手い表現があれば使いたいので
0116デフォルトの名無しさん
2007/02/12(月) 15:40:25その文章では君が何をしたいのか、誰にも伝わらないと思う。
0117デフォルトの名無しさん
2007/02/12(月) 15:51:03CDateはロケール依存だから、
ロケールに依存せず解釈してくれる
日付リテラルである#(Month)/(Day)/(Year)#を使うか、
ロケールに準じた日付リテラルを使うしかない。
0118デフォルトの名無しさん
2007/02/12(月) 15:51:54つか、そもそも自作関数で取り回しているなら、
その方向性を維持した方が幸せになれる。
0119デフォルトの名無しさん
2007/02/12(月) 16:00:03サッパリわからん文章を自分の頭で勝手に補完して回答する奴はもっとオカシイと思う
0120デフォルトの名無しさん
2007/02/12(月) 17:50:350121デフォルトの名無しさん
2007/02/12(月) 18:21:17サッパリわかってないのは全体の数パーセントという落ちだよコレは
0122デフォルトの名無しさん
2007/02/12(月) 18:49:48一.答えられない質問は無駄に罵倒せずスルー。無理するな。
って書くやつ最近見ないな
そういってるやつに限って変な回答してそう
0123デフォルトの名無しさん
2007/02/12(月) 20:54:17csvファイルのA、B、C、D、E、F、G列の各最大値、最小値、平均値を
抜き出して新しいcsvファイルに
A列の最大値、最小値、平均値、B列の最大値、最小値、平均値、C列の最大値、最小値、平均値、D列の・・・・・・
というように書き出したいのですが、どうすればいいでしょうか?
よろしくお願いします
0124デフォルトの名無しさん
2007/02/12(月) 22:15:12別に煽りじゃなく、それを実現するコードを書く、としか言いようがないと思うけど。
0125123
2007/02/12(月) 22:20:48最大値、最小値、平均値の求め方が聞きたかったのですが・・・
どうすればいいのでしょうか?
0126デフォルトの名無しさん
2007/02/12(月) 22:36:12で、その「自分でやったこと」を「コンピュータにやらせる」ことを考えてみれば?
0127デフォルトの名無しさん
2007/02/12(月) 22:46:32少なくとも小学6年生の俺は間違いなく平均値の出し方知ってたw
0128123
2007/02/12(月) 22:51:14そこまで簡単に言うのならソース書いてくれないですかね?
0129デフォルトの名無しさん
2007/02/12(月) 23:18:01| ノ\ ヽ |
/ ●゛ ● | |
| ∪ ( _●_) ミ j
彡、 |∪| | J
/ ∩ノ ⊃ ヽ
( \ / _ノ | |
.\ “ /__| |
\ /___ /
0130デフォルトの名無しさん
2007/02/12(月) 23:22:38|
∩___∩ |
| ノ _, ,_ ヽ (( | プラプラ
/ ● ● | (=)
| ( _●_) ミ _ (⌒) J ))
彡、 |∪| ノ
⊂⌒ヽ / ヽノ ヽ /⌒つ
\ ヽ / ヽ /
\_,,ノ |、_ノ
0131デフォルトの名無しさん
2007/02/12(月) 23:41:13誰かお願いします。
0132デフォルトの名無しさん
2007/02/12(月) 23:45:22>126
0133Hough
2007/02/13(火) 00:59:320134デフォルトの名無しさん
2007/02/13(火) 02:02:320135デフォルトの名無しさん
2007/02/13(火) 05:49:510136デフォルトの名無しさん
2007/02/13(火) 11:04:180137デフォルトの名無しさん
2007/02/14(水) 01:02:090138デフォルトの名無しさん
2007/02/14(水) 14:18:54VB6でCollectionを使っているのですが、関数の戻り値として複数のCollectin値を
受け取るにはどのようにしたらよいのでしょう。
一つだけなら出来るんですが、二つ以上の書き方がわからなくて困ってます。
ぐぐってはみたのですが、思うようなサンプル等も見あたら無くって。
0139デフォルトの名無しさん
2007/02/14(水) 14:28:25現在VB6.0+Accessで開発しているのですが。
VBで名前を入力すると自動的にふりがなも入力されるような処理を実現しようとしてるのですが、うまくいかなく困っています。
Accessのふりがな機能を使ってみたのですが、VB側から書き込むとふりがなが入りませんでした。
わかる方がいらっしゃったらお願いします。
0140デフォルトの名無しさん
2007/02/14(水) 14:28:44CollectionのItemにコレクションをAddするとか
Private Hoge() AS Collection()
という配列の関数にするとか。
漏れは前者がお勧め。
0141デフォルトの名無しさん
2007/02/14(水) 14:36:37Collectionの値をCollectionにするんですか。
なるほど、ありがとうございます。さっそくやってみます。感謝!
0142デフォルトの名無しさん
2007/02/14(水) 14:48:41出来ました。
ありがとうございました。
0143デフォルトの名無しさん
2007/02/14(水) 14:53:25ん〜・・・、入れたいデータの種類や数が決まってるのなら、
Collectionなんかにするより専用のクラス作ったほうが
処理も早いし、消費メモリーも少なくて済むし
コードの分かりやすさ的にも優れてるんじゃないだろうか
クラスの作り方わかんねってんならPublicで使いたいデータ分、変数宣言しとけということで
0144デフォルトの名無しさん
2007/02/14(水) 15:03:21まだクラスにまでたどり着けない初心者です><
最初はtypeで宣言してたんですけど、削除や挿入がめんどうで。。。
おいおい勉強しますorz
0145デフォルトの名無しさん
2007/02/14(水) 15:54:11ちょっと古畑のかほりがしたw
0146デフォルトの名無しさん
2007/02/14(水) 23:19:06ん〜 だけじゃねぇかw
0147デフォルトの名無しさん
2007/02/15(木) 17:43:38は何を入れたらいいのですか?
0148デフォルトの名無しさん
2007/02/15(木) 19:47:36例えば
携帯
充電
二つの項目があり現状はどちらか一方しか選べないんですがこれを
CTRLキーを押して二つ選択したいのですがどうしたらいいのかわかりません
どなたかわかる方いらっしゃいましたら教えていただけますか
お願いします
0149C ◆wG1CV58ydQ
2007/02/15(木) 20:04:07例: float CTRL;
このように。
0150デフォルトの名無しさん
2007/02/15(木) 20:56:16Declare Function JChrType% Lib "QPRO300.DLL" (Source$, ByVal X%)
このように宣言してあるJChrTypeを呼ぼうとするとQPRO300.DLLが見つかりませんと
エラーメッセージがでます。
QPRO300.DLLはc:\winnt\systemの下にあって、VB4のほうでは問題なく動いています。
・QPRO300.DLLをsystem32にコピーする。
・QPRO300.DLLをカレントディレクトリ(vbpファイルのあるディレクトリ)にコピーする
・Declare Function JChrType% Lib "c:\winnt\system\QPRO300.DLL"
(Source$, ByVal X%)
とフルパスで指定する
・Declare Function JChrType% Lib "QPRO300" (Source$, ByVal X%)
と.DLLをとる
と試してみましたが、どれもダメでした。
どうすればVB6がDLLを見つけられるようにできますか?
0151デフォルトの名無しさん
2007/02/15(木) 22:44:420152デフォルトの名無しさん
2007/02/15(木) 22:51:08そうかもしれませんけど、エラーメッセージが「みつかりません」だから、
文字通り見つからないのかな、と。
やっぱり16bitDLLだから読めない→見えない→見つからないってことでしょうかね。
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ここに来る方は感性の優れたエリート達ですか?
あなたが他人に伝わるように書けばいいだけの話さ。
■ このスレッドは過去ログ倉庫に格納されています