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

(*´д`*)アハァ… VB初心者質問スレ Part23

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさんだよもん ◆ZAYX.QGihc NGNG
v(*´д`*)b アハァ…
ブビタンがどんな厨房疑問でもやさしく答えるブビ。
ブビタンは時に私であり、時には別の人ブビ。
関連スレは>>2ブビ。

  Part12 http://pc3.2ch.net/tech/kako/1026/10266/1026642565.html
  Part13 http://pc3.2ch.net/tech/kako/1029/10292/1029241786.html
  Part14 http://pc3.2ch.net/tech/kako/1030/10309/1030947162.html
  Part15 http://pc3.2ch.net/tech/kako/1032/10327/1032706491.html
  Part16 http://pc3.2ch.net/tech/kako/1034/10343/1034302532.html
  Part17 http://pc3.2ch.net/tech/kako/1036/10361/1036154952.html
  Part18 http://pc3.2ch.net/tech/kako/1038/10381/1038103769.html
  Part19 http://pc3.2ch.net/tech/kako/1039/10398/1039859691.html
  Part20 http://pc2.2ch.net/tech/kako/1041/10418/1041879465.html
  Part21 http://pc2.2ch.net/test/read.cgi/tech/1044028945/
  Part22 http://pc2.2ch.net/test/read.cgi/tech/1046354784/

VB.net関連スレ
【老若】VB.net質問スレ【男女】 (Part2)
http://pc2.2ch.net/test/read.cgi/tech/1043629429/

心得
壱.質問する前に過去ログにも目を通してみる。
弐.質問する前に MSDN などで調べてみる。
参.VBScript もこのスレでOK。
四.インストーラーなどの質問もOK。
五.下ネタもたまにならOK。
六. ブビタン情報募集中。
0002デフォルトの名無しさんNGNG
>>1
スレ立て、おちゃかれ。
0003デフォルトの名無しさんNGNG
最悪のVBコードというスレはなぜ存在しないの?
0004デフォルトの名無しさんNGNG
すべてのVBコードは最悪だから。


といったら一番面白いかな?
0005デフォルトの名無しさんNGNG
>>1 乙
0006デフォルトの名無しさんNGNG
心得
七.ぬるぽ
0007デフォルトの名無しさんNGNG
ちょー基本かもしれないけど教えてくらはい。
VBでADOとDataComboboxとMSHFlexGridコンポーネントを使った
プログラムを書いたのですが、
コンパイルしたExeを他のPC(VB入ってない)で実行しようとすると
なにやらocxが正しく認証されてないとか何とかメッセージが出て動かないのです。

VB6のDLLなどはモジュールと同じディレクトリに入れればいいと思うのですが
コンポーネントのocxはどうするれば実行できるのでしょう?
MSDNみてもいまい分からんのです…

ちなみにインストーラーは使えません
0008デフォルトの名無しさんNGNG
あ、ちなみにWin2000+VB6SP5でつ。
0009デフォルトの名無しさんNGNG
>>7
インストーラー使え。
0010デフォルトの名無しさんNGNG
(*´д`*)アハァ…
0011デフォルトの名無しさんNGNG
>>7
regsvr32.exe hoge.ocx
だったっけかな? 手動でocxを登録しる。
regsvr32.exeはwindowsのsystemフォルダにあるはず。
0012デフォルトの名無しさんNGNG
>>9
契約上インストーラーの類は使えないんですよ…
リリースの時は手順書でいちいち支持しなきゃらない
0013デフォルトの名無しさんNGNG
>>11
おおサンクス!
これでテストできるッス

ついでに、このときのocxって開発環境で参照設定するときに
「場所」で表示されるファイルでいいんですよね…?
0014デフォルトの名無しさんNGNG
便乗質問。
DLLヘルとかおこさないように既存の環境を壊さずにどこまでやれる?
side-by-sideを使ってVB関連のDLLをアプリと同じフォルダに入れて・・・。
誰か手順を教えてちょ。
0015デフォルトの名無しさんNGNG
おしえてください!

VB4を使ってるんですが、TEXTを2個と
コマンド1個を使ってTEXTの内容をコマンドでメール
送信のプログラムの書き方おしえてください!
宜しくおねがいします!
0016デフォルトの名無しさんNGNG
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=VB+%E3%83%A1%E3%83%BC%E3%83%AB
0017デフォルトの名無しさんNGNG
>>16
サンクスコ
0018デフォルトの名無しさんNGNG
6.0持ってるんですが訳わかんねーよ。
どうしたら良いですか?
0019デフォルトの名無しさんNGNG
>>12
そんなとこ相手にVB使うな。それが間違ってる。
0020デフォルトの名無しさんNGNG
これも貼っとく

VB超初心者スレ
http://pc2.2ch.net/test/read.cgi/tech/1047222540/
0021デフォルトの名無しさんNGNG
今更だが、>>1が今回のように建てたいだけのヤシだと萎える。
HTML化チェックくらいしる、ボケが。
0022デフォルトの名無しさんNGNG
>>14
それでいいよ。ほんで、DLLやらOCXやらが依存してるDLLやらOCXも、すべて
同じところに入れるようにする。

>>18
何がわかんねーの? とりあえず、手当たり次第にサンプルを作っていじって
していけば、だんだん理解できると思うよ。
0023デフォルトの名無しさんNGNG
おまいらヘルブレスやれって!マジ面白いぞ!
1ヶ月は無料だし、やる価値あり!
http://www.netgame.co.jp/default.ngc
0024デフォルトの名無しさんNGNG
>>14
side-by-side ってXPしか使えんのでは? そう言う前提?
0025デフォルトの名無しさんNGNG
常駐プログラムを終了させるAPIか何かありませんか?
たとえば、常駐秀丸を終わらせたり、ウィルススキャンツール
などを終わらせたりはできませんか
0026デフォルトの名無しさんNGNG
>25

できる
API使う
0027デフォルトの名無しさんNGNG
>>24
Side-By-Side は、98SE/2000以降で使えるよ

>>25
確実な方法はないね。WM_SYSCOMMAND、SC_CLOSEを送るってのが
一番きれいな作法。
0028 ◆VyZKkSDatc NGNG
質問です。VB6SP5、WinXP

文字列が100涸ほどあります。
それぞれのサイズは1kBぐらいです。
で、変換ルールが255涸あります。
文字列100涸全てに対して、変換ルール255涸を全て適用したい。
とりあえず何も考えずにForで回してReplaceしてみたんですが
予想通り恐ろしい遅さです。
さすがにこのコードは非効率的過ぎると思うので
もうちょっとましなやり方ありませんでしょうか。
002928 ◆VyZKkSDatc NGNG
なんだろう「涸」って。
脳内で「個」にReplaceして下さい。
宜しくお願いします。
0030デフォルトの名無しさんNGNG
>28
コードみせやがれこのやろう!
0031デフォルトの名無しさんNGNG
せめて変換ルールぐらい書かないとなんとも言えません。
0032デフォルトの名無しさんNGNG
>28
いくつかの部分にわけて、時間はかってみたら?
遅いのはReplace以外のところかもしらんぞ。
0033デフォルトの名無しさんNGNG
>>28
メモリ上の再配置が毎回起きないように工夫すれば、
そのための時間は短縮できる。
0034デフォルトの名無しさんNGNG
VC++6.0でDOSのプログラムを作る場合は
プロジェクトの種類は何を選べばいいのでしょうか?
0035デフォルトの名無しさんNGNG
>>34
すれ違いか誤爆か。
0036デフォルトの名無しさんNGNG
Set recRS = dbDB.OpenRecordset(" SELECT * FROM ifile_Converter " & _
                 " WHERE Hoge1 = " & strString1 & _
                 " AND Hoge2 = " & strString2 & _
                 " AND Hoge3 = 完了;", dbOpenSnapshot)
直接VBとは関係のない話になってしまうのですが、上記のCSVファイルが
構文エラーになってしまいます。なぜなのでしょうか?
0037デフォルトの名無しさんNGNG
>>36
関係ないって分かってるならSQLスレ逝けよ
003836NGNG
"CSVファイル" は、単にCSVだと思ってください。書き違えました。
003936NGNG
SQLスレがあるとは知りませんでした。そっちへ移動します。
0040デフォルトの名無しさんNGNG
>>36
Set recRS = dbDB.OpenRecordset(" SELECT * FROM ifile_Converter " & _
                 " WHERE Hoge1 = '" & strString1 & "'" & _
                 " AND Hoge2 = '" & strString2 & "'" & _
                 " AND Hoge3 = '完了';", dbOpenSnapshot)
004136NGNG
ありがとうございます。できました!!
0042デフォルトの名無しさんNGNG
(*´д`*)アハァ…
0043デフォルトの名無しさんNGNG
VBやっている女の子って可愛いよね
0044デフォルトの名無しさんNGNG
>>43
ヴェンチャー・ビジネス?
0045デフォルトの名無しさんNGNG
>>44
Virtual Boinize
0046デフォルトの名無しさんNGNG
VB6の質問です。
>実行時エラー '459':
>オブジェクトまたはクラスがこのイベント セットをサポートしていません。

っていうエラーが出て困ってます。ヘルプによると、

>Implements ステートメントは、メソッドやプロパティをインプリメントしますが、
>イベントのインプリメントは自動的には行われません。

って書いてあるんですけど、解決方法ってあるんでしょうか…?
完璧はまってます〜ヽ( ´ー`)ノ
004746NGNG
補足。
クラスAを作成→ActiveX DLL化
クラスAをImplementsしたクラスBを作成→ActiveX DLL化
クラスBではあるタイミングでイベントを発生させる(RaiseEvent)

クラスBのDLLと同じようなDLLは複数ある
(要はクラスAをインターフェースとするプラグインDLLみたいなものを複数作る)

で、そのプラグインを使うプログラムでイベントを捕捉したいんだけど、
件のエラーが出てできないってなわけですヽ( ´ー`)ノ
0048デフォルトの名無しさんNGNG
>>46
情報足りないと思うんで勝手に推測、補完するけど
インタフェースIをImplementsしたClass1、Class2があって、両方から
同じイベント(インタフェースIで定義)を発生させようとした場合、
Class1、Class2でインタフェースIのイベントの定義が出来ず(やり方あるの?)
また、Class1、Class2でインタフェースIのイベントを再定義したとしても、
WithEvents付きの変数に代入しようとすると「オブジェクトまたはクラスが
このイベント セットをサポートしていません」とでる問題?

俺も素直な解決法があるなら知りたい。「自動的」って書いてるから手動で
出来そうな感じなんだけど。


ちなみに俺は諦めて、イベントを使用する方法をやめて、
WithEvents付きの変数があるところ(フォーム)にインタフェースIEventを
Implementsさせ、インタフェースIでSetEventというメソッドを定義し、
WithEvents付きの変数に代入したあとで、SetEventを呼び出しフォーム自身を
Class1、Class2に渡しイベントを発生したいタイミングでClass1、Class2から
フォームのIEventメソッドを呼び出す方法(とその応用)で対応しました。
004948NGNG
>>47を読む前に書きました。
0050デフォルトの名無しさんNGNG
起動中のアプリを列挙したいと思い、EnumWindowsをつかいました。
上手く全部のアプリのハンドルを取得できました。
ここから、タスクバーに表示されているアプリだけを抽出したいんですが、
どうすればいいですか。
0051デフォルトの名無しさんNGNG
>>50
ツールウィンドウではないとか、オーナーがデスクトップだとか、非表示ではない
とか、いくつか条件があったはず。MSDNマガジンにサンプルなかったかな?
0052ひきプロNGNG
GetWindowTextLength(hWnd) > 0
かつ,
IsWindowVisible(hWnd) != FALSE
かつ,
GetParent(hWnd) == NULL
かつ,
(GetWindowLong(hWnd, GWL_STYLE) & WS_CAPTION) != 0
で列挙できるらしいです
http://n76cd-01p05.ppp11.odn.ad.jp/old/05550.html
005350NGNG
なるほど…そうやってコツコツ調べるしかないんですね。
やってみます。
ありがとうございましました。
005446NGNG
>>48
そそ、手動でできそうに書いてあるのがひっかかってるんですよ〜
誰かおせーて!!

だめだったら48さんの方法を考えてみるしかないかな〜ヽ( ´ー`)ノ
ありがとう〜>>48
0055たぬき ◆Gz5HzWinNY NGNG
あの・・・
もしよろしければ・・・
ダブルクオーテーション内でダブルクオーテーションを
使う方法を教えていただけませんか?
("""こうしてもうまくいかない・゚・(ノД`)・゚・
0056デフォルトの名無しさんNGNG
"\""
0057デフォルトの名無しさんNGNG
>>56
それはCの話だね。

>>55
VBでは""""
0058たぬき ◆Gz5HzWinNY NGNG
>>57
できましたぁ!!!
ほんとうにありがとうございます!!!
0059デフォルトの名無しさんNGNG
VBからshell変数でEXCELを起動し、
xlsファイル内のマクロAuto_Openで各種変換処理をさせているのですが
どうしても一瞬、EXCELの画面が開いていしまいます。

画面に一切表示させずにxlsファイルのマクロを実行する方法ってないでしょうか?
(それはそれでウィルスっぽい挙動だけど)
0060デフォルトの名無しさんNGNG
>>59
vbHide だの vbMinimizedFocus だのはきかないのかな<試してない
0061デフォルトの名無しさんNGNG
>>59
Shellは絶対必要なの?
参照設定や、CreateObjectではダメなのかい?
それぞれの意味はGoogleやヘルプで。
0062デフォルトの名無しさんNGNG
Excelオブジェクトを操作するのって結構面倒だぞ(一応)
Excel開きぱなしでバッチ起動。終わると作業中だったシートもアボ〜ン。
なんてやったことあるなぁ(藁
0063デフォルトの名無しさんNGNG
>>59
参照設定して

Dim xlApp As Excel.Application, xlBook As Workbook
Set xlApp = Excel.Application
Set xlBook = xlApp.Workbooks.Open(...)
0064デフォルトの名無しさんNGNG
表示するときは
xlApp.Visible = True
xlApp.ScreenUpdating = True 
ってしないと固まったようになる
0065デフォルトの名無しさんNGNG
多分、すごく単純で基本的なことだと思うんですが、Accessのデータを
VBで利用し、data gridで表示しています。
使っているAccessデータの中にはYes/No型のデータがあるんですが、
これをVB上でチェックボックスとして表示することは出来ないのでしょう
か?

作りたいのはデータの中でチェックを付けたものだけcsvとして書き出す
プログラムが作りたいのですが、使うのがエクセルすらよく理解してい
ない上司が使うので、Accessでは無理だと(使えないと)思うんです。

過去ログなどを検索してみたんですが、分からなかったので知っている
方がいたら教えてください。
0066デフォルトの名無しさんNGNG
>>65
Booleanに1:1に投射してやれば良いだけでは?
006765NGNG
>>66
それはデータを1件ずつ表示するときですか?
一覧表(アクセスで言えば、データビューの様な感じ)で、例えば右端の
データをチェックボックスとして表示したい、という時にも利用できるんで
しょうか?
0068デフォルトの名無しさんNGNG
VB6でSQL Server2000のデータを扱うにはどうすればいいのでしょうか?
今まではAccessを利用していて、それのやり方ならわかるのですが、
SQL Serverだと、そもそもどうやってDBに接続すればいいかすらわかりません。
ですから、DBを参照・追加・削除などのやり方もわかず困っています。。。
0069デフォルトの名無しさんNGNG
>>68
ピンポイントの質問ならともかく、そんな漠然とした質問を
一から教えるほどみんなヒマじゃないんだよ。
参考書嫁。
0070たぬき ◆Gz5HzWinNY NGNG
あの・・・
ぐぐってもでなかったんでここで聞かせていただきます・・・・

コントロール配列にしたOption1を
Form_Lord時にCase 0にを選ぶようにするにはどうすればいいんですか?
(Option1(0)が選択された状態で起動させたいんです・・・
0071デフォルトの名無しさんNGNG
>>70
設計時にValueプロパティを設定しておいてはいけないの?
0072たぬき ◆Gz5HzWinNY NGNG
>>71
ぁ・・・
できました・・・・
ありがとうございました!
(なんか恥ずかしい
0073デフォルトの名無しさんNGNG
>>68
ADOを使っていたなら、基本的には一緒。OLEDBデータプロバイダを変更して、
あとはウィザードでやってみれ。

>>70
Form_Load イベントで、Option1(0).Value = True でいいんでない?
0074たぬき ◆Gz5HzWinNY NGNG
>>73
w( ̄o ̄)w オオー!
そっちならば一時的にもOKですね
ありがとうございます〜!
0075デフォルトの名無しさんNGNG
春がきたなぁ
0076デフォルトの名無しさんNGNG
>>75
最近、それしか言えない奴って結局論じる力が無いんだと思うようになった。

反論して相手を黙らせるだけの能力がないと。その負け惜しみ。
0077デフォルトの名無しさんNGNG
>76

最近、それしか言えない奴って結局論じる力が無いんだと思うようになった。

反論して相手を黙らせるだけの能力がないと。その負け惜しみ。
0078デフォルトの名無しさんNGNG
春が来たなぁ。
0079デフォルトの名無しさんNGNG
SHBrowseForFolderでフォルダ選択ダイアログを出しています。

よく、ドライバのインストール時なんかに同じように
ツリービューでフォルダを選択しますが、
この時、該当するドライバのinfファイルが無いフォルダを
指定してもOKボタンが使用不可の状態になっているものが
ありますよね。
これと同じように特定のファイルの入っていないフォルダを指定しても
OKを押させないようにしたいのですが、何というAPIを使えば良いのでしょうか。
よろしくお願いします。
0080デフォルトの名無しさんNGNG
>>79
色々メッセージが飛んできてる模様。
0081デフォルトの名無しさんNGNG
春が来たなぁ。
0082sineNGNG
/ヽァ/ヽァ(*´Д`*)/ヽァ/ヽァ…


0083デフォルトの名無しさんNGNG
分からないが、この時間は根気強く待て。
レスするな。
008480NGNG
>>83
了解。色々ソース見つけたけどレスしないことにするよ。
0085デフォルトの名無しさんNGNG
中学の数学のまとめの問題をランダムで作成するプログラムを作っていて、
今分数同士の計算の問題を作っています。まず、ランダムで数値を決め、
それを分数に変換します。分数一つ表示させるために整数部分(帯分数用)、
分母、真ん中の線、分子用の4つのラベルを使用するのですが、他に良い方法は
ないでしょうか。答えは8択タイプなのでラベルだらけになってしまいます。
0086デフォルトの名無しさんNGNG
>>85
それをコンポーネント化すればどうでしょう?
コントロールグループとか無かったでしたっけ?
0087デフォルトの名無しさんNGNG
>>85
ActiveXコンポーネントに汁。ヘルプで勉強してね。
008885NGNG
お答えありがとうございました。やってみます。
0089デフォルトの名無しさんNGNG
中学の数学のまとめの問題をガンダムで作成するプログラムを作っていて、
今分数同士の計算の問題を作っています。まず、ガンダムで数値を決め、
それを分数に変換します。分数一つ表示させるために整数部分(シャア専用)、
分母、真ん中の線、分子用の4つのララアを使用するのですが、他に良い方法は
ないでしょうか。答えはNewタイプなのでララアだらけになってしまいます。
0090デフォルトの名無しさんNGNG
つれません
0091デフォルトの名無しさんNGNG
>>90
つれない返事だね
0092初心ものNGNG
すいません。
全部平均するとこちらが設定したような数Nになるような乱数(乱数の個数も
こちらが設定)を発生するような方法というのはあるのでしょうか?
0093デフォルトの名無しさんNGNG
>>92
あります。詳しくはこちらへどうぞ。
アルゴリズムに関する質問、議論総合スレ
http://pc2.2ch.net/test/read.cgi/tech/1014783451/
0094デフォルトの名無しさんNGNG
>>89
>4つのララア

私は>>89を支持します。
0095デフォルトの名無しさんNGNG
やはり整数部分は3倍でしょうか。
0096デフォルトの名無しさんNGNG
答えが合って赤丸が貰えると3倍
0097デフォルトの名無しさんNGNG
pictureの上にマウスのカーソルが来た時だけ絵を表示って感じにするにはどうしたらよろしいでしょうか?
0098デフォルトの名無しさんNGNG
真ん中の線なんて飾りです。
0099デフォルトの名無しさんNGNG
>>97
1) 簡単
MouseMoveイベントでPictureを切り替える。
Picture_MouseMoveで絵を表示させ
その他の所_MouseMoveで絵を消す

2) 面倒
Pictureの位置を画面上の絶対座標で取得しておいて
GetCursorPos使うかグローバルフックするかしてマウス位置に応じてPictureを切り変える。
010097NGNG
>>99
ありがとうございます、やってみます
0101デフォルトの名無しさんNGNG
>>98
偉い人には(略)
■ このスレッドは過去ログ倉庫に格納されています