トップページ⇒tech
1001コメント307KB

VBプログラマ質問スレ(6.0以前) Part51

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2007/01/28(日) 10:57:31
ここは Visual Basic 〜6.0 の質問スレです。
質問者は使用している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
Google
 http://www.google.co.jp/

※「まず自分で調べる」クセを身につけよう。
0652デフォルトの名無しさん2007/03/24(土) 02:19:37
>>651
アイコンタスクトレイに入れて終了時に消すの
今やってみたけど全然問題ないぞ?

FormLoadで登録して
FormUnLoad時に削除するのでやってみたけど大丈夫っぽ
0653デフォルトの名無しさん2007/03/24(土) 02:23:59
>>650
>マウスポインターをタスクトレイに持っていったりしないと消えないんです。
フォームロードでアイコン追加して、アンロードで削除してるでしょ?
たぶんフォームがきちんと開放されていないか、フォームを閉じたあとに標準モジュールあたりから
フォームのプロパティとかにアクセスして自動的に再ロードされてるんじゃないかと。
登録/削除それぞれのShell_NotifyIconの次の行にでも Debug.Pring "登録" とか入れて流れを見てみ。

>「はい」「いいえ」等のボタンを配置すると
タスクトレイにアイコン登録して MsgBox("", vbYesNo) としてみたが再現しない
見たことない現象だけに、再現できない以上回答しようがないな・・・
06546462007/03/24(土) 02:38:20
>>652,653
有難うございます。
もうちょっと頑張ってみます。
0655デフォルトの名無しさん2007/03/24(土) 02:39:20
>>653
後者の件
そういえば、呼び出したフォームのVisbleがFalseならそうなるんじゃぁなかったかな?
しかも、実行モジュールの時だけとか限定があったりしたような・・・
そんな記憶があったような・・・・

曖昧ですまん

0656デフォルトの名無しさん2007/03/24(土) 15:13:38
VBおもしろそうだな。VBやってた頃が一番楽しかったな。
0657デフォルトの名無しさん2007/03/24(土) 17:29:58
面白かったが制限がきつかった
継承できないとか

でも、手軽さは一番だったと思う
0658デフォルトの名無しさん2007/03/24(土) 20:09:40
過去形で話さないで下さい
0659デフォルトの名無しさん2007/03/24(土) 20:36:37
VBしか使えない奴に限って、VBなんて過去の遺物と言い放ち
過去の物として語ったりするよね。実際には今でもVBに頼りっぱなしなのにw
0660デフォルトの名無しさん2007/03/24(土) 21:41:59
さすがにVB6は新規開発ではないと思うが・・・・
釣りか?
0661デフォルトの名無しさん2007/03/24(土) 22:05:57
?
0662デフォルトの名無しさん2007/03/24(土) 22:23:44
VB6がネイティブじゃなくランタイムいるからって敬遠してる奴いるよな
Cとかアセンブラじゃなけりゃ JAVAなんかだってランタイムのようにVM必要なのに・・・・
0663デフォルトの名無しさん2007/03/24(土) 23:06:39
>>662
Java厨に関しては馬鹿だからそれを気にしないだけ。
0664デフォルトの名無しさん2007/03/25(日) 02:21:13
>>660
昨日VBで新規開発のシステム納品しましたが何か?
0665デフォルトの名無しさん2007/03/25(日) 07:55:55
>>660
俺も今年に入ってからVB6新規開発で受注したけど何か?

客先から「俺たちが知らない言語は使うな」ってお達しなんだよwww
0666デフォルトの名無しさん2007/03/25(日) 11:57:22
スレタイも読めない低能のお前らに最適なスレを紹介してやるよ。

ttp://pc11.2ch.net/test/read.cgi/tech/1164376614/
0667デフォルトの名無しさん2007/03/26(月) 10:22:41
MDAC関連で「エラーを特定できません」というエラーが発生する場合があります。
MDACは何かログなど出力していないでしょうか?
0668デフォルトの名無しさん2007/03/26(月) 11:55:10
vistaにmsjro.dllを使ったものをインストールしようとするとエラーでできないのですが
これの解決策について情報があれば教えてください。
06696682007/03/26(月) 12:09:54
>>668 と同じくmsadox.dllも同様にエラーでインストール完了できません。
XPだと問題ないのでvista固有の問題みたいです。
0670デフォルトの名無しさん2007/03/26(月) 15:34:24
vistaはVBのランタイムが最初からインスコしてなかったっけ?
適当で申し訳ないが、上書きするなという意味じゃマイカ?
0671デフォルトの名無しさん2007/03/26(月) 18:19:21
ADOは2000あたりからシステムコンポーネントになったから、
インストールしてはいけない。
06726682007/03/27(火) 10:02:20
>>671
あの2つを外したらエラー無くインストできました ありがとう
0673デフォルトの名無しさん2007/03/27(火) 22:25:36
VB厨必死杉
0674デフォルトの名無しさん2007/03/27(火) 22:34:45
>>673
そう叩いてやんなよ
新しいOSってのもあるしさ(;´∀`)
ぶっちゃけ俺も迷ってたかもしれない

たぶん使わないけど
0675デフォルトの名無しさん2007/03/27(火) 23:32:38
> VB厨必死杉
なんて言う奴に限って、VBしか使えないどころかVBすらまともに使えてないという法則w
0676デフォルトの名無しさん2007/03/28(水) 08:50:21
かといって「VBならできます」ってやつもVBすらできないから安心しる。
0677デフォルトの名無しさん2007/03/28(水) 10:53:30
そこお若いの…
Vistaは…Vistaはやめとけ
絶対やめとけ
何が何でもやめとけ
0678デフォルトの名無しさん2007/03/28(水) 10:54:37
出た当初は何でもそういわれるものだ。
XPもひどい言われようだった。

そんな俺はSP1が出てから移行する派
0679デフォルトの名無しさん2007/03/28(水) 15:43:05
VB6のDHTMLEdit、WebBrowserはVistaに移行できる?
0680デフォルトの名無しさん2007/03/28(水) 23:34:43
「VBできます」と宣ってる奴のなかでクラスとユーザーコントロールをまともに作れる奴はどれくらいいるんだろうか?
0681デフォルトの名無しさん2007/03/28(水) 23:41:56
クラスを使うにはプロジェクトリーダーの許可が必要だよぅ
0682デフォルトの名無しさん2007/03/28(水) 23:48:14
>>680
そういう事を恥ずかしげもなく言えるヤシもどうかと思う。
せめて、OOPを意識したPG、くらいの気の利いた言葉が欲しい。
0683デフォルトの名無しさん2007/03/29(木) 00:03:31
そでが気の利いた言葉だと思っちゃう奴もどうかとw
0684デフォルトの名無しさん2007/03/29(木) 00:05:42
構造体のほうがデータの扱い方にバリエーションがあっていいよ
API使えばゼロクリアとか楽

VB6のクラスは構造化の1方言にしかすぎない
0685デフォルトの名無しさん2007/03/29(木) 00:10:29
おいおいそりゃまた酷い誤解だな。
誤解というより無知なんだなw
0686デフォルトの名無しさん2007/03/29(木) 01:26:42
>>684
お前とはあんま一緒に仕事したくないな
0687デフォルトの名無しさん2007/03/29(木) 08:53:31
俺も。

>>684とは絶対いっしょに仕事したくない。
俺はクラスモジュールでデータクラスを書いたり更新などなどのメソッドを肉付けしていく派。
0688デフォルトの名無しさん2007/03/29(木) 09:01:04
どうでもいい。
VB厨同志で罵り合う必要もないだろ。

ドドネトになって構造体にもメソッドもてるようになり、
実行速度を考慮すると、クラスではなく構造体の方が
いい場合も。
0689デフォルトの名無しさん2007/03/29(木) 09:13:27
構造体は流用できん
0690デフォルトの名無しさん2007/03/29(木) 09:31:22
まとめますと、適材適所という事ではどうでしょう。 閣下>>689
0691デフォルトの名無しさん2007/03/29(木) 09:56:51
誰かAccessで吐き出したCSVを自由に読めるクラス作って!!
0692デフォルトの名無しさん2007/03/29(木) 09:59:56
>>691

あほか
そんなもん誰でも出来るだろうが
つうかググって自分でやれカス
0693デフォルトの名無しさん2007/03/29(木) 10:00:14
Access使え
06946912007/03/29(木) 10:02:58
できるとわかっているものを作るのは面白くないから
作って!!
0695デフォルトの名無しさん2007/03/29(木) 10:28:35
>>694
死ね
ソフトウェア板へ行って来い
もう二度と来るなよチンカス
0696デフォルトの名無しさん2007/03/29(木) 12:30:05
VB6ってCommandButtonの文字色を変えるのは不可能なんでしょうか?
0697デフォルトの名無しさん2007/03/29(木) 12:49:35
>>696
やる気になれば出来る
つうか、やった
ググったらでてくるぜ
0698デフォルトの名無しさん2007/03/29(木) 17:28:38
>>697
調べてみたけど難しそうなので今回はあきらめましたorz
残念だけど既存のプロジェクトの修正だし、あまり時間も
かけてられないので。


レスありがとう。
0699デフォルトの名無しさん2007/03/29(木) 18:36:51
やる気があればなんでもできる
逝けば分かるさ
0700デフォルトの名無しさん2007/03/31(土) 01:26:18
>>697
mjd?
BommandCuttonの文字色って継承せんでも変えられるんか…
0701今日VB始めました2007/03/31(土) 02:04:08
VB 2005 使用
テキストファイル内の複数行から一行だけを削除するには、どのようにすればいいのでしょうか?
ファイルを開き、一度変数に読み込み、上書きするのも考えましたが他に手は無いでしょうか?
0702デフォルトの名無しさん2007/03/31(土) 02:08:19
>>701
スレタイから読み返せ
0703デフォルトの名無しさん2007/03/31(土) 02:25:29
>>700
オーナードローすれば出来るでよ

でもめんどくさいのとサブクラス化するのでまぁ・・・俺は出来るだけ避けてた
0704今日VB始めました2007/03/31(土) 03:15:32
スレタイ見おとしでした、大変すみませんでした。
0705デフォルトの名無しさん2007/03/31(土) 10:51:49
>>688
つうか6.0まではVBで.netからは将来性を考えたら普通C#に切り替えると思うけどな
0706デフォルトの名無しさん2007/03/31(土) 14:48:22
>>705
どっちもかわんねぇwwwww
どっちかできたら基本的には変わんないじゃん
ちょっとC#のがイイ所多いとは思うんだけどね

将来的にってことはVB.NETは消えるのか?
0707デフォルトの名無しさん2007/03/31(土) 15:02:19
ボタンのデフォルトのサイズを
変更出来ますか?
つまり、フォームにダブルクリックして貼り付ける時の
サイズを変更したいのです。
デフォルトだとなんか妙に高さがありますよね。VC++の
ボタンくらいの大きさにしたいです。

0708デフォルトの名無しさん2007/03/31(土) 15:04:47
BASICはマイクロソフト株式会社のルーツだから無くなるわけがない
ビルゲイツが生きている限りは進化発展する
0709デフォルトの名無しさん2007/03/31(土) 15:23:27
>>707
自分でSizeプロパティ書き変えたらいいやん
えと・・・WidthとHeightだっけ?
0710デフォルトの名無しさん2007/03/31(土) 19:34:18
書き替えた値をデフォルトにしたいのです。
0711デフォルトの名無しさん2007/03/31(土) 20:13:34
>710
コンストラクタが何のためにあるのか考えろ。
デザイナの都合上、コンストラクタが利かない場合は、ControlDesigner.OnSetComponentDefaultsあたりだな。
0712デフォルトの名無しさん2007/04/02(月) 11:07:14
VBはせっかくインデントそろえて見やすいソースにしても
勝手に整形するから大嫌いだ
0713デフォルトの名無しさん2007/04/02(月) 11:18:32
>>712
え・・・?
0714デフォルトの名無しさん2007/04/02(月) 13:07:45
>>713
インデント(行頭字下げ、行末字上げ)じゃなくて、
中間位置揃えのこと言ってるんだとエスパーしてみる。
  a    = 10
  bbbbb = 20
が
  a = 10
  bbbbb = 20
となってしまうように。
0715デフォルトの名無しさん2007/04/02(月) 14:40:56
ActiveBasicのあしもとにも及ばない糞言語乙
0716デフォルトの名無しさん2007/04/02(月) 14:41:41
俺はコードの再フォーマットを無効にしてるな。
0717デフォルトの名無しさん2007/04/02(月) 14:50:32
まだ春休みか
厨がイナゴのように涌いては消える。
0718デフォルトの名無しさん2007/04/02(月) 16:08:08
>>716
それをやると他に弊害が…
0719デフォルトの名無しさん2007/04/02(月) 20:54:59
逆に考えるんだ。アメリカ人のようにプロポーショナルフォントをつかうんだ。
0720デフォルトの名無しさん2007/04/02(月) 22:07:00
社内用に作ったフォーム1個と標準モジュール1個のしょぼいプログラムなんですが
完成して運用してたら、気がついたらソース消しちゃってましたw
どうにかリバースエンジニアリングできないですかね?
もう一回書くの面倒だし・・・C#にでも移行しようかな・・・
0721デフォルトの名無しさん2007/04/02(月) 22:08:32
実際ActiveBasicも悪くはないけどね
言語仕様が全然決まってないから覚える価値なしだが
0722デフォルトの名無しさん2007/04/02(月) 23:39:12
ABやるくらいならDやっとけ
0723デフォルトの名無しさん2007/04/03(火) 04:08:03
DやるぐらいならC#かDeiphi
0724デフォルトの名無しさん2007/04/03(火) 08:56:52
・・・で、でいふぁい???
0725デフォルトの名無しさん2007/04/03(火) 14:55:17
orz
0726デフォルトの名無しさん2007/04/03(火) 15:37:55
VB6いいよね
0727デフォルトの名無しさん2007/04/03(火) 17:53:07
上位システムがFTPでファイルを送り込んでくるのだが、確実にファイルがクローズしてから
次の処理にかかりたい。これを無人で運用するにはどのような方法がありますか?
以前は上位側からrshでキックしてもらってました。nt4用のrshdを使ってました。
今回はXPなのでrshdがありません。 書き込み中ならループというような処理にしたい場合は
どのような手法がありますか?
0728デフォルトの名無しさん2007/04/03(火) 18:46:30
>>727
俺らはロックファイル作ってもらってたけどな
Readも出来ないようにSharedで書き込んでもらえば?
07297282007/04/03(火) 18:50:34
回答になってなかったwww

>>727
どういう監視してるかによるけど、そのファイル見っけたら
開けるようになるまでDo Loopのなかで開こうとすればいいんじゃね?
エラーになったらまたループしてまたチェックみたいな

do

on error goto BBB

ファイル開いてみる

成功したら exit do (念のためタイムアウトも設定)

BBB:
loop

ザーッくりかくとこういうの
詳細がわからないんでこれくらいしか今んところかけない
0730デフォルトの名無しさん2007/04/03(火) 19:33:59
書き込みが止まってから*分後に処理、とか。
0731デフォルトの名無しさん2007/04/03(火) 19:40:07
ftp で AAA.dat を AAA.dat.tempの名前でアップロード
ftp で 転送先のファイルを元の名前にリネーム
プログラムは数秒のインターバルで *.dat をスキャン。
あったら処理後、AAA.dat を消去。
この方法だと AAA.dat がそのままロックファイルとして使用できる。
0732デフォルトの名無しさん2007/04/03(火) 19:47:50
明確な規定はないと思うのだけど、使った経験のあるftpdでは
ftpで送信していて途中で中断した場合その途中までのファイルは出来ている。
転送途中でも大概オープンできる。
一定量受信するごとにオープン・追加書き込み・クローズを繰り返している感じだ。
なものでオープンできたことをもって正常に受信が完了したことの判定には使えないと思う。
0733デフォルトの名無しさん2007/04/03(火) 19:53:59
接続が切れたらcloseしてるだけじゃないの。
一定量毎にclose,openをする意味が分からない。
0734デフォルトの名無しさん2007/04/03(火) 20:08:56
ソースを見たわけではないからこの部分はあくまで予想なんだけど
>一定量受信するごとにオープン・追加書き込み・クローズを繰り返している感じだ。 
次の部分はいくつか試してみた結果。
>転送途中でも大概オープンできる。
読み込みの可能な状態で書き込みをやってる可能性ありと思って、
完全な排他状態でオープンしたらそれもできてしまったので最初のように思ったわけです。
ただ特定の環境に依存しそうな結果だったので、
オープンできるできないを判定の基準に使わないことにしたということです。
0735デフォルトの名無しさん2007/04/03(火) 20:38:21
ftp中はテンポラリな名前にして、完了したらrenameするとか
0736デフォルトの名無しさん2007/04/03(火) 21:03:18
FTPサーバー書けばいいじゃん
転送が終ったらイベントでも出すような。
0737デフォルトの名無しさん2007/04/03(火) 21:37:51
VB6でFunctionから値を返すのはどーすんだ?
Return a
でやるとエラーになっちゃうんだけど
0738デフォルトの名無しさん2007/04/03(火) 21:38:44
private function AAA as string


なら
AAA=""

でおk
0739デフォルトの名無しさん2007/04/03(火) 21:40:23
1009
ありがとう
0740デフォルトの名無しさん2007/04/03(火) 23:52:59
なんつーかVB6が最強
これ以降は重いしなんか全てがバグっぽいし結局VB6にもどってくることになる。
0741デフォルトの名無しさん2007/04/04(水) 04:40:17
今からVB6を学ぶメリットはある?
0742デフォルトの名無しさん2007/04/04(水) 08:27:59
Excelなんかのマクロを書くのに役立つと思う
07437272007/04/04(水) 11:51:51
>>728-736 レスありがとう  
ロックファイルか 転送後リネームですね。試してみます。
07447272007/04/04(水) 16:45:09
上位側システムではftpしたらその後の戻り値を検出できないらしくどっちもxでした。
厳密にいうとrshでも駄目だったはずでした。
で、下記のソースを使って判定したら今のところ上手くいったので報告しときます。
ttp://support.microsoft.com/kb/172240/ja
要するに「読み取り専用および排他共有でオープン」出来るかどうかで判定すれば
いいわけですね。XP(ntfs) vb6 testに使ったのはtinyFTPD 
0745デフォルトの名無しさん2007/04/04(水) 23:43:16
>>744
そこまでしなきゃいけないことはなかったが
とりあえずそこまでしなきゃいけないほどの仕事もあるんだなって勉強にはなった
0746デフォルトの名無しさん2007/04/05(木) 00:25:09
.NETとかテライラナス
VB6SP6が最強
SP入ってないとWindowsXPVisualStyleをリソースに入れれない。
0747デフォルトの名無しさん2007/04/05(木) 02:50:10
おそらく禿げしく既出かも知れないが、検索してもなかなか見つからないので・・・

環境
Win2000Sp4
VB6SP5
ATOK13

エディタ上で検索ダイアログを出し、文字列を入力しようとした時、
2文字以上の漢字、例えば「検索」「該当」などを変換確定すると
漢字が化けることがある。
化けるつーか、全然違う漢字が確定されてしまうことがある。

化けないこともあるが、一度化けるようになると元に戻らない。
再現パターンは不明。

半角は問題なし、全角漢字も1文字ずつなら問題なし。
エディタ上でも問題なし、検索ダイアログ上のみの現象。

なにか情報ありますかねえ・・・
0748デフォルトの名無しさん2007/04/05(木) 02:53:23
>>742
Excelのマクロで全てが出来ちゃうんだけどな
0749デフォルトの名無しさん2007/04/05(木) 10:33:35
MS製品だしなぁ・・・ATOKだからじゃないか?

IMEだけどそんな事5年間一回もない

つうかそんなにいいの?ATOK
0750デフォルトの名無しさん2007/04/05(木) 12:56:52
VB初心者です。コンボボックスの件で教えてください。
テーブルは正規化していて、メインテーブルには数字しか持っていません。
が、別テーブルでコードと、表示項目を持っています。
コンボボックスで表示項目を表示して、データ収集は数字でもらう。
配列を使った形でもかまいませんので、ご教授よろしくお願いします。
0751デフォルトの名無しさん2007/04/05(木) 16:11:05
環境:
WinXPpro SP2 / VisualBasic 6.0(サービスパック未適応)

作っているもの → ストップウォッチ

■質問内容■
コマンドボタンに関して

通常、コマンドボタンをクリックして処理をさせる場合、

ポインタにより、コマンドボタンが押し下げられる
↓
マウスから指を離し、コマンドボタンが持ち上がる
↓
実行

という処理になります。
しかし本来、
ストップウォッチはボタンを押した『瞬間』から、処理が始まりますよね?
つまり、

マウスによって、ボタンが押し下げられた瞬間
↓
実行

という処理を行いたいのです。
非常に初歩的な質問かとは思いますが、ネットでも出てこなかったもので…。
どなたか、ご教授をお願いします…。
■ このスレッドは過去ログ倉庫に格納されています