くだすれVB6.0以前(超初心者向け)
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/12/08(金) 19:36:45他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
VB使いが優しくコメントを返しますが、
お礼はVBの布教はしなくてよいので、初心者の救済をお願いします。
0449デフォルトの名無しさん
2007/06/14(木) 13:29:28お前はあほだな
0450デフォルトの名無しさん
2007/06/14(木) 13:47:19いやためしと言うのはいいとして
そんな無意味なコードをためしてどうするの?
自分でためしてみた?
0451デフォルトの名無しさん
2007/06/14(木) 13:59:27キーをちょっとでも押しているとすぐにGetAsyncKeyStateのカウントが増えていくことを確認させるテストだ
無論今は試してないが過去になんども試してる
0452デフォルトの名無しさん
2007/06/14(木) 14:01:41キーを押しっぱなしにしていて離した時点で、
GetAsyncKeyState(37) がたとえば 200 とかいう値を返してくる。
そのためこのコードだと、キーを離した後も、あと200回、If文の中の命令をこなすこととなっている
0453デフォルトの名無しさん
2007/06/14(木) 14:06:42今、試せ。
0454デフォルトの名無しさん
2007/06/14(木) 14:39:53質問者が混乱するような言い合いしてたら意味ないだろ
0455デフォルトの名無しさん
2007/06/14(木) 18:29:300456デフォルトの名無しさん
2007/06/14(木) 19:32:550457デフォルトの名無しさん
2007/06/15(金) 11:53:510458デフォルトの名無しさん
2007/06/15(金) 12:13:46久々にその名前を聞いた
つうか、最近廃れてないか?
0459デフォルトの名無しさん
2007/06/16(土) 00:52:38Vbはどこでダウソすればいいんでしょうか?
0460デフォルトの名無しさん
2007/06/16(土) 01:02:120461デフォルトの名無しさん
2007/06/16(土) 01:04:55なんとかスタジオの
どこで何をすればいいのかわかりません><
0462デフォルトの名無しさん
2007/06/16(土) 01:32:56わからないのならあなたには必要無いって事でしょう
0463デフォルトの名無しさん
2007/06/16(土) 02:11:560464デフォルトの名無しさん
2007/06/16(土) 02:44:320465デフォルトの名無しさん
2007/06/16(土) 03:52:330466デフォルトの名無しさん
2007/06/17(日) 21:54:11どこが、間違ってるのでしょうか。
Function find1(検索 As Range) As Variant
Dim objRange As Range
Dim target As Variant
target = 検索.Value
Set objRange = Columns("E").Find(target)
find1 = objRange.Value
End Function
0467デフォルトの名無しさん
2007/06/17(日) 22:21:42それから変数に全角文字使ってるが冗談だよな?
0468デフォルトの名無しさん
2007/06/17(日) 22:28:56エラーは、#VALUE! です。
変数は全角でも、英数字でも同じエラーがでます。
0469デフォルトの名無しさん
2007/06/18(月) 12:33:30> エラーは、#VALUE! です。
この「#VALUE!」ってどういう意味なの?
0470デフォルトの名無しさん
2007/06/18(月) 12:38:13まるち
http://hpcgi1.nifty.com/MADIA/VBBBS2/wwwlng.cgi?print+200706/07060041.txt
0471デフォルトの名無しさん
2007/06/18(月) 20:26:242chでマルチポストを指摘されるとは。
ネチケット違反ですか?
0472デフォルトの名無しさん
2007/06/18(月) 20:29:42○(゜ε゜)
0473デフォルトの名無しさん
2007/06/18(月) 20:44:160474デフォルトの名無しさん
2007/06/18(月) 22:05:24>469
0475デフォルトの名無しさん
2007/06/18(月) 22:08:460476デフォルトの名無しさん
2007/06/21(木) 15:45:46変数名に漢字なんて大真面目ですぜ?
0477デフォルトの名無しさん
2007/06/21(木) 15:55:040478デフォルトの名無しさん
2007/06/21(木) 17:36:28AccessVBAなんか悲劇。
変数にマルチバイト文字使ったサンプルが大量に載ってる本が堂々と教本として売られてる。
メンテさせられる身になると泣けるぜ・・・
0479デフォルトの名無しさん
2007/06/24(日) 21:05:20>>353と>>363を習ってみたものの、
1本目は書けるんですが、2本目はどう定義したらいいんでしょう?
..raowと.dataを、どう表記したら2本目になるんでしょうか?
0480デフォルトの名無しさん
2007/07/06(金) 00:19:14同じチャートオブジェクトに二つの系列のデータ突っ込めるか確認した?
0481デフォルトの名無しさん
2007/07/15(日) 02:37:14例えば、丸いボタンを押しているようにすることは出来るのでしょうか。?
0482デフォルトの名無しさん
2007/07/15(日) 02:45:17出来るけどVBだけいろいろめんどくさい
おとなしくピクチャボックスでやるというのも1つの手段
0483デフォルトの名無しさん
2007/07/15(日) 15:01:07なるほど。ピクチャボックスですか。
簡単にやってしまうと、丸いボタンの領域を押さなくてもクリックしたことになっちゃいそうですね。
そういうコンポーネントとか売ってないですかね…。
0484デフォルトの名無しさん
2007/07/15(日) 15:58:120485デフォルトの名無しさん
2007/07/15(日) 17:55:230486デフォルトの名無しさん
2007/07/15(日) 18:09:28たぶん、下のところかと
http://pc11.2ch.net/test/read.cgi/tech/1173535400/
でも、(超初心者用)となっているが…
0487デフォルトの名無しさん
2007/07/15(日) 20:30:46Dim a(10) As Integer
Dim i As Integer
a(0) = 32
a(1) = 14
a(2) = 56
a(3) = 15
a(4) = 7
a(5) = 18
a(6) = 102
a(7) = 88
a(8) = 11
a(9) = 57
a(10) = 58
'-------------------
'この間で
'-------------------
For i = 0 To 10
Debug.Print a(i)
Next
End Sub
超初心者質問ですみません。
上のようにa(10)にランダムの数字が格納されていて
これを昇順(若い順)に格納しなおしてから
表示するようなプログラムを作りたいの
ですがどのようなやり方があるでしょうか。。
0488デフォルトの名無しさん
2007/07/15(日) 23:18:41http://pc11.2ch.net/test/read.cgi/tech/1099112351/590
どっちに回答つければいいのかわからねーっつってんだろ
0489デフォルトの名無しさん
2007/07/15(日) 23:50:59一旦、小さい数字から別の配列に入れてa()に代入する。
0490デフォルトの名無しさん
2007/07/16(月) 00:33:05'-------------------
'この間で
Dim t As Integer
Dim j As Long
For i = LBound(a) To UBound(a)
For j = i + 1 To UBound(a)
If a(i) > a(j) Then
t = a(i)
a(i) = a(j)
a(j) = t
End If
Next
Next
'-------------------
0491デフォルトの名無しさん
2007/07/16(月) 00:37:24おれ20年以上前にソートのやり方だけをいろいろ書いた本を買ったことがある。今のパソコンは処理が速いからどんなやり方でもおk。自分で考えたほうが良い。
0493デフォルトの名無しさん
2007/07/16(月) 01:22:450494デフォルトの名無しさん
2007/07/16(月) 03:10:11のが定石として出ていたこともあった。
0495デフォルトの名無しさん
2007/07/16(月) 03:10:500496デフォルトの名無しさん
2007/07/16(月) 03:16:160497デフォルトの名無しさん
2007/07/16(月) 04:02:57それが定石だとしたらお前は世間で言う
ダメVBプログラマの部類だな
頭使えよ
0498デフォルトの名無しさん
2007/07/16(月) 09:39:23目に見えるからデバッグしやすいんだな、これが。
特に動的に重複した値がやってくるような場合は
SortedをTrueにしたListboxに放り込んでおいて処理してた。
数千件でも速度的に問題なかったよ。
0499デフォルトの名無しさん
2007/07/17(火) 05:43:121000件以上とか構造体のソートだとクイックソート辺りじゃないと。
簡単に向上出来る部分は済ましておくもんだろ。
つか関数化して処理して Function BubbleSort(Arr() as Long) as Long()
0500デフォルトの名無しさん
2007/07/17(火) 07:04:49いまここまで作ったのですが、
テキストボックスに入力したテキストを
OKを押すと同時にファイルに格納するって
いうのはどうやるのですか?
0501デフォルトの名無しさん
2007/07/17(火) 07:08:33(・∀・) ググレカス
0502デフォルトの名無しさん
2007/07/17(火) 08:51:17マルチすんな
0503デフォルトの名無しさん
2007/07/22(日) 11:37:43PatBltじゃ対応しないデバイスがあることとかでだめなようなんですが、、、
0504デフォルトの名無しさん
2007/07/22(日) 14:53:38じゃあとりあえずsetpixelかPSet()かLineかFloodFillか使えば良い
0505デフォルトの名無しさん
2007/07/22(日) 19:39:06ありがとうございます。助かりました。
0506デフォルトの名無しさん
2007/07/22(日) 22:27:170507デフォルトの名無しさん
2007/07/23(月) 01:29:330508佐一
2007/07/23(月) 22:27:33フォーム内のボタンを押して、
Shell("MSACCESS.exe △△△",・・・)から
データベースファイル△△△を起動します。
△△△が起動している間は、
・ボタンを押しても△△△を新たに起動させず
・既に開いている△△△が最前面に来るようにするには、
(フォームが最背面、フォアグラウンドになればいい)
どうすればいいのでしょうか?
アプリケーションのハンドルを取得し
setForeground(ハンドル名)
として、アプリのフォームをフォアグラウンドにしようとしましたが
setForegroundの戻り値は、Trueなのに、
ボタンを押しても、既に開かれている△△△が最前面になってくれません。
0509デフォルトの名無しさん
2007/07/23(月) 22:34:260510デフォルトの名無しさん
2007/07/24(火) 09:01:23http://oshiete1.goo.ne.jp/qa3194308.html
0511デフォルトの名無しさん
2007/07/24(火) 09:43:46以前はVisual Stadio 6.0をフルインストールした状態のPCで使ってた『自作ソフト.exe』を
今回は容量の少ないシリコンディスク(2GB)のFAタイプPCで使用したいのですが、
Visual Stadio 6.0をインストールするほど容量が確保できないので、
そのまま『自作ソフト.exe』を起動したところ、アプリケーションエラーが発生し
ソフトが起動しませんでした。
専門書等を見てみましたが
1)メイン及び、監視タスクのパス(フォルダ)位置が、pathに登録されているか?
2)アプリでOCX等が使われてたりすると、アプリのみでは実行できない場合があるため、
必要なOCXをそのPCに登録する必要がある。
などと書いてありましたがはっきりいってわかりません
ちなみに、私はビルド(リビルド)ぐらいしか出来ないくらいの知識しかないので、
どなたか教えてもらえないでしょうか?
0512デフォルトの名無しさん
2007/07/24(火) 09:48:36インストーラを作れ
0513デフォルトの名無しさん
2007/07/24(火) 09:57:57>FAタイプPC
>アプリケーションエラーが発生し
このOS種類とかエラー内容をかけよ・・・
>>512の言うとおり
ディトリビューションウィザードでも何でも使ってインスコしたら必要なものは入るはず
0514511
2007/07/24(火) 10:47:00>>512さんのインストーラの作り方や、>>513さんのディトリビューションウィザードなどといった
ものの使い方作り方が出来ません。
しかもこの『自作ソフト.exe』を作った人が会社辞めてしまってるので、このソフトの中身すら
私には理解できない現状です。
(起動したときの使い方ぐらいしかわからないんです…)
ちなみにOSはWindows2000 SP4で、
エラー内容は
「エラーが発生したので。『自作ソフト.exe』を終了します。
プログラムをもう一度開始する必要があります。」
という表示が出てきました。
0515デフォルトの名無しさん
2007/07/24(火) 10:50:16http://www.vector.co.jp/vpack/filearea/win/util/runtime/
0516デフォルトの名無しさん
2007/07/24(火) 12:07:44スタート メニュー\プログラム\Microsoft Visual Basic 6.0\Microsoft Visual Basic 6.0 Tools
このあたりにあるはず
0517デフォルトの名無しさん
2007/07/24(火) 12:09:43>>515ので動くとは思うが社外OCXとか使ってた場合はそれだけじゃ動かないので
デストリビューしょんウィザードなんかで依存関係にあるOCX登録してやる必要がある
0518511
2007/07/24(火) 13:46:11これはVBじゃなくてVC++ですよね?
板違いみたいなので、ちょっと首くくってきます…
もし、VC++でも>>515のデータは使えるのでしょうか?
板違いだからどっか行けというのであればここまま消えますね…
0519デフォルトの名無しさん
2007/07/24(火) 14:46:21エラーが出てこまっています。(型が一致しません)
やってるのは
Dim xlApp As Object
Dim xlBook As Object
Dim xlSheet As Object
Dim intA As Integer
Dim intB As Integer
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("aaaaa.xls")
Set xlSheet = xlBook.Sheets(1)
intA = xlSheet.Cells(3,1).value
intB = xlSheet.Cells(5,2).value
xlBook.Close
xlApp.Quit
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
です。よろしくお願いします。m(_ _)m
0520デフォルトの名無しさん
2007/07/24(火) 16:41:320521デフォルトの名無しさん
2007/07/24(火) 17:15:30Dim intA As Integer
↓
Dim intA
こうするとどう?
0522519
2007/07/24(火) 19:45:55やっとわかりまして、どうやら、Excel2000だと、セルに数値が入ってても
先頭になんかコントロールコードみたいな1バイト文字がつく文字列で
くることが判明しました。
ですので、先頭の1バイトを捨ててValすることにしました。
本当にありがとうございました。m(_ _)m
0523デフォルトの名無しさん
2007/07/25(水) 09:08:08らめぇ><
0524デフォルトの名無しさん
2007/07/25(水) 09:43:50カンマが入っただけで死にそうだ
0525519
2007/07/25(水) 12:18:38カンマが入ってしにました。。。orz
しかたがないので、Replaceでカンマを削除してから
Valすることにしました。
0526デフォルトの名無しさん
2007/07/25(水) 12:37:28一応いくつかパターン試しておいたほうがいいぞ
あと、意図的に入力したカンマが入るようなことはないのか?
0527519
2007/07/25(水) 16:16:08もう大丈夫です。^^
基本的に1セルに1数値なんで。
0528デフォルトの名無しさん
2007/08/09(木) 20:13:15さいたま さい川 たま夫
とうきょう ほげ川 ほげ子
おおさか おお山 さか美
このようなデータを
Do While Not EOF(DataFileBuf)
Line Input #DataFileBuf, LineData
LineData2 = Split(LineData, vbTab)
Print #CsvFileMBuf, """" & LineData & """"
Print #CsvFileMBuf2, """" & LineData2(0) & """"
Loop
#CsvFileMBufは↓のように、うまく処理が行えるのですが、
さいたま さい川 たま夫
とうきょう ほげ川 ほげ子
おおさか おお山 さか美
Split関数をかませた#CsvFileMBuf2の結果は↓のように最初の一件しか
処理してくれません。
さいたま
Split関数をかませても最後までデータを処理してくれるようにするには
どのように書き換えたらよいでしょうか?
0529デフォルトの名無しさん
2007/08/10(金) 07:35:28> Split関数をかませた#CsvFileMBuf2の結果は↓のように最初の一件しか
> 処理してくれません。
”そう書いてるんだから”、ってのは分かってますよね?
というわけで、「処理」とかいう抽象的な表現がコチラ側としてはサッパリ具体的ではないので
それを踏まえて次のように書きます
・Xを処理 → process(X)
・で、そのコード
Do While Not EOF(DataFileBuf)
Line Input #DataFileBuf, LineData
LineData2 = Split(LineData, vbTab)
Print #CsvFileMBuf, """" & LineData & """"
Print #CsvFileMBuf2, """" & process( LineData2 ) & """"
Loop
0530デフォルトの名無しさん
2007/08/10(金) 13:24:41さいたま さい川 たま夫
とうきょう ほげ川 ほげ子
おおさか おお山 さか美
DataFileBuf = FreeFile()
Open ActiveWorkbook.Path & "\" & DataFile For Input As #DataFileBuf
Do Until EOF(DataFileBuf)
Line Input #DataFileBuf, LineData
LineData2 = Split(LineData, vbTab)
Print #CsvFileMBuf, LineData2(0) & " " & LineData2(2) & " " & LineData2(5) & " " & LineData2(6)
Loop
↑のプログラムで、データファイルのEnd of Fileまでループさせるつもりが、
ファイル全体が1つのデータとして扱われてしまう為、1回のループで終わって
しまい、結果は↓のように出力されてしまいました
さいたま たま夫
とうきょう おお山 さか美
改行で1つのデータとして扱い、↑3件のデータが3回ループするように
コーディングしたいのですが、どのように変えたらよいでしょうか?
>>529
お答えありがとうございます。
せっかくお答えいただいたのですが、勘違いしてました。
(Split関数は問題ありませんでした。)
0531デフォルトの名無しさん
2007/08/10(金) 20:17:50わからないタスケテ(涙
●環境
・Windows XP (sp2)
・VB 6.0 (sp6)
・標準EXE でプロジェクト作成
・プロジェクト>コンポーネント>Microsoft Common Dialog Control チェック
・プロジェクト>参照設定>Microsoft Scripting Runtime チェック
で、Form1 にボタンやコントロールを配置して
いくつかコードを書いてプロジェクト保存>終了しました。
その後、続きをやろうとプロジェクトを開くと、
----------------------
行 67: クラス MSComDlg.CommonDialog(コントロール CommonDialog1) はロードされていません。
行 90: クラス MSForms.CheckBox(コントロール CheckBoxHeadIgnore) はロードされていません。
----------------------
ログファイルに上記エラーが出て、
Form1 に適用した内容が全く読み込まれなくて困っています(涙
先輩方タスケテクダサイorz
0532デフォルトの名無しさん
2007/08/11(土) 01:01:23よくわかんないけど、ファイルの中身って、
さいたま[TAB]さい川[TAB]たま夫[改行]
とうきょう[TAB]ほげ川[TAB]ほげ子[改行]
おおさか[TAB]おお山[TAB]さか美[改行]
ってなってんの?まさか
さいたま[TAB]さい川[TAB]たま夫[TAB]
とうきょう[TAB]ほげ川[TAB]ほげ子[TAB]
おおさか[TAB]おお山[TAB]さか美[TAB]
じゃないよね?
>>531
エラーが出てるコントロールはずして、とりあえずセーブ。
もう一回プロジェクトを開いてエラーが出なくなったら、はずしたコントロールを再配置してみては?
0533デフォルトの名無しさん
2007/08/13(月) 11:25:07ご回答ありがとうございます。
ファイルの中身は
さいたま[TAB]さい川[TAB]たま夫[改行]
とうきょう[TAB]ほげ川[TAB]ほげ子[改行]
おおさか[TAB]おお山[TAB]さか美[改行]
ってなってますね。
秀丸で見てもそうなってます。
0534530
2007/08/13(月) 11:53:54ありがとうございます。
が、解決しませんでした。
それどころか全ての場合において発生したので、なんか根本的な所がダメみたい。
(ボタン1個配置のシンプル構成でも)
0535デフォルトの名無しさん
2007/08/13(月) 12:07:21改行コード「LF」をVBで「CR+LF」に置換する方法ってありますか?
>>532
ご回答ありがとうございます。
ファイルの中身は
0536デフォルトの名無しさん
2007/08/13(月) 13:37:28replace(hoge, vbLf, vbCrLf)
0537530
2007/08/13(月) 14:16:19右上のプロジェクトグループ・ツリーをダブルクリックで
Form画面を呼び出せることに気がついて解決。
おさわがせしました。
0538デフォルトの名無しさん
2007/08/14(火) 15:14:10特定条件によって変数に格納する、といった作業をやりたいのですが、
どうやればできますかね?
0539デフォルトの名無しさん
2007/08/14(火) 15:53:16どこから教えればいいんですかね?
とりあえずWebBrowserコントロールは見つけれた?
0540538
2007/08/14(火) 17:22:01WebBrowserコントロールを使えばよさそうだ、という所まではたどり着いたのですが、
どんなメソッドがあるのか、どのメソッドを利用すればいいのか等がさっぱりわかりません。
ネットで調べてみてもいろんなWebBrowserコントロールの情報が混在していてどれがどれやら…orz
0541デフォルトの名無しさん
2007/08/14(火) 17:33:17IEnowebbowserコントロールはHTMLDocumentオブジェクトをプロパティ .document で公開してるから
後はそこから調べるといいかも(DOMツリーなのでかなり広い)
情報あるなら使うコントロールの似たような名前で探して、それをやっていけばいいんじゃないかな
0542538
2007/08/14(火) 20:16:24HTMLDocumentオブジェクトまでは何とかたどり着いたんですが、
そこからがどうにもうまくいかんとです。
Set doc = WebBrowser1.Document
If TypeName(doc) = "HTMLDocument" Then
Form1.Caption = doc.Title
value = doc.body
End If
こんな感じじゃあかんのですかね…?
0543デフォルトの名無しさん
2007/08/14(火) 20:25:300544デフォルトの名無しさん
2007/08/14(火) 23:29:59目標はDQです。
とりあえず戦闘画面でも作ってみたい
0545デフォルトの名無しさん
2007/08/14(火) 23:47:12じゃあ先ずはアタマの中にある戦闘シーンを紙とエンピツでプロットしてみることだな
ソレが嫌なら諦めろ、途中で投げ出しても諦めろ、出来たらまた来い
0546デフォルトの名無しさん
2007/08/14(火) 23:53:01違うけどどうしたら同じ場所に違う内容が表示できるかわからない。
ようするに戦闘シーンのたたかう・にげる・じゅもんなんかを表示する
方法がわからないってことです
0547デフォルトの名無しさん
2007/08/14(火) 23:54:51とっても稚拙な方法も思いつかない?
たとえばMSPaint.exeで書いて、それを紙芝居風に表示するとかも?
0548デフォルトの名無しさん
2007/08/14(火) 23:56:18とりあえず時間があるならVBで1から作るんじゃなくて、
出来合いのRPGツクールとかで作ってしまうといいと思うよ
■ このスレッドは過去ログ倉庫に格納されています