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

(*´д`*)ウッ… VB初心者質問スレ Part15

■ このスレッドは過去ログ倉庫に格納されています
0001エロチカセブンNGNG
  Part 1 http://piza.2ch.net/tech/kako/968/968328471.html
  Part 2 http://piza.2ch.net/tech/kako/990/990793224.html
  Part 3 http://piza2.2ch.net/tech/kako/1000/10005/1000523122.html
  Part 4 http://pc.2ch.net/tech/kako/1006/10069/1006922992.html
  Part 5 http://pc.2ch.net/tech/kako/1010/10106/1010624646.html
  Part 6 http://pc.2ch.net/tech/kako/1013/10138/1013844542.html
  Part 7 http://pc.2ch.net/tech/kako/1015/10158/1015836357.html
  Part 8 http://pc.2ch.net/tech/kako/1018/10187/1018794901.html
  Part 9 http://pc.2ch.net/tech/kako/1020/10208/1020830472.html
  Part10 http://pc.2ch.net/tech/kako/1022/10221/1022127528.html
  Part11 http://pc.2ch.net/tech/kako/1024/10243/1024380249.html
  Part12 http://pc3.2ch.net/test/read.cgi/tech/1026642565/
  Part13 http://pc3.2ch.net/test/read.cgi/tech/1029241786/l50
Win32 API関連スレ
  Win32API 質問箱 Build4
  http://pc.2ch.net/test/read.cgi/tech/1023361418/
心得
壱.質問する前に過去ログにも目を通してみる。
弐.質問する前に MSDN などで調べてみる。
参.VBScript もこのスレでOK。
4.インストーラーなどの質問もOK。
五.下ネタもたまにならOK
0530デフォルトの名無しさんNGNG
>>514
KABUSU=((KABUSU+500)\1000)*1000
0531デフォルトの名無しさんNGNG
浮動小数点の丸め誤差にも気をつけよう
0532デフォルトの名無しさんNGNG
VB5CCE試用中なんですが、
Freeで .EXE 作成ソフトってありますか?
0533デフォルトの名無しさんNGNG
>>532
ほえぇ?
0534521NGNG
実験データの解析用VBAで、先輩の置き土産です。
データ数が多いのと統計解析があるので、どうしても計算量が多いので
遅くなるのです。うーむ、VBからCへの変換ソフトってのは無いようですね。
Cへ変換できたら、計測からそのまま解析に繋げられて楽だなと思ったのですが。。。
BASICと名がつくものはN88BASIC以来さわってなかったが、VB勉強して
処理の流れを把握してから移植するしかないかな。
0535デフォルトの名無しさんNGNG
>>534
コードの最適化と、Professional以上でネイティブコンパイル、
CPUのアップグレード

なんてところがいいんじゃない?
0536デフォルトの名無しさんNGNG
>>534
なんかしたり顔で言っているけど、処理速度向上にJAVAを上げているようじゃ
全然分かってないだろ。
0537デフォルトの名無しさんNGNG
(°Д°)<言ってません。書き込んでるだけです。(プ
       お前は何か?PCの前でひとりでしゃべってんのか?あ?
0538デフォルトの名無しさんNGNG
>>537はまともに会話すら出来ないわけですな...
0539デフォルトの名無しさんNGNG
>534
実際にVBA使った経験で演算は困るほど遅くなかったから、
セルからデータの取得、またはその逆の個所を見直して
配列を使って範囲を一気にって言う風に変えれば見違えるほど早くなったよ。
0540521NGNG
#とりあえず521≠537です(念のため)。
>>536
書き方が悪かったですね。Javaを上げたのは処理速度向上のためではなく、
VBよりはJavaの方が読めるので、Javaからなら自分でCに直せるなという
ことで、あのように書きました。誤解するような文章で申し訳ないです。
>>539
なるほど。まずそちらから検討してみます。
0541DNGNG
>>529
まじで。今使ってるのがWin2Kやからできたんか。使ってなくてよかった〜
そのうちやりかねんからな。でも何で今頃...調べてみよ。
大変ありがとー
0542デフォルトの名無しさんNGNG
Set fs = CreateObject("Scripting.FileSystemObject")
これのScriptingって、なんのことでしょう?VBScriptのことでしょうか?
古いOSだと使えないとかありますか?
0543デフォルトの名無しさんNGNG
>>542
http://www.microsoft.com/japan/developer/scripting/
0544542NGNG
>>543
ありがと。
今みれないから後でみてみるよ
0545デフォルトの名無しさんNGNG
>>529はネタ
0546542NGNG
む、みてみたけど微妙。
とりあえずWin98以降なら標準でいけるようですね。
0547デフォルトの名無しさんNGNG
デスクトップとか、送るメニュー(SendTo)にショートカットを作りたいのですが
たいていST4KIT.DLLだったかを使う物ばかりです
VBではむりなんでしょうか?
0548デフォルトの名無しさんNGNG
どう言ったらいいのかわからないんですが、
電卓を作りたいです。
そこでウィンドウがアクティブな時に
キーダウンイベントに反応できるようにしたいのですが、
上手くいきません。
ウィンドウに送られるキーダウン全てに反応するには
どこに記述したらいいのでしょうか?
つまりウィンドウのどこにフォーカスがあっても
キーダウンをキャッチしたいわけです。
どうすればいいでしょうか?
よろしくお願いします。
0549デフォルトの名無しさんNGNG
>>547
Delphiなら.lnkの作成もパスの取得も簡単ですよ♪

>>548
DelphiならKeyPreviewプロパティをtrueにするだけだよ♪
0550デフォルトの名無しさんNGNG
>>547
IShellLinkインタフェースを実装するとか。ぐぐって。


>>548
コマンドボタン上にあるときの←キーとかは取れないが、
KeyPreview=Trueで。
0551548NGNG
>550
助かりました、無事成功しました。
ありがとうございました。
0552デフォルトの名無しさんNGNG
VB未経験者ですが、下記のソースをビルドしたいと思ってます。
http://www.yecc.gr.jp/vb/prog/pricla/primain.html

開発環境を持ってないので、これからVBを購入するつもりです。
現在最新のVB用開発環境はVB.NETだと思うのですが、
上記のソースがVB.NETでビルドできるか知りたいです。
お願いします。
0553デフォルトの名無しさんNGNG
>>552
なんで、作者に聞かんの ? 掲示板みたいな奴もあったよ。(あまり活発そうじゃないけど...。)
0554デフォルトの名無しさんNGNG
>>552
ビルドできない。
さらに、このソースコードはVB.NET用に直すのにも手間がかかるパターン。
VB6までのVBとVB.NETは別の言語と思ってもらった方がいい。

VB.NETで一から勉強して作るがよろしかろう。
0555547NGNG
お〜WindowsScriptオブジェクト使えばショートカット作れるんじゃん
と思ってやったら

Norton先生が反応しますた。

いや、つくれたんですけどね。これじゃだみだ。
0556543NGNG
>>546
世話が焼けるなあ。

プリインストされてるWSHのバージョン
Windows95 なし
WindowsNT4.0 なし
Windows98  WSH1.0
Windows2000  WSH2.0
WindowsME  WSH5.5
WindowsXP  WSH5.6

98や2Kはバージョン古すぎるから、最新版をインスト。
95やNTは新規インストすればいいだけ。
0557552NGNG
レスありがたう。

>>553
そうなんです、BBSあまりにもアレだったんで、
こちらでお聞きした次第です。

>>554
流用は無理ですか。。。
VB.NETって、VBと同じことができるんでしょうか。
他にUSBカメラからの画像キャプチャもしたいんです。

実は、簡易プリクラを作ろうと思ってるんですが、
そんな用途にもVB.NETは向いてますか?

どっちかというと、VB6の方がいいような。。。
ご意見をお願いします。
0558デフォルトの名無しさんNGNG
>>529 >>541 >>545
WinXPではFormat関数が内部で利用しているAPIの仕様変更の影響で
動作が四捨五入じゃなくなった。MSはそれを仕様だと逃げようとしたが、
苦情殺到のため、SP1で元の仕様に戻した。

SP1を入れないWinXPへの対応として、そのFormat関数を四捨五入する
仕様に戻すパッチも単独で提供されている。

0559542NGNG
>>556
なるほど、全然バージョンが違いますね
オンラインソフトにはむかないかなぁ?
今のところFileSystemObjectしかつかってないけど

やっぱりWinAPI使った方がいいかな
0560デフォルトの名無しさんNGNG
.iniファイルに書き込もうと思って調べたら
WritePrivateProfileSection
などを使用することがわかったのですが、
うまくいきません。
VB6.0で書くと構文エラーで赤字で表示されます。
これはなぜでしょうか?
よろしくお願いします。
0561デフォルトの名無しさんNGNG
>>560
構文エラーだからです。それ以上でもそれ以下でもありません。
0562新実NGNG
お前等お前等お前等お前等お前等お前等お前等お前等
ヽ( ・∀・)ノ < filnbhlmbcfilnbh
http://genie.gaiax.com/home/nakatai
お前等お前等お前等お前等お前等お前等お前等お前等
0563デフォルトの名無しさんNGNG
>>560
> .iniファイルに書き込もうと思って調べたら
> WritePrivateProfileSection
> などを使用することがわかったのですが、
> うまくいきません。

何で、.ini ファイルなんか使うの ?
GetSetting() / GetAllSettings() / SageSetting() / DeleteSetting() じゃダメなん ?
0564デフォルトの名無しさんNGNG
編集しやすいから
0565デフォルトの名無しさんNGNG
俺はiniを読むときはAPI使うが書くときは普通に開いて整形しながら書き込み
0566デフォルトの名無しさんNGNG
ファイルのopenについて聞きたいんですが、ファイルのopenに失敗した時
エラーのメッセージボックスを出したいと思っています。でもどうやって
ファイルのopenに失敗したことを知ればいいのか分かりません。
どうすればいいでしょうか?

今は実行されると同時に次のようにしてファイルを読み込んでいます。

Public Sub Form_Load()
Open "C:\AtomCount\M.txt" For Input As #1
  For i = 1 To Ypixel
    For j = 1 To Xpixel
     Input #1, A(i, j)
  Next
  Next
Close #1   'これと同じような動作を後2回します。
0567デフォルトの名無しさんNGNG
>>564
ならしょうがないね。>>560 には declare 文を勉強してもらうしかないみたいね。

>>565
> 俺はiniを読むときはAPI使うが書くときは普通に開いて整形しながら書き込み

なんでそんなことを... ?
0568デフォルトの名無しさんNGNG
>>566
On Error Goto ...
を使う。これを使ってファイルが存在するか調べるって方法があったっけ。
0569566NGNG
ありがとうございます。使い方を調べてみます。
0570デフォルトの名無しさんNGNG
>>567
ごめん、俺の勘違い。
0571デフォルトの名無しさんNGNG
存在チェックならdir関数で充分だぽ
入力用で開くならエラーはこんくらいか
0572デフォルトの名無しさんNGNG
存在チェックならFindFirstFile()
0573566NGNG
ファイルを開く時の失敗を検出したいんです。On Error Gotoでは
エラーナンバーが必要なようですが、ファイルを開くのに失敗した時
エラーナンバーは何になるんでしょうか?
0574デフォルトの名無しさんNGNG
Err.Numberでエラーナンバー取得しる
0575536NGNG
>>573
> ファイルを開くのに失敗した時エラーナンバーは何になるんでしょうか?

試せばいいと思うが ?

全部のエラーを知りたいなら、ヘルプで「トラップできるエラー」を調べるべし。
0576542NGNG
mk:@MSITStore:C:\Program%20Files\Microsoft%20Visual%20Studio\MSDN98\98VS\1041\vbenlr98.chm::/HTML/vamsgtrappableerrors.htm
ここみれ。
(インストールフォルダ違ったらなおして)
というか読みとりエラーが発生するなんてファイルが存在しないときぐらいしかないんじゃないの?
なら
If Dir("C:\AtomCount\M.txt")="" then
  MSGBOX "エラーなのですです。。"
Else
  Open〜〜〜
End If
みたいなのじゃだめ?
0577デフォルトの名無しさんNGNG
VBでBase64エンコードしたいんだけど
いいサンプル載ってるページ知ってる人いませんか?
Googleでいくつかは見つけたんだけどいまいち。
いつもはVCでやってるんだけど久しぶりにVBに手ぇ出したら引っかかった。
0578566NGNG
>>576
ありがとうございます。見てみます。開くファイルは
データ数が指定されたテキスト形式の数字の羅列なので 
簡単に「読み込みできない」状態にできるんではないかと思い、
できればファイルオープン時のエラーにしたいんです。
0579542NGNG
>データ数が指定されたテキスト形式の数字の羅列なので 
>簡単に「読み込みできない」状態にできるんではないかと思い
ごめん俺には意味が分からない
0580566NGNG
>>575
試してみたら分かりました53でした。ありがとうございます。
0581542NGNG
53だとDirでやったのと同じじゃない?
0582566NGNG
>>542
ほんとだ。53ではないですね。でもデータを変えたらそれなりのメッセージが
出るように始めからなっているんですね。VB賢いなー

データの形式が
11,12,13,14,15
21,22,23,24,25
31,32,33,34,35
みたいな感じのテキストファイルということです。
0583デフォルトの名無しさんNGNG
>>576
ちゃんとやるならダメだろ。Dir() と Open の間にファイルが消されてるかもしれないしね。
つーか、Open でエラーとラップできるんだからそうすりゃいいと思う。

On Error Goto Next
Open "C:\AtomCount\M.txt" For ...
If Err.Number <> 0 Then
 MsgBox "エラーなのですです。"
 ...
End If

0584542NGNG
ひょっとして
For j = 1 To Xpixel
     Input #1, A(i, j)
  Next
でエラーがおきるってこと?
読み込み回数を指定しているようだけど

そうだと仮定して書くけど
Do Until EOF(#1) = True
Input #1, A(i, j)
Loop
こういう風にやるもんだよ。
0585デフォルトの名無しさんNGNG
>>577
VB.NETならいいんだが・・・。だめくさいな。
http://dobon2.tripod.co.jp/dotnet/string.html#base64
0586デフォルトの名無しさんNGNG
>>577
http://www.geocities.co.jp/SiliconValley/4334/unibon/asp/base64.html
http://www.take-c.com/soft0006.aspx
0587566NGNG
>>584
行列の行数と列数の違うデータも後々取り込みたいので行数と列数
を指定していたほうがいいかな・・・・と思いました。
0588デフォルトの名無しさんNGNG
VisualBasic本体はどうやって手に入れるのですか?
0589577NGNG
>>585,586
ありがとー
0590デフォルトの名無しさんNGNG
>>588
> VisualBasic本体はどうやって手に入れるのですか?

お金もって、近所のヤ○ダ電機か LA○X にでも逝けよ。
0591デフォルトの名無しさんNGNG
>>590
いくらくらいですかね?
0592552NGNG
便乗質問です。
これから秋葉行ってVB買ってこようと思ってます。
1万円のVB Standard版でもアプリケーションの配布ってできるもの?
教えてくだされ
0593デフォルトの名無しさんNGNG
>>558
笑える対応だね。仕様をコロコロ変えるのは、ほんとにみっともない。
0594デフォルトの名無しさんNGNG
>>558

> 苦情殺到のため、SP1で元の仕様に戻した。
>
> SP1を入れないWinXPへの対応として、そのFormat関数を四捨五入する
> 仕様に戻すパッチも単独で提供されている。



ttp://support.microsoft.com/default.aspx?scid=kb;ja;JP418691

↑仕様を元に戻したとは書いてないが?(ネタ??)
0595デフォルトの名無しさんNGNG
>>594

ごめん、SP1へのリンクがあるね。(見落としてた)

逝ってきます・・・。
0596デフォルトの名無しさんNGNG
>>591
> いくらくらいですかね?

お店の Web ページ見るとか、お店に電話するとか考えつかないの ?
0597デフォルトの名無しさんNGNG
視野が狭くて考えられないんでしょ
0598547NGNG
>>550さん
IShellLinkは、どうもProfessional以上じゃないとダメのようです
Leaningでは使えないらしいです。
Cで作られたDLLを利用するぐらいしかないでしょうか
0599ピンポロNGNG
Access2000でテーブル中の何も無い項目には
NULLを入れたいと考えています。


>dim str as string
>str = vbNullChar
>
>lrs.Open "testtbl", cnn, adOpenForwardOnly, adLockPessimistic
>
>With rs
>.AddNew
>.Fields("aaa") = "01"
>.Fields("bbb") = str
>.Update
>End With


の様な形でtesttblというテーブルにレコードをINSERTして

"select * from testtbl where bbb is NULL"

というようなSQL文でSQLを発行しても
レコードはヒットしませんでした。
上記の様なSQL文でレコードを引っ張ってこれるようにするには
どうしたらいいでしょうか?
0600ピンポロNGNG
あ〜朝から〜
朝からステーキ食べたら笑顔もドカンと世界一!!(ヨイショ!)
0601デフォルトの名無しさんNGNG
>>599
いいかげん、vbNullChar と vbNullString の違いを覚えれ。
0602デフォルトの名無しさんNGNG
>>601
お前こそいいかげん、vbNullString と Null の違いを覚えれ。
0603デフォルトの名無しさんNGNG
>>599
悪いことは言わないから(w)、転職、または他部門への異動を真剣に
検討して頂きたい。技術のない技術者(言葉が矛盾しているが w)の
存在は、顧客にとっても、同業者にとっても、迷惑(足手纏い)以外の
何者でもない。
0604542NGNG
デスクトップのフォルダーと、SendToのフォルダーってどうやって調べます?
これまたWindowsScriptオブジェクトならわかったんですが、WinAPIでどうやるのか
GetSystemDirectoryあたりとEnvironつかうっぽいですが
0605542NGNG
さっさと答えろよオラ
0606デフォルトの名無しさんNGNG
じゃヒントね。
名前がSHから始まる関数。
0607デフォルトの名無しさんNGNG
SHIT
0608デフォルトの名無しさんNGNG
SHOP
0609デフォルトの名無しさんNGNG
Get
0610デフォルトの名無しさんNGNG
SP
0611デフォルトの名無しさんNGNG
Path
0612550NGNG
>>598
>IShellLinkは、どうもProfessional以上じゃないとダメのようです
なんで?エディションは関係ないぞ。
http://www.geocities.co.jp/SilkRoad/4511/vb/shlink.htm
このURLを見たのかな?このサイトのDLLを使わせてもらうのでもいいが、
MkTypLib.ExeがなくてもODLの知識がなくても
要はタイプライブラリを手に入れればいいわけで。
http://www.domaindlx.com/e_morcillo/
例えばここにタイプライブラリあるよ。「Type Libraries」ページな。



0613デフォルトの名無しさんNGNG
ちなみにinfファイルを使う方法もあるぞ
0614ピンポロNGNG
僕は学生です。
0615デフォルトの名無しさんNGNG
僕も学生だよ。
0616デフォルトの名無しさんNGNG
無職をバカにすんな
0617デフォルトの名無しさんNGNG
俺は留年中です。
0618デフォルトの名無しさんNGNG
vbNullChar・・・Chr(0)と同じ。いわゆるヌル文字。C言語では(Windows的にはLPSTRでは)文字列の終端を表す。
vbNullString・・・String型の初期値。アドレスが0で値が""。APIに渡すときの(文字列型の)ヌルポインタとして利用する。
          InputBox関数でキャンセルされたときの戻り値もこれ。
Null・・・Variant型の値の1つで有効な値が設定されていないことを示す。
DBから取得した値がNullのときはこれが返る。
0619デフォルトの名無しさんNGNG
>>618
丁寧な説明は大いに結構だが、肝心の>>599氏が理解できるかどうか、
甚だ疑問と思われ。
無駄な努力(猫に小判、豚に真珠に値する行為)は放棄すべし。w

・・・他のROM者にはプラスになるのかもしれないが・・・。
0620デフォルトの名無しさんNGNG
>>619
だから599宛てにしてないんだろうな。
0621デフォルトの名無しさんNGNG
>>619
答えるかどうかはお前の知ったことじゃない。
0622601NGNG
>>602
> お前こそいいかげん、vbNullString と Null の違いを覚えれ。

すまん、勘違いしてた。
0623602NGNG
>>622
了解。今のお前は男の中の男。
0624デフォルトの名無しさんNGNG
>>618
>>619 がぐちゃぐちゃ言ってるけど、気にすることはないと思うよ。
役に立つ情報だしね。
0625619NGNG
>>620 >>621 >>624
うるせーよ。お前ら。
0626デフォルトの名無しさんNGNG
逆切れですかな?
0627デフォルトの名無しさんNGNG
そんな基本中の基本でもめるな。
もしプログラムを職業としてるなら>>603が正しい。
0628デフォルトの名無しさんNGNG
>>627=619=603
今度は自作自演ですかな?
0629デフォルトの名無しさんNGNG
ネットワークにつながったマシンのCDトレイをOPENすることは
できますか?
■ このスレッドは過去ログ倉庫に格納されています