トップページ⇒tech
972コメント344KB

VB初心者質問スレPart3

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさんNGNG
VB初心者質問スレPart2
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=990793224&ls=50
0002デフォルトの名無しさんNGNG
////////////////////////// 終了 //////////////////////////
0003デフォルトの名無しさんNGNG
IEとかで表示したHTML内のハイパーリンクを
ドラッグドロップして、そのリンク情報を取得するには、
どーやればいいんでしょうか?
Iriaとかにアイテム追加をするみたく・・・
0004デフォルトの名無しさんNGNG
Private Sub Form_Load()
Me.OLEDropMode = 1
End Sub

Private Sub Form_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
MsgBox Data.GetData(vbCFText)
End Sub

あとは適当に応用をきかせて。
0005 NGNG
PC名の取得はどうするのでしょうか。

SQLサーバに接続した際、クライアントのPC名を記録したいのですが
VBでのPC名の取得方法がわかりません。
00065NGNG
ここにありました。よかったあって。
ttp://www.mitene.or.jp/~sugisita/family/papa/vb/api_sysi.html
00073NGNG
>>4
引数にvbCFTextですか・・・
全然、勉強不足でした。ありがとうございます。
0008ソート君NGNG
ListViewで日付の項目をソートしたいのですが上手くいきません。
単純な文字列比較のようなので、
2001/10/21
2001/9/10
のように、9月が10月の後になってしまいます。
9月を09のように0を頭につければもちろん正しくソードできるのですが、
それをしないで正しく実時間の順にソートする方法はありますでしょうか。
0009疑心暗鬼NGNG
はじめまして!
先ほどは違うスレに書き込んでしまって
すっかり鬱な疑心暗鬼です。

ちょっと質問なんですけど、
下記のVBのプログラムの結果が同じにならないのは
どうしてなのかご教授願えますか?

質問内容
Fix関数でDoubleとVariantで同じ値が
入っているのに、Fixすると結果が違ってしまう。

環境
VB6 + SP6
Win2000

よろしくお願いします。


'********* ここからプログラム
Dim a As Variant
Dim b As Variant
Dim c As Variant
Dim t As Variant

Dim d As Double
Dim e As Double
Dim f As Double
Dim tt As Double

Dim g As Variant
Dim h As Variant
Dim i As Variant
Dim ttt As Variant

a = 24600
d = 24600
g = 24600

b = 24000
e = 24000
h = 24000

'VariantでDoubleの時と同じ結果を出すための苦肉の策
c = a * 1000 / b * 1000 / 10
t = Fix((c + 5) / 10) / 10

'Doubleでの正しい結果が出る
f = d / e * 100
tt = Fix(f + 0.5)

'Variantでは正しい結果が出ない
i = g / h * 100
ttt = Fix(i + 0.5)

MsgBox "ただしい計算結果 " & Str(t) & vbCrLf & _
"ただしい計算結果 " & Str(tt) & vbCrLf & _
"誤ってる計算結果 " & Str(ttt)

'********* ここまで
0010デフォルトの名無しさんNGNG
VBからエクスプローラを制御することは可能ですか?
コマンドの送受信をしたいのですが。
0011デフォルトの名無しさんNGNG
>8
エクスプローラでさえ0を代入してます。
無理と思って差し支えないでしょう。
0012デフォルトの名無しさんNGNG
>>10
コマンドって何でしょう?キー操作のことですか?
送信はSendkeys(藁
受信はフックしてやってください
0013デフォルトの名無しさんNGNG
VB の ListView にはソートイベントってないの?
2つのアイテムを比較するときに発生するイベント。
0014デフォルトの名無しさんNGNG
>>13
ColumnClickじゃない?
001513NGNG
>>14
>>9

であれば、その ListView.ColumnClick イベントで、
日付を日付として比較するように書いてやればよいのでは?
00169NGNG
>>15
?????
0017デフォルトの名無しさんNGNG
DirListBoxで取ったディレクトリパスにあるフォルダ名をリストとして吐き出したいんですが、どうしたらよいでしょうか?
0018デフォルトの名無しさんNGNG
>>17
リストボックスに追加すりゃいーの?

Dim i As Integer
i = 0
Do Until i = Dir1.ListCount
List1.AddItem Dir1.List(i)
i = i + 1
Loop
00198のソート君ですNGNG
>>11
月日はそうなんですが、時間の部分は0ないですよね。
まあ、エクスプローラがVBで作られたとは思えませんが。

>>13
>>14
>>15
こんなの見つけました。
http://www.mvps.org/vbnet/index.html?code/callback/lvsortcallback.htm
みなさんのおっしゃっている事はこれのことでしょうか。
しかし、ここまでしなければならないのでしょうか。
なんか最後の方よく読むと問題もあるらしいし。。。
もっと簡単でスマートな方法ありますでしょうか。(と甘えてみたりする)
0020hNGNG
モロ、無修正画像サイト発見!

http://www.sex-jp.net/dh/01/
http://www.sex-jp.net/dh/02/
http://www.sex-jp.net/dh/03/
http://www.sex-jp.net/dh/04/
0021質問NGNG
いまさら気づいたんですが、
VBのテキストボックスって65536文字(だっけ?)くらいしか
入れられないんでしょうか。
もっと増やしたいのですがアドバイスください。
お願いします
0022デフォルトの名無しさんNGNG
>>21
そうです
とりあえずリッチテキストボックス使いましょう
002317NGNG
>>18
ファイルに吐き出すとか変数に入れるとかして色々やるつもりですが、
充分に応用できそうな感じですね。
ありがとうございました。
002421NGNG
>>22
リッチ何とかって書体がいろいろあったりするやつだっけ、
ありがとう。解決した。
0025デフォルトの名無しさんNGNG
Open filename For Output As #1
   hoge = "ほげ" & "ほげ2"
Write #1, hoge
Close #1

とかやってみたんですけど、これだと出力結果が
"ほげほげ2"
となりますよね。
この両端のダブルクォーテーションが要らないんですが、どうしたら良いでしょうか?
0026デフォルトの名無しさんNGNG
>>25
print #1
0027デフォルトの名無しさんNGNG
>>25
'ファイルを書き込む関数
Public Function WriteFile(strFileName As String, strText As String)
Dim intFree As Integer
intFree = FreeFile()
Open strFileName For Binary As #intFree
Put #intFree, , strText
Close #intFree
End Function
002825NGNG
>>26さんので出来ました、ありがとうございます!

>>27
スマソ、、理解できなかった自分は逝ってよしでしょか、、、。
0029デフォルトの名無しさんNGNG
固定ピッチフォントだけ列挙したいんですが、どうしたらいいでしょうか。
(プロポーショナルフォントは排除する)
今はループで回してPrinter.Fontsからフォント拾って列挙してるだけです。
0030デフォルトの名無しさんNGNG
VBでウインドウの中にネット上のHTMLを表示したいのですが?
(Flash Getとかで、広告出してる感じのやつ)
どうすれば出来るんでしょうか?
おしえてん@
0031デフォルトの名無しさんNGNG
>>30
Webブラウザコントロールではダメかい?
0032デフォルトの名無しさんNGNG
>>25
WriteのところをPrintにしてみそ。
0033前のスレ885NGNG
前のスレで質問したことですが、
乱数を連続で取得すると値が近いと、、。
そこでこんなアドバイスをいただき、
 連続で取得すると近くなります。
 WINAPIのSleepで1でも値を取ると、近似値がぐっと減りますよ。
嬉しいのですが、よくわかりません(;´_`;)
サンプルコードを書いてもらえませんか?
ドキュソですんません。
0034デフォルトの名無しさんNGNG
VBでメモリ解放とか、簡単に出来るのでしょうか。
難しいのなら、出直して来ますが・・・
多少の勉強で出来るのなら、アドバイスが欲しいです。

・・VC++だと簡単とか言っとりますが・・・よぉ分かりません。(汗
ttp://www.page.sannet.ne.jp/kamishima/
0035デフォルトの名無しさんNGNG
>>34
ttp://www.page.sannet.ne.jp/kamishima/
↑
かなりイタイ。
0036デフォルトの名無しさんNGNG
>>34
Javaと同じでGCだよりです。
0037nanasisanNGNG
>>34
> VBでメモリ解放とか、簡単に出来るのでしょうか
VBではメモリ管理をVBのランタイム(仮想マシンとも言います)が
実権を握って管理しているのでできません。

javaだと意図的にgc (garbage collect; メモリ内の不要部分(ゴミ)
を集めて破棄すること)できたのですが、VBだと知っている限り
そのようなものはなかったと思います。

> ・・VC++だと簡単とか言っとりますが・・・よぉ分かりません。(
VC++だと簡単というのではなくて、VC++だとプログラムを書く側が
メモリ管理の実験を握ることになるので、VBに比べてメモリ管理を
行なう部分のソースを書かなければならないばかりか、メモリを確保
する部分はあるのに何らかの条件で解放する部分が実行されなかった
りすると、メモリリーク(確保したメモリが解放されずに残ってしま
うこと)が発生してしまうことにもつながります。

要は「義務と権利は表裏一体」ということで、メモリ管理の権利を握り
たければ、メモリ管理の面倒な部分も引き受けるという義務が同時に
発生するわけです。

ただし、VC++だとメモリ管理の部分について詳細まで書くことが出来る
ので、VBよりも遙かにメモリの利用効率の高い、かつ高速なアプリケー
ションが作れます。

> ttp://www.page.sannet.ne.jp/kamishima
この厨房ソフト最高すぎ(w
真・メモリ最適化ツールに迫るって、マジで(w
003834NGNG
>>35
>>36
>>37

回答ありがとうございます。
自分のような初心者に出来る領域でないことが、よく分かりました。
VB以外の言語が扱えるぐらいに勉強したら、もう一度挑戦します。

・・・みなさん笑ってるソフトは別スレから。
http://salad.2ch.net/pc/kako/979/979942202.html
0039デフォルトの名無しさんNGNG
オカルトアプリ厨房…
0040回答、よろしくお願いします。NGNG
ただいまVBで簡単なカードゲームを作っているんですが、

PictureBox の複数選択移動の処理に困っています。
何か言い方法はないでしょうか?

GUIでファイル関係を操作するときみたいに、ドラッグ範囲指定
ドラッグ&ドロップで移動するっていうのが理想なんですが

回答の方ヨロシクおねがいします。
0041デフォルトの名無しさんNGNG
>>29
リストボックス等に列挙するのはキツイですが、
コモンダイアログならできます。
CommonDialog1.Flags = cdlCFBoth Or cdlCFFixedPitchOnly
CommonDialog1.ShowFont
って漢字で。
004240NGNG
一応無理やりプログラムで偽装しました。


しかしドラッグした時のアイコンは単一なんですよね・・・

APIかなにかで複数選択にはできないのでしょうか?
0043デフォルトの名無しさんNGNG
ウィンドウズの時計合わせって、どうやれば作れますか?
時刻の変更と、NTPサーバーへの接続と・・
004443NGNG
あ、で・・Dateステートメントがあるのか・・・
自己解決してしまった・・・(滝汗
鬱だ氏のう・・・

・・・・でもNTPサーバーの接続ってば・・・
0045VB君NGNG
VBでNTのサービスを作成する事はできますか?
サービスの実行ファイルとしてVBで作成したEXEを指定して動かしてみたんですけど
処理中のままで動作しません。
やはりVC++でなければダメ
0046ニャピ子NGNG
VB6.0、帳票ツールはCR8で開発するつもりなの。
VB側でデザイン環境呼び出そうとしたら
VBのメニューのプロジェクトには「Crystal Report 8の追加」って表示されなくて、
コンポーネントのデザイナの欄にも「Crystal Report8」と表示されてなーい。
なんで?
インストールしたCR8はプロフェッショナルエディション。
デベロッパーエディションじゃなきゃだめなのかなー?
ちょっと困ってます。何か知っている人いますか?
0047デフォルトの名無しさんNGNG
VBで、ボタンとかPictureBoxのコントロールを
実行時に新しく生成ってできるんでしょうか?

できるととっても便利なような気がするんですが、
方法がわかりません

# イベントハンドラを与える方法が無いとかの理由でムリなのかしら…
0048デフォルトの名無しさんNGNG
>>47
できるよ。
0049デフォルトの名無しさんNGNG
Option Explicit

Private Kotae ' ランダムで変化する答え

Private Sub cmdAnswer_Click() ' 答え合わせ
Dim Atai ' 入力された値を受け取る器
Static Kaisu ' 何回かかったかを覚える
Atai = Val(txtAnswer.Text)' テキストボックスから値を取得
Kaisu = Kaisu + 1
'入力された値と答えを比較
If Atai > Kotae Then
lblQuestion.Caption = "まだまだ大きいよ" ' 大きい場合
If Atai - Kotae < 3 Then lblQuestion.Caption = "少し大きいよ" ' 差が10以下になったら
End If
If Atai < Kotae Then
lblQuestion.Caption = "まだまだ小さいよ" ' 小さい場合
If Kotae - Atai < 3 Then lblQuestion.Caption = "少し小さいよ" ' 差が10以下になったら
End If
If Atai = Kotae Then
If Kaisu = 1 Then
lblQuestion.Caption = "当たりだよ!!" & vbCrLf & Kaisu & "回であたったよ" & "こりゃ参ったよ"
ElseIf Kaisu < 3 Then
lblQuestion.Caption = "当たりだよ!!" & vbCrLf & Kaisu & "回であたったよ" & "あんたすごいねー"
ElseIf Kaisu < 5 Then
lblQuestion.Caption = "当たりだよ!!" & vbCrLf & Kaisu & "回であたったよ" & "まあまあだね"
Else
lblQuestion.Caption = "当たりだよ!!" & vbCrLf & Kaisu & "回であたったよ" & "はやくあてなきゃ"
End If
Kotae = Int((10 * Rnd) + 1) ' 1から10までの乱数整数を発生させます
txtAnswer.Text = "" ' テキストボックスの初期化
Kaisu = 0 ' 回数の初期化
End If
End Sub

Private Sub Form_Load()
Randomize ' Rnd関数の初期化
Kotae = Int((10 * Rnd) + 1) ' 1から10までの乱数整数を発生させます
txtAnswer.Text = "" ' テキストボックスの初期化
lblQuestion.Caption = "私の考えてる数字(1〜10)を当ててごらん?"
End Sub

数当てゲームなんですが、どうして
If Atai - Kotae < 3 Then lblQuestion.Caption = "少し大きいよ" ' 差が10以下になったら
If Kotae - Atai < 3 Then lblQuestion.Caption = "少し小さいよ" ' 差が10以下になったら
で、差が10以下になったらなのに"3"が出てくるのかよくわかりませんです。
どなたかアドバイスよろしくです。
0050nanasisanNGNG
>>45
NT/2000リソースキットのsrvanyを使うと良い。
サービス周りの部分だけやってくれる。
005147NGNG
>48
あ、ほんとだ!!コントロール配列使うとは気づかなんだ…
知らないって恐いっすな。感謝っす〜
005247NGNG
>>49
> If Kotae - Atai < 3 Then lblQuestion.Caption = "少し小さいよ" ' 差が10以下になったら
> で、差が10以下になったらなのに"3"が出てくるのかよくわかりませんです。
いや、うん、コメントが間違ってるだけのような気も…
「コメントで書かれている事はしばしば嘘っぱちである」
ということを心得よう
0053デフォルトの名無しさんNGNG
> If Kotae - Atai < 3 Then lblQuestion.Caption = "少し小さいよ" ' 差が10以下になったら
> で、差が10以下になったらなのに"3"が出てくるのかよくわかりませんです。
いや、コメントが間違ってるだけのように見える

「コメントで書かれている事はしばしば嘘っぱちである」

ということを心得よう
005453NGNG
あ、すんません、おもいっきし連続書き込み
# しかもびみょ〜に直してるあたりが赤っ恥
0055 NGNG
VBまたは、VBAで、ノーツのDBをつついたりすることってできるんですか?
0056デフォルトの名無しさんNGNG
コメントが間違ってただけなんですね。サンクスです。
0057デフォルトの名無しさんNGNG
始めてカキコします。
VBで作ったソフトをOLEオブジェクトとして別のソフトで
使用したいのですが、どうすればいいですか?
0058デフォルトの名無しさんNGNG
あげ
0059デフォルトの名無しさんNGNG
Private Sub Timer1_Timer()


Sleep (1)
MyValue1 = Int((Rnd * 43) + 1)
Label1.Caption = MyValue1

End Sub
sleepの使い方ってこんなんでよろしか?
0060あNGNG
VB で atan2() 使いたいんですけど、なにかよい手はありますか?
(Atn() しか用意されてない。。。)
0061@NGNG
モロ、無修正画像サイト発見!

http://www.sex-jp.net/dh/01/
http://www.sex-jp.net/dh/02/
http://www.sex-jp.net/dh/03/
http://www.sex-jp.net/dh/04/
0062デフォルトの名無しさんNGNG
エクセルVBAで結合したセルの幅の取り方が分かりません、お願いします。
これだと、結合前の幅になってしまいます↓
Dim oRange As Range

Set oRange = Sheet1.Range("A1")
MsgBox (oRange.Width)
0063デフォルトの名無しさんNGNG
VBでエクセルファイルを出力したいのですが、
それってできますか?
エクセルファイルを読み込むことはできたんですけど。

よろしくお願いします。
0064デフォルトの名無しさんNGNG
>>63できるよ。
xl.ActiveWorkbook.Close True, savefile
xl.DisplayAlerts = False
こんな感じ。
0065デフォルトの名無しさんNGNG
>>62
Sheet1.Range("A1", "A2").Width
試してないけどこれじゃあ行かんの?
0066デフォルトの名無しさんNGNG
>>60
http://homepage2.nifty.com/tamarinn/VBA.html#anchor23431
こんなのどうですか
006764NGNG
>>63
なるほど。
ありがとうございました。
0068ほんとの64NGNG
>>67 ???
  67 名前:63 :01/09/20 16:14
  >>64
  なるほど。
  ありがとうございました。
ってこと?
006963NGNG
あ!!
すみません。間違えました。
64さん、ありがとうございました。

ところで、
lim = filename.worksheets("sheet1").Range("A1").end(filename.worksheets("sheet1").xlToRight).Column
これで、limに エクセルの1行目の文字の入っている行数を入れたいのですが
うまくいきません。
何がいけないのでしょうか?
よろしくお願いします。
0070デフォルトの名無しさんNGNG
VBで作ったソフトを配布するときにインストーラー形式にしたいんですが、
ちゃんとプロジェクトを解析して使われているocxや必要DLLをパッケージに含んでくれる
インストーラー作成ソフトって何がありますか?
VB付属のディストリビューション ウィザードとインストールシールド以外で、
できればフリーのモノがいいのですが・・・。
007164NGNG
>>69
lim = filename.worksheets("sheet1").Range("A1").end(xlToRight).Column
だよ。
xlToRightはプロパティーでもメソッドでもなく定数。
>>62
ついでに今VBで試したけど>>64のやりかたででてきたよ。
VBAのマクロでも今やってみた。
普段使わんから使い方がようわからんかったけど結果は同じやった。
ようするに結合しても結合前の範囲を指定せないかん訳だな。
A1とA2を結合しているならA1とA2を指定すると言うこと。
0072デフォルトの名無しさんNGNG
>>70
>ちゃんとプロジェクトを解析して…
ディストリビューション ウィザードとインストールシールドで
いいと思われ
0073デフォルトの名無しさんNGNG
age
0074デフォルトの名無しさんNGNG
VBのまったくの初心者にお勧めの解説本って
どういった物が良いのでしょうか?
0075デフォルトの名無しさんNGNG
>>74
付属のチュートリアル
0076デフォルトの名無しさんNGNG
MSのActiveServerPagesを1週間前から始めた超初心者です。
なんとなく簡単なプログラムを書くことはできはじめたのですが、
目標としてASPを使って、いろいろなグラフ(円グラフとか
棒グラフ)描画をやってホームページに出したいのですが、
それはASPで可能なんでしょうか?それとも何か別の言語
とかでやった方がいのでしょうか? 教えて下さい。
スレ違いならごめんなさいですけど、その場合どこで
訊いたらいいでしょうか?
0077デフォルトの名無しさんNGNG
VBで、InetコントロールのOpenURLメソッドで取得したHTMLデータ
をシーケンシャルファイルに保存すると、2バイト文字が化けて
しまう場合があります。これを回避する方法がありましたら、ご教授
ください! よろしくお願いします!!!
0078デフォルトの名無しさんNGNG
あるテキストファイルから1行づつデータを取得して
別々のテキストボックスへ格納したいのですが
コードの記述がわかりません。

3行のテキスト文章を3つのテキストボックスに行別に格納するための
方法を教えてください

よろしくお願いします。
007964NGNG
>>78これで動くかな?
Open ファイルネーム For Input As #ファイルナンバー
For i=0 to 2
 Line Input #ファイルナンバー, 中身
 Text1(i).text = 中身
Next i
Close #ファイルナンバー
Text1(0),Text1(1),Text1(2)をフォームに貼り付けて
コントロール配列にすれば動くと思う。
ファイルが2行しかないとかそういったときのエラー処理は
適当に考えて頂戴。
00801NGNG
http://members.tripod.co.jp/bingo852/
008164NGNG
>>74
とりあえず何でもいいからサンプル付の本を買ってきて流れをつかんだら
あとはMSDNライブラリーで事は足りると思う。
>>76
簡単な棒グラフは1×1のGIF画像でも用意してテーブルを使うのが
良くある手段。でも円グラフはさすがに無理か。
昔パールでGIFファイルをヘッダーから全て書き出すことをやったけど
<IMG src="graph.cgi">って感じで呼び出して
ヘッダーからたらたらと書き出す。
とてもサーバーに負荷がかかりそう。
ここで聞くよりWebProgのほうが良いんじゃない?
0082☆☆雪NGNG
[OSのVer]2000
[VBのVer]5.0
以下に示すのは0040でのDB接続コードですが。
これをActiveXDLL化する場合、べたに書いて、DLLWIZARDを使用し
コンパイルするだけで接続できるのでしょうかでしょうか?
また、足りない部分があったらご指摘お願いします。
(サービス名、ユーザー名なども、記入済として。)
よろしくお願いします。

***********************
OraSession : Variant; // Oracle Session
OraDatabase : Variant; // Oracle Database

procedure TMaiForm.ConnectBtnClick(Sender: TObject);
var
StrSrv : String;
UserPass : String;
begin

StrSrv := 'hogehoge'; // Net8 サービス名
UserPass := 'hogeUser/hogePass'; // ユーザー名/パスワード

try
// OLE オートメーションオブジェクトのインスタンスを作成
OraSession := CreateOleObject('OracleInProcServer.XOraSession');
// oo4oインプロセス接続
OraDatabase := OraSession.DBOpenDatabase[StrSrv, UserPass, 0];
except
on E:EOleError do begin
ShowMessage('データベースの接続に失敗しました。');
end;
end;

end;
よろしくお願いします!!
0083デフォルトの名無しさんNGNG
質問
VisualBasicで作成したアプリケーションを常に一番前に表示させるために
ZOrderメソッドを使いたいんだけどどこに配置すればいいですか?
0084デフォルトの名無しさんNGNG
VB6にてSetWindowLongを用いたメッセージフックを行っています。

Form1のPrivateモジュール内で
lpOrg = SetWindowLong(Me.hwnd, GWL_WNDPROC, AddressOf WindowProc)

WindowProcは標準モジュール関数として作成し、
その中でメッセージを判断する事までは出来ましたが、
これって他アプリに対しても同じ様な事ができるのでしょうか?

単純にSetWindowLongに別のアプリのウィンドウハンドルを渡せば・・・・、と思ったんですが、
ウィンドウProc(lpOrg変数)に0が帰ってきてしまいます。
0085デフォルトの名無しさんNGNG
プロセスが違うと無理
0086デフォルトの名無しさんNGNG
Range(1, 1).NumberFormat = "#,##0;-#,##0"

これで数字に3桁ごとにカンマを入れたいんですけど、ウマくいきません。
どうしてでしょうか?
0087超初心者NGNG
VB初心者のプログラマーです。
Visual Basic 6.0 SP5でFTPを利用したアプリケーションを開発し始めたのですが、
FTPのBinaryモードとASCモードを切替えるプロパティがMSDNを探しまわっても
見当たりません。
デフォルトではBinaryのようなのですが、ASCに切替える方法はあるのでしょうか?
どうかお知恵をおかし下さい。
お願いいたします。
0088デフォルトの名無しさんNGNG
フォームの表示位置を設定したいんだけど。。
0089デフォルトの名無しさんNGNG
>>88
どこらへんに?
0090デフォルトの名無しさんNGNG
らるちーみたいに、
二つのフォームを結合させるのは、どーやるんでしょうか?
0091sageNGNG
with me
.top = 100
.left = 200
end with
ってな感じでできちゃった。
自分で解決したのでsage
0092デフォルトの名無しさんNGNG
textBoxに入力した桁数はどうやって取得するのですか?

例えば
┌───┐
|ABCD |
└───┘
と入力した時には、「4」という値を取得したいのですが…。
お願いします。
0093デフォルトの名無しさんNGNG
>>92
len(text1)
009493NGNG
・・・ちと、いー加減だったか。(汗
MsgBox Len(Text1)
文字数の取得でいーんだよね?
バイト数やったらLenB・・・
いちおー、基本中の基本やから・・・
0095デフォルトの名無しさんNGNG
ありがとうございます!!
基本なんですがこれにちょっとはまってました。
助かりました。
0096デフォルトの名無しさんNGNG
拡張子lzhに対応するスクリプトエンジンはありませんと
言うわれたんですけどどうすればいいんですか
0097デフォルトの名無しさんNGNG
>>96
どういう状況で言われたの?
0098デフォルトの名無しさんNGNG
>>97ダウンロードしたゲームを開こうとしたときです
009997NGNG
>>98
そのゲームが、ドコにあるのかが分からんと、どーにも。
・・・つか、開発関係の質問に該当するんでしょか?
0100デフォルトの名無しさんNGNG
あの、初心者の人はVB6は我慢して、VB.netをやったほうがいいと
思うんだけど。(マジレス

ADOとかも大きく変わるよ。RecordSet亡くなるし。
0101デフォルトの名無しさんNGNG
>>100
VB.netをはじめるなら
C#とかの方が
後から仕様追加して無い分
仕様が素直だと思うが
どっちが取っつきやすいかは人によるが
0102デフォルトの名無しさんNGNG
VBでブラウザを作っています。
が、IEなどにあるブックマーク一覧表の作成でつまっています。
FileListBoxを作ってそこに表示させるようにしてみましたが、
C:\WINDOWS\Favoritesからデータを拾ってくるように指定する
方法がわかりません。
もしかしたらFileListBoxよりもっとスマートな方法があるのかもしれません。
ご存知の方、どうかご教授ください。
0103デフォルトの名無しさんNGNG
>>102
>FileListBoxを作ってそこに表示させるようにしてみましたが
の時点で
>C:\WINDOWS\Favoritesからデータを拾ってくるように指定
できてるんじゃないか?

だいたいFileListBoxじゃ、お気に入りの階層構造はどうすんのよ。
それにお気に入りはC:\WINDOWS\Favoritesって決まってるわけじゃないしな。
そのまま続けたら高速ダウンローダ2000が出来ちゃうよ。
0104102NGNG
レスありがとうございます。
>>C:\WINDOWS\Favoritesからデータを拾ってくるように指定
>できてるんじゃないか?
プログラムのソースがあるディレクトリを自動で指定してしまってるようなので
その変更方法がわからなく困っています。
>だいたいFileListBoxじゃ、お気に入りの階層構造はどうすんのよ。
確かにそうなのですが、ではどうすればいいのか、私にはわからないのです。
ドーナツのソースを拾って調べてみようと思ったらあれ、VC++なんですね…(困)
0105デフォルトの名無しさんNGNG
>>104
そんなレベルの話してたのか・・・。
  File1.Path = "c:\windows\Favorites"
ってやれば、お気に入りが表示されるよ。
でも>>103に書いたように階層構造の問題もあれば、
お気に入り場所だってc:\windows\Favoritesって決まってるわけじゃないし。
はっきり言うけど、こんな事聞いてるレベルでブラウザを作ろうなんて、
無謀すぎると思うぞ。
ましてやドーナツ級のものなんて無理だろ。
0106デフォルトの名無しさんNGNG
メールヘッダーのFrom:から、メールアドレスだけを抜き出す処理って、どうやるんでしょうか?
文字列から"@"を検索して、Doステートメントとかで、"<"や"("がヒットするまで抜き出すんでしょうか。

・・・・・もっと違うやり方って、あります?
0107デフォルトの名無しさんNGNG
ACCESS2000 VB6.0 DAO使用
(テーブル)
 ・日付(DATE型)主キー
 ・曜日(数値)
 ・時間区分(数値)主キー
 ・内容(文字列)
というようなテーブルで、
特定の年月(例えば2001年9月など)を指定してレコードを検索するのには
どういうふうに書けばいいでしょうか?
0108デフォルトの名無しさんNGNG
質問です。
環境はVB6SP5、WIN2000SERVER、SQLSERVER2000です。

常駐型プログラムを作成したのですが、それをサービスに追加し、ログオンしなくても
プログラムが実行できるようにしたいのですが、
上記の環境で実現するには、リソースキットを導入するしかないのでしょうが。

既出でしたら申し訳ありません。
0109えこえこあざらしNGNG
>>108

>>50でそれらしいことが書いてあるよ。
俺は詳しくはわからんが。
0110デフォルトの名無しさんNGNG
>>106
(使用出来る環境なら)正規表現を用いて取り出す手もある。
0111デフォルトの名無しさんNGNG
例えばテキストボックスがA,Bの2つあるフォームがあるとします。
BからAへフォーカスが移った時に
「フォーカスがBから来ました。」
という情報はどのように取得するのでしょうか?

TabIndex(?)の情報を使えば良いような気がするのですが
具体的には分からないので、どなたかよろしくお願い致します。
0112デフォルトの名無しさんNGNG
>>111
WM_SETFOCUS
0113デフォルトの名無しさんNGNG
WM_SETFOCUS
ってどのように使うのですか?

Text1.text = WM_SETFOCUS

としても何も表示されませんでした…。
0114VB厨房NGNG
>>111
すべてのコントロールのGetFocus()イベントで現在のコントロールを何かの変数に保存しておいて
BのGetFocus()イベントでその変数を調べればいいんじゃない?
0115デフォルトの名無しさんNGNG
やっぱり変数を使うしか方法は無いのでしょうか…。
0116デフォルトの名無しさんNGNG
>>113-115
なぜMSDNを読まない?
0117111NGNG
>>116
読んでもわからないバカなんです。申し訳ない。
0118デフォルトの名無しさんNGNG
VBでコンソールに出力するには、どうしたら良いのでしょう?
printfとかcoutみたいなことがしたいのだけど。
あと、終了コードはどうやって返せば良いのでしょう?
0119デフォルトの名無しさんNGNG
age
0120VB厨房NGNG
dirオブジェクトとfileオブジェクトを使っています。
dirオブジェクトで選択したフォルダの、以下に入っているフォルダを取得して、
それから全てのファイル名称を全部取得したいと思ってます。

If File1.ListCount <> 0 Then

For i = 1 To File1.ListCount

File1.ListIndex = i - 1
Text1.Text = Text1.Text & File1.FileName & vbCrLf

Next

End If

選択したフォルダ内のファイルはこれで表示させることができますが、
そのフォルダ以下に入っているフォルダ内のファイルの取得方法がわかりません。
誰か詳しい人教えてもらえると助かります。よろしくお願いします。
0121デフォルトの名無しさんNGNG
>>119
consoleについて
http://www.cqpub.co.jp/try/1999-9/vbcon.htm
でどうかな。
終了コードについて
ExitProcess() APIを使ってはどうかな。
0122デフォルトの名無しさんNGNG
>>77
化けるって、どんなふうに?

http://www.giko.cat/写真/ドキュソ記念/docun.jpg
がhttp://www.giko.cat/%BC%CC%BF%BF/%A5%C9%A5%AD%A5%E5%A5%BD%B5%AD%C7%B0/docun.jpg
って感じでよいの?
0123デフォルトの名無しさんNGNG
例えば、(100,5)で宣言した配列に
エクセルから Range で指定した100行1列分 を
配列の4列目に入れるって可能ですか?

今のところ、Range で入れたい配列と完璧に同じ大きさだけ
とってこないと配列に入れられないのですが。

よろしくお願いします。
0124120ですがNGNG
解決しました
0125デフォルトの名無しさんNGNG
>>123
ループを使うのは嫌なの?
0126 NGNG
WIN32API.txtの最新版って公開されてる?
最新版ってのがあるのかも知らないんだけど。。。
手元にあるVisualStudio6についてきたやつは
更新日が1998/7/14ってので古すぎて使いたいAPIが無くって
むかつくんですけどぉ・・・
0127119NGNG
>>121
まさしくこれです。VBではできないと思ってたので助かりました。
終了コードもExitProcessでいけました。
監視端末とかこれでつくろうっと。
0128デフォルトの名無しさんNGNG
>>125
ループで解決しました。
どうもすみません・・・。
0129デフォルトの名無しさんNGNG
frxファイルって、どーゆー時に生成されるんですか?
新規フォームにデフォルトで付いてくるアイコンを削除したら、
frxファイルが生成された気がするんですが・・・・
どうやりゃ削除できますか?
0130デフォルトの名無しさんNGNG
>>129
frxはアイコンとかPictureBoxに貼り付けた絵とかを保存してるファイルだとオモタ。
選択してDeleteキー押すとか?
どうやりゃ削除って、右クリックして削除選ぶとか?
ゴミ箱にドラッグ&ドロップするとか?
つーかなんで消す必要があるかわからない。
0131デフォルトの名無しさんNGNG
自フォームにフォーカスがセットされていない無い状態で、
キーが押下された事を取得するには、どうしたらいいのでしょうか?
0132デフォルトの名無しさんNGNG
質問です。
初めてVBでちょっとしたプログラムをしてみて、
ディストリビューションウィザードでパッケージにしてみました。
すると大した機能も付けていない(と思う)んですがDLLの総量が3MBにもなっていたのです。
それくらいで普通なのでしょうか?
よろしくお願いします。
0133新しくVBを学ぶのはやめましょう。NGNG
もう、やめようよ......。既存のVB消えるんだからさあ。
0134デフォルトの名無しさんNGNG
俺VBと一緒に逝くよ。他の言語はハードル高すぎ…
たかすぎ〜 たかすぎぃい〜 かいぃはぁつぅ〜
0135デフォルトの名無しさんNGNG
>>131
通常の方法では無理。システムフックを使うしかないと思う。

>>132
どのコントロールを使っているかに拠る(Projectをエディタで開けば分かる)
ので、一概には言えないが2-3MB程度なら普通かな。

>>133
多分.NETのことを言っているのだと思うけど、コード体系自体はそう変わらない
わけだし、.NETがすぐに浸透するとは思えない。
未だにVB5やVB4を使っているところだってあるわけだし。
オブジェクトは変わるけどコードの書き方は基本的に同じだから
意味がないわけではないと思う。
0136デフォルトの名無しさんNGNG
非マルチラインのテキストボックスコントロール上で
リターンキーを押したときにビープ音が鳴らないように設定しても
MaxLengthを設定すると鳴ってしまいます。
この場合でもならないようにするにはどうすればいいでしょうか
0137新しくVBを学ぶのはやめましょう。 NGNG
まったく度素人状態から学ぶのであればやめたほうがいいとおもうんだけどねえ。

俺:
COBOL->VBA->VBS->VB->JavaScript->(XML)->VC++

VBから逃れるのは大変だよ!って、使わない訳ではない。
いまも上の言語はすべて使っている。
0138デフォルトの名無しさんNGNG
>>137
うるせーバカ
0139デフォルトの名無しさん NGNG
>>138
笑
0140デフォルトの名無しさんNGNG
初心者より手前のレベルの入門者です。
リッチテキストボックスで
とある単語だけ強調表示(太字&フォントサイズ+1)したいのですが
どんなキーワードで捜せば「当たり」がありますか?

お暇な方、よろしくお願いします。
0141デフォルトの名無しさんNGNG
テキストボックスの行間の幅を変更するにはどうすればいいのでしょうか。
0142デフォルトの名無しさんNGNG
>>140
ん? こゆこと?
・・・フォントは使い方忘れた。


Dim i As Integer
Dim temp As String

RichTextBox1.Text = "名無しさん"
temp = "しさ"

With RichTextBox1
i = InStr(.Text, temp) '探す
If i > 0 Then
.SelStart = i - 1 '「し」から
.SelLength = Len(temp) '「さ」まで
.SelBold = True '太字に設定
.SelStart = 0 'フォーカスを先頭に戻す
End If
End With
0143140NGNG
>>142
試してみます。感謝です。
0144デフォルトの名無しさんNGNG
>132
ランタイム入りだとそれくらいのサイズになるよ
0145デフォルトの名無しさんNGNG
どんなVBランタイムセットでも、これは確実に入ってるってのはどれでしょうか?
"ASYCFILT.DLL""COMCAT.DLL""MSVBVM60.DLL""OLEAUT32.DLL""OLEPRO32.DLL"
"STDOLE2.TLB""VB6JP.DLL""VB6STKIT.DLL"
これくらいが基本ですかね。
0146デフォルトの名無しさんNGNG
作曲のソフトを作りたいんですけど
ドとかレの音を出す方法ってどうやればいいのでしょう
0147ビギナーNGNG
VB4で開発したアプリをVB6で修正するにはどうすればよいでしょうか?
0148145NGNG
>>145はVB6についてです。
0149デフォルトの名無しさんNGNG
>>137
逆に貴方のようにCOBOLから入った人は理解しづらかったかもね(^^;
Message(=イベント)という概念やオブジェクト、クラスという概念は
COBOLにはないからね。上記の概念を(厳密ではないけど)簡単に
把握したいならVBは選択肢の一つになりえるよ。
言語つーのは適材適所だから、逃れる必要もないし、それは貴方の立派な
財産だと思うのですが。

>>140
ちなみにRichText.Find()ってメソッドあるけどバグ有ります。
どういう挙動をするかは色々やってみてね。142さんの方法がベター。

>>147
まずVB4-16か32かはっきりさせろ。でないとアドバイスのしようがない。
とりあえずvb4のプロジェクトはVB6でも読めたはずだから、変換する事。
あとはUnicode(全角半角も2バイト)とS-JISに気をつけること。
それと一部のコントロールは使えない。
0150デフォルトの名無しさんNGNG
>>137
VBSとJavaScriptってのが痛。
0151デフォルトの名無しさんNGNG
>>149
前半と後半の口調が違くて怖い。ブルブル・・・
まるで893のようだ
0152デフォルトの名無しさんNGNG
VBでキー入力をロックするにはどうすればよいのでしょうか?
APIの BlockInput を使うとマウス入力までロックしてしまいます。
用途としては、Ctrl+Alt+DeでVBアプリを終了させられてしまうのをを封じたいのです。
OSはWin2Kです。
キー入力をロックした上に、VBアプリのみがキー入力を認識できればもっとうれしいのですが・・・
メッセージフックという技を使えばできるのでしょうか?
01531NGNG
その画像ならココ
http://www.f2.dion.ne.jp/~impact14/
0154デフォルトの名無しさんNGNG
>>152
http://soramimi-i.com/my2/vb/03/030306.htm
強制終了を禁止するだけなら、こーゆーんで。
0155152NGNG
>>154
試しましたが、win2kでは使えないようです・・・
0156デフォルトの名無しさんNGNG
VBというか、エクセルVBAの質問で恐縮なんですが
ワークシートにコントロールを複数配置したいのですが
うまくいかなくて困ってます。
スピンボタンのlinkedcellの値がF2のものをコピーしても
linkedcellの値がまたF2のものができてしまいます。
ここを相対参照にする方法ってないんでしょうか?
コードも継承されないみたいだし...
0157デフォルトの名無しさんNGNG
>>146
実際に使ったことはないけど、midiOut〜っていうAPIを使うか、
DirectMusicでやるのが簡単そうだと思う。
自前で計算したいならMODとかについて調べるといいと思うよ。
0158デフォルトの名無しさんNGNG
>>151
よう見てみ。最後のは質問として成り立ってないから
そういう口調になっても仕方ないよ。

>>152
NTと9xでは処理が全然違うんだけど、NT/2K限定でいいの?
http://members.tripod.com/~masapico/doc_DisableSAS.html
0159デフォルトの名無しさんNGNG
>>158
システムが使うDLLを書き換えるのは怖いですが試してみます。
レスありがとうございました。

>>154
言い忘れましたが、レスありがとうございました。
0160152NGNG
Ctrl+Alt+Del はしょうがないとして、
Alt + Tab によるアプリの切り替えを防止する方法ってありますか?
0161デフォルトの名無しさんNGNG
階層フレキシブルグリッド(MSHFlexGrid)でデータを表示しているのですが
偶数行はこの色、奇数行はこの色
のように簡単に見やすく色分けする事は出来るでしょうか。
0162デフォルトの名無しさんNGNG
初心者な質問で申し訳ないんですが
文字を回転させて表示することは可能なのでしょうか
どなたかお願いします。
0163デフォルトの名無しさんNGNG
やろうとしてることはとても初心者向けではなひ。
0164149/158NGNG
>>160
検索してるの?
http://www.tair.freeservers.com/download/killers.html

こことか海外には有用なコード一杯落ちてるよ。日本国内じゃレベルが知れてる。

>>161
.ColSelが効かないのがちょっとアレだけど、.CellBackColorで変えられるよ。

>>162
DCに描画するしかないね。163の言うとおりで初心者のレベルは超えてる。
DC(デバイスコンテキスト)について勉強したほうがいい。
0165    NGNG
>Ctrl+Alt+Del はしょうがないとして、
>Alt + Tab によるアプリの切り替えを防止する方法ってありますか?

Ctrl+Alt+Delを無効にするコードはMSDNに載っています。
絶対に使うな!って書いてありますけど(!?藁
0166デフォルトの名無しさんNGNG
>164
レスありがとうございます
難しそうですが挑戦してみます。
0167名無しさんの野望NGNG
subject.txtからdatファイル名を抜き出す方法を考えています。

例.
999973261.dat<>こんなしぇんむ〜は嫌だ!! パート4 (123)
1000141155.dat<>QOH & PB ACCESS 7 (572)

subject.txtを読み込む
↓
行の左から14文字取り出す
↓
14文字目に"<"がある項目から"<"を削除する。
↓
配列にファイル名を入れ,次の行へ
↓
繰り返し

という方法を考えていますが,1行ずつテキストを
変数に読みこむという処理はどうすればよいでしょうか。

また,テキストとして読み込むよりバイナリとして
読み込んだほうが,やはり処理は早いのでしょうか。
0168160NGNG
>>164
レスありがとうです。
検索はかなりしましたが、日本語ページしか見てませんでした。
海外の方がレベルが高いんですかー。今度は海外も見てみます。
0169デフォルトの名無しさんNGNG
windows付属のスクリーンキーボードみたいに常に前面に
表示させたいのですがどうすればいいのでしょうか?
0170デフォルトの名無しさんNGNG
CreateWindowEx の拡張スタイル WS_EX_TOPMOST を使うか、
SetWindowPos の HWND_TOPMOST を使う。
0171!!!警告!!!NGNG
!!!VB厨房が徘徊しています!!!
!!!!!!放置開始!!!!!!
0172デフォルトの名無しさんNGNG
>>169
SetWindowPos()にHWND_TOPMOSTを指定してやればOK。
ていうかこの手のは検索すれば死ぬほど出てくるが?

>>167
ていうかInStr()使ったほう(".dat"を検索)が早くないか?

>1行ずつテキストを変数に読みこむ

それ以外にどういう方法があんの?Line Inputとかヘルプ見た?

>また,テキストとして読み込むよりバイナリとして

いいところに気が付いたけど、この程度の処理ならロジックが複雑に
なる分と相殺かな。
バイナリで読む利点はメモリにおいて読めることなんで
(ファイルI/Oのオーバーヘッドが減る)
この例のように、行先頭のみ、一行の長さが可変という処理なら
テキストで読んだほうが簡単。
0173136NGNG
誰かわかんないですか?
0174デフォルトの名無しさんNGNG
>>136
0175デフォルトの名無しさんNGNG
>>174
今VB使ってないから、
PC内蔵のスピーカ外せ、としか言えない。
0176デフォルトの名無しさんNGNG
>>136
TextBoxのKeyPressイベントで、Len(TextBox.Text) >= TextBox.MaxLength が True の場合に、KeyAscii=0にするとか。
やってないのでわからないが、理論上はできるはず。
あとはMaxLengthを2増やし、Len(TextBox.Text) >= TextBox.MaxLength - 2が(以下略)
0177136NGNG
>>176
ありがとうございます。ためしてみます。
0178141NGNG
>>141は無理ですかね・・・
0179デフォルトの名無しさんNGNG
>>178
VBでどうやるのか知らないけど、APIでならGetFontして
LOGFONTに細工してSetFontでしょ。
0180デフォルトの名無しさんNGNG
もしも、InputManを使っておられる方がいらしたら質問です。
テキストボックスのプロパティで、
フォーマットを全角のみにした場合でも、半角スペースのみだと
変換されずにそのまま通ってしまいませんか?
回避策を思い付かないので、教えていただければ幸いです。
0181デフォルトの名無しさんNGNG
VBでエクセルの複数行を結合させると、
文字が一番下の行に表示されてしまうのですが、
一番上の行に表示させることはできるでしょうか?

よろしくお願いします。
0182デフォルトの名無しさんNGNG
>>181 Excel の[セルのプロパティ]、垂直揃えを見てごらんよ。
0183デフォルトの名無しさんNGNG
上げてすみません。
 あるディレクトリ下のファイル数を一発で取得する方法で簡単なものがあった
ら教えて頂けないでしょうか?FindFirstFile系のAIPを使用してカウントする
とファイル数が1000位までならあっという間なんですが、Cドライブ全てな
んかをカウントするととても耐えられない時間がかかります。
 それと、ファイルの実際の使用サイズを取得する方法もお願いします。
 よろしくお願いします。
0184デフォルトの名無しさんNGNG
  、>              .|
  >________   .|
   ̄   .|./_   _\ |   |     ______
      | /  ヽ/  ヽ |  |     /
.      | |   ・ | ・  |  V⌒i  
   _  |.\  人__ノ   6 |  < うるせー馬鹿>>183
   \ ̄  ○        /    |       
.     \          厂     \
     /  _____/          ̄ ̄ ̄ ̄ ̄
      ̄ ̄, -/へ/\/`- 、
       /./  ./o    i. \
0185デフォルトの名無しさんNGNG
質問です。イベントログを取得しようとし、以下のような方法で、コードを記述したのですが、
イベントログには
ソース (○○○○) 内のイベント ID (9999) に関する説明が見つかりません。次の挿入文字列が含まれています
と記述されています。これを避けるためにはどのようにしたらよいのか、どなたか詳しい方、
ご教授願えないでしょうか。。。
Appオブジェクトを使う方法ではなく、APIを使用する方法を希望します。

Option Explicit
Declare Function RegisterEventSource Lib "advapi32.dll" Alias _
"RegisterEventSourceA" ( ByVal lpUNCServerName As String, _
ByVal lpSourceName As String) As Long
Declare Function DeregisterEventSource Lib "advapi32.dll" ( _
ByVal hEventLog As Long) As Long
Declare Function ReportEvent Lib "advapi32.dll" Alias "ReportEventA" ( _
ByVal hEventLog As Long, ByVal wType As Integer, _
ByVal wCategory As Integer, ByVal dwEventID As Long, _
ByVal lpUserSid As Any, ByVal wNumStrings As Integer, _
ByVal dwDataSize As Long, plpStrings As Long, lpRawData As Any) As Boolean
Declare Function GetLastError Lib "kernel32" () As Long
Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" ( _
hpvDest As Any,hpvSource As Any, ByVal cbCopy As Long)
Declare Function GlobalAlloc Lib "kernel32" (ByVal wFlags As Long, _
ByVal dwBytes As Long) As Long
Declare Function GlobalFree Lib "kernel32" ( ByVal hMem As Long) As Long

Public Const EVENTLOG_SUCCESS = 0
Public Const EVENTLOG_ERROR_TYPE = 1
Public Const EVENTLOG_WARNING_TYPE = 2
Public Const EVENTLOG_INFORMATION_TYPE = 4
Public Const EVENTLOG_AUDIT_SUCCESS = 8
Public Const EVENTLOG_AUDIT_FAILURE = 10

Public Sub LogNTEvent(sString As String, iLogType As Integer, _
iEventID As Long)
Dim bRC As Boolean
Dim iNumStrings As Integer
Dim hEventLog As Long
Dim hMsgs As Long
Dim cbStringSize As Long
hEventLog = RegisterEventSource("", App.Title)
cbStringSize = Len(sString) + 1
hMsgs = GlobalAlloc(&H40, cbStringSize)
CopyMemory ByVal hMsgs, ByVal sString, cbStringSize
iNumStrings = 1
If ReportEvent(hEventLog, iLogType, 0, iEventID, 0&, iNumStrings, cbStringSize, hMsgs,hMsgs) = 0 Then
MsgBox GetLastError()
End If
Call GlobalFree(hMsgs)
DeregisterEventSource (hEventLog)
End Sub

Sub Main()
Call LogNTEvent("Information from " & App.EXEName, EVENTLOG_INFORMATION_TYPE, 1001)
Call LogNTEvent("Warning from " & App.EXEName, EVENTLOG_WARNING_TYPE, 1002)
Call LogNTEvent("Error from " & App.EXEName, EVENTLOG_ERROR_TYPE, 1003)
End Sub
0186185NGNG
環境は、VB6SP4、NTです。
0187デフォルトの名無しさんNGNG
age
0188デフォルトの名無しさんNGNG
>>183
動作速度はともかくとして、簡単に取得するなら
FileSystemObject 使うのもありかも。
0189デフォルトの名無しさんNGNG
標準のリストボックスが二つあって、それぞれの内容をドラッグ&ドロップで
移動できるサンプルコードがあったら教えていただけないでしょうか?
0190デフォルトの名無しさんNGNG
あげ
0191189NGNG
できました。
0192183NGNG
>>188
 ありがとうございます。
 でもFileSystemObjectの方が遅かったので・・・。結局全フォルダ
オブジェクト下のファイル数を地道に数えて行くんですよね?
 たとえばC:\windowsと指定したらそのディレクトリにぶら下がって
いる全てのディレクトリ下のファイル数も一辺に取得したいんです。
0193デフォルトの名無しさんNGNG
すいません。アホVB初心者です。
VBの標準exeで改行コードLFをCRLFに変換したいんですが
何か良い方法はないでしょうか。
0194デフォルトの名無しさんNGNG
改行の前に vbCr を付ける、じゃダメか?
0195デフォルトの名無しさんNGNG
>>193

strExpression = Replace(strExpression, vbLf, vbCrLf)

これではだめでしょうか?
個人的には vbNewLine 使うトコだけど。
0196デフォルトの名無しさんNGNG
vbCrLfとvbNewLineの違いって何?
どう使い分けたらいいのか分からない…
0197デフォルトの名無しさんNGNG
>>196

vbNewLine : 一応プラットホームに依存しない(事になってる)コードを書ける。
まあ気休めだけどね。

UNIX 系、Mac、Win 全部に対応しようと思ったら結局自分で書くしかないね。
0198デフォルトの名無しさんNGNG
Form1
--------------------------
Private Sub Command1_Click()
Set Form2 = New Form2
Form2.Show
End Sub
--------------------------

Form1のCommand1をクリックすると、Form2が新しく表示されますが
いっぱいクリックすると、いっぱいForm2が現れます。

それぞれのForm2はどうやって識別するのでしょうか。
オブジェクト名は「Form2」ではないみたいなのですが…。
0199デフォルトの名無しさんNGNG
185よろしくお願い致します。
0200デフォルトの名無しさんNGNG
>>195
それじゃお金もらえない。

処理済のテキストをもっぺん通したらどうなるか考えてみれ。
0201デフォルトの名無しさんNGNG
>>198
フォームの数分変数を用意すればいいんじゃねーの?
0202デフォルトの名無しさんNGNG
>>198
Form2ってのは暗黙のForm2オブジェクトのインスタンスを
示すから、Set Form2...てのはそもそも間違い。
ヘタすると循環参照になる恐れもあるし、リソースがどんどん減っていく
のが分かると思う。
0203デフォルトの名無しさんNGNG
ボタンを押した時に、指定したWAVファイルを鳴らしたいのですが
どうしたらよろしいのでしょうか?
ご教授お願いいたしまっす!
0204aitaNGNG
VB6.0で開発してる者なんですが、mid関数を使って、文字列を2つに分けたいのですが
2つに分けた2つ目の文字列が文字化けしてしまいます。対処策を教えてください。
0205デフォルトの名無しさんNGNG
>>204
2バイト文字が真っ二つになっている。
+1か-1をしてみれ。
0206aitaNGNG
デフォルトの名無しさん,レスありがとう!
でも、それをやっても化けちゃうんだなぁ!
どうしよう?
0207デフォルトの名無しさんNGNG
>>204
つか、Mid 関数って文字単位じゃなかったっけ?
どんな文字列食わせてるの?
0208デフォルトの名無しさんNGNG
最初から化けてるに一票
0209デフォルトの名無しさんNGNG
再帰処理でスタック不足のエラーを捕まえるにはどうしたらいいのでしょう?

on Error goto ErrHandle
call SomeFunc '再帰関数を呼ぶ

ErrHandle:
MsgBox("計算に失敗しました")

こんな感じではエラーを捕まえてくれずに落ちちゃう・・

#再帰が浅いデータで計算するとうまく動いているから再帰関数自体は問題ないとおもう
0210デフォルトの名無しさんNGNG
>>207
VB4,5,6は文字列はデフォでUnicodeだから漢字ANK混在でも
途中で切れる事は無いはず。
>>209
再帰を呼び出す回数を制限するカウンタを導入したら?
public sub MyFunc(Byval CallCnt as Integer)
__if CallCnt < 100 then
____Call MyFunc(CallCnt + 1)
__end if
end sub
0211207NGNG
>>210
でもさ、API から受け取る等して、Shift-JIS コードが
まぎれこんでた場合は、どうなるんだろうね。
0212デフォルトの名無しさんNGNG
VBはじめて4日です。
データベースをやりたくてはじめたのですが、
ADOやらDAOやらRDOやらで、どれを勉強して良いかわかりません。
とりあえず、新しいということでADOを勉強しようと思っているのですが、
他の2つより劣っている部分ってあるのですか?
0213デフォルトの名無しさんNGNG
初めてならDAOが良いんじゃないの?
情報も多いし。
0214デフォルトの名無しさんNGNG
>>209
VBから他の言語に乗り換えろ
0215デフォルトの名無しさんNGNG
すいません
WebBrowserコントロールのフォントサイズの変更ってどうやるんですか?
それらしいプロパティを見つけられんのですけど・・・
0216名無しNGNG
お聞きしたいんですけど、統計解析をSAS(Statistical Analysis System)を用いて行う
ことはけっこう高度なものなのでしょうか?数学使うんでしょうか?
(数学)苦手なもので・・。えっと大学の授業でそういう情報処理の科目
があるんですけど、数学苦手でまだプログラミングのことが分からない
初心者には無理ですかね?無理なものをとってもしょうがないと思いまして。
誰かおしえてください!
0217デフォルトの名無しさんNGNG
>>216 「無理」って言ってほしいように感じるけど?
0218212NGNG
>>213
DAOの方が簡単なんですか?
つーか、違いが今ひとつ分かりません・・・。
0219名雪NGNG
だおー
0220デフォルトの名無しさんNGNG
アド?エーディーオー?どっち?
0221    NGNG
>>203
瀬戸遥
0222デフォルトの名無しさんNGNG
ExcelVBAについて質問です。
フォーム上にテキストボックスを貼り付けました。
VBのテキストボックス上で右クリックするとメニューが出ると思うのですが、ExcelVBAの場合それが出ません。
これは仕様なのでしょうか?
それとも簡単に出す方法がほかにあるのでしょうか。
0223213NGNG
>218
DAOはJetなどのスタンドアロンDB用。
ADOはSQL鯖などクライアントサーバ用。
お気軽って意味で、初めての時はDAOがいいんじゃないかな、と思った。
モチロン、環境が用意出来るならこの限りではないけど。

詳しくは↓でも読んでみてチョーダイ。
http://homepage2.nifty.com/inform/vbdb/
0224デフォルトの名無しさんNGNG
>>218
adoの方が新しいんだから、adoやっとけ。
別にどちらが難しいとかいうことはない。同じ。
0225sageNGNG
リストビューの選択項目を削除する方法を教えて!
0226デフォルトの名無しさんNGNG
コモンダイアログを配置しようとすると「ライセンスが無い」といわれるのは何故?
0227209NGNG
>>210
何だ、Cと一緒で自分でスタックの量を見積もらなくてはいけないのか・・
どうもありがとう
0228デフォルトの名無しさんNGNG
説明下手ですみませんが、お教え下さい。
VB6で作りたいのです。

VB6で作成した物を常駐させて置いて、
適当なアプリを起動しようとした時に、
そのアプリが起動する前に、
作成しておいた適当な画像なりフォームなりを
割り込ませて表示する方法ってありますでしょうか?
アプリが起動する前にというのが出来ない場合には、
同時でも構いませんので、
何かいい方法はありませんでしょうか?
どうかご教授下さい。
0229デフォルトの名無しさんNGNG
既にでている質問だったら、本当にすいません。

VB6でエクスプローラーとかからドラッグ&ドロップしてファイルリストボックスにファイル名をリストアップしたいのですが、

Private Sub File1_OLEDragDrop(Data As DataObject,(中略)
File1.filename = Data.Files(1)
End Sub

だと、一つしかファイル名が表示できません。
D&Dしたファイルのファイル名をどんどん追加したのですが、どなたか教えて頂けませんでしょうか??
宜しく御願いしますm(__)m
0230218NGNG
>>223-224
ありがとうございます。結局、>>224さんの言われるように
「新しいから」と言う理由でADOを始めてみました。
ADOはスタンドアロン環境ではダメって訳じゃないんですよね?

で、やってて分からないことなのですが、
DBに接続したデータグリッドコントロールをクリックして、
クリック位置の「行」のデータを取得して
別に用意した行数分のテキストボックスに表示したいのですが、
クリック位置の行のデータの取得方法ってどうしたら良いのでしょう。
よろしくお願いします。
0231デフォルトの名無しさんNGNG
DLL 卍????Sってエラー何?
0232デフォルトの名無しさんNGNG
>>231
なんか化けてるんでは?
0233デフォルトの名無しさんNGNG
>>229
リストボックスに代入してから、ファイルリストに追加するとか・・・
なんや姑息な手段しか思い浮かばんな。
ってゆーか、なんでファイルリストボックスに追加したいんよ?
なんの作業をしたいの? リストボックスじゃダメなん?
0234229NGNG
>>233
どうもありがとうございます。
おっしゃるとおり、リストボックスだとフルパスがどんどん追加されますね。
なんでファイルリストだと追加ができないんですか、ほんと初心者なもので。。

ちなみに、やろうとしている作業は動画リストを作ってRealPlayerで再生させようという物です。
0235233NGNG
>>234
Private Sub Form_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim ddfile As Variant
Dim i, ii As Integer
Dim temp As String

For Each ddfile In Data.Files
List1.AddItem ddfile
Next

List2.Clear
For i = 0 To List1.ListCount - 1
ii = 0
Do
temp = Right(List1.List(i), ii)
ii = ii + 1
Loop Until Left(Right(List1.List(i), ii), 1) = "\"
List2.AddItem temp
Next
End Sub

ちょと作てみた。かなりドキュソだが動くでしょ。ま。
List2のアイテムをクリックしたときに、List1の同じ番号のアイテムを開くとか。
そーやりゃー、なんとか、たぶん。

リストファイルとして保存とか・・するん?
0236デフォルトの名無しさんNGNG
質問です。
実行時に現在処理中の関数の名前を取得したいのですが、
良い方法はあるでしょうか。
用途はエラーハンドリング時に表示させたいんです。
お願いします。
0237デフォルトの名無しさんNGNG
関数呼ぶ前に関数名をグローバル変数に格納するか、関数中で関数名をグローバル変数に格納するとか。
0238デフォルトの名無しさんNGNG
Microsoft Rich Textbox Control 6.0 (SP4)で、
ワードラップをしない方法はありませんでしょうか?
0239229NGNG
>>235
またまたありがとうございます。多謝、多謝。
List2にファイル名がでました。これのほうがスッキリしてますね。
保存は.iniでなんとかリストファイルを作成できそうです。
これでお気に入りの動画を再生することができそうです、むふむふ。
0240デフォルトの名無しさんNGNG
>>237
それはどういう事でしょうか。
Function FuncA As result_type
funcname = FuncA

End Function
こういう事ですか?
沢山数があるので、できれば特定の関数名は書かずに
済ませたいんですが、無理でしょうか。
0241デフォルトの名無しさんNGNG
Delphi でメソッド名をメソッドポインタから引っ張ってくるような事をしたいのかな?

そういう関数名とかは 実行時型情報(RTTI)というんだ
 VBのIDEはそれをどこかに持っているのは確かだけどさ・・・・
0242デフォルトの名無しさんNGNG
正直質問・・・。
よくある毎日かわる壁紙とかってどうやってんの?
やっぱりVBとかなの?
ふつーはどうやって作るもんなの?
0243デフォルトの名無しさんNGNG
>>242
別にVB以外でも、たいてーの言語なら作れると思われ。
で、なにさ? それを作りたいの?
0244デフォルトの名無しさんNGNG
>>243
その気になりゃWSHでもbatファイルでもできる。
つーか俺ならそうする。
0245242NGNG
PVかなんかのおまけでDVDにいれるんだってさ。
作れっていわれてるんだけど
一般的にこーゆーのってどーやってつくられてるの?
ASPならちょっとできんだけどWSHなら楽かな?
おれならコレをこーやって作るっていうのきぼん
0246193NGNG
すいません。返答貰ったのにREができなくて。
何をしたいかと言うと、ftpで送られてきたファイルの中に
lf改行コードのファイルがあるかもしれないので、crlfに
してくれと言われたのです。
Open "c:\FTP\ftp.log" For Input As #1
Do While Not EOF(1)
strDum = Split(LineData, vbLf) < ---LFコードで区切る
Text1.Text = Join(strDum, vbCrLf) < ---CRLFコードでつなげる
Loop
Close #1

こんな感じで書いてみたんですが、型が一致しませんと怒られました。
どなたかお知恵を貸してください。
>>193,197
返答ありがとうございます。
0247236NGNG
ヘルプで探してみましたが、どうやらできないみたいですね。
あるとデバッグに便利なのに・・。
回答してくださった方、ありがとうございます。
0248193NGNG
Text1.Text = Join(strDum, vbCrLf)
は
strJoin = Join(strDum, vbCrLf)
の間違いです。
strDumとstrJoinは共に配列で宣言してるstring変数です。
0249デフォルトの名無しさんNGNG
Modを使ってAがBの倍数であるかどうかを判定しているのですが、
Aが小数の場合は自動的に丸められてしまってうまく比較ができません。
この場合はどのようにしたら良いでしょうか
0250デフォルトの名無しさんNGNG
>>249
割るんでなくて掛ければ?
0251デフォルトの名無しさん NGNG
VB6.0のコモンダイアログから
ページ設定(プリンタの設定じゃないです)を
呼び出すにはどうすればいいですか?
メモ帳なんかだと印刷プレビューとか出ていて
いい感じなんで、あれを使いたいんですよ。
0252249NGNG
例えば 4.2 Mod 2 という計算に、0以外が返って欲しいのですがそうなってくれません。
掛け算でもそういったことが分かるものなのでしょうか。
すでに算数になってしまって、申し訳ないですがよろしくお願いします。
0253例えばこう。NGNG
D = A \ B 'まずAとBの商を求め..
IF A = (B * D) THEN 'それを掛けて元に戻れば割り切れるってわけ。
0254249NGNG
なるほど。ありがとうございました!!
0255デフォルトの名無しさんNGNG
>>212
Accessヤレ。中身はほとんどVBだ
0256デフォルトの名無しさんNGNG
A \ B だと、AやBが小数の場合うまくいかないよ
int(A / B) がいいね
0257デフォルトの名無しさんNGNG
>>230

 Clickイベント中でクリック対象行の座標(Rowプロパティ)を求め、欲しい列を
Colプロパティで指定して、データをTextプロパティから取得すればOK。
0258SurfaceNGNG
>>246
Joinの戻り値は、Variant型です。(多分)
0259デフォルトの名無しさんNGNG
ラベルで左右は揃えられますが(右・左揃え)
上下は揃えられないのでしょうか?(上・下・真中寄せ等)
0260デフォルトの名無しさんNGNG
SetWindowLong で BS_TOP スタイルをセットすれば可能。
0261デフォルトの名無しさんNGNG
>>260 ボタンじゃなくてラベルだよ!
0262デフォルトの名無しさんNGNG
最近、VBの勉強を始めたのですが、アプリケーションウィザードを使用しようとすると『ActiveX コンポーネントはオブジェクトを作成できません。』と出てしまいます。
また、『プロジェクト』から『コンポーネント』を選択して『Microsoft Common Dialog Control 6.0』などを選択すると『書き込みできません』と出て使用できません。
インストールで間違えたのでしょうか?でも、必要なものは一通りいれたつもりなのですが・・・。
一度、OSごとフォーマットしてインストールしなおしたのですが、治りませんでした。
思い当たることがあったら教えてください、よろしくお願いします。
OSはWindows2000SP2でソフトはVisualStudio6.0Professional Editionです。
0263VB厨房NGNG
>>262
Windows2000とVisualStudioを
MSにオンライン登録すれば使えるようになるよ(藁
0264デフォルトの名無しさんNGNG
>>262
消えろクズ
0265デフォルトの名無しさんNGNG
>>263
Windows2000はオンライン登録してないです。ちなみにプリインストールでした。
VisualStudioはオンライン登録してあります。
でも、動かないんですけど・・・。

>>264
そ〜ゆ〜こと言わないで、教えてくださいよ〜。
0266262NGNG
>>264
おまえが消えろ、はぁ
0267デフォルトの名無しさんNGNG
改行コードが<LF>だけのテキストファイルの改行コードを
<CR><LF>に変えたいのですがどうやったら良いでしょうか。
0268デフォルトの名無しさんNGNG
vim
:set fileformat=dos
:w! c:\DQN.TXT
0269デフォルトの名無しさんNGNG
>>267
各行の最後に Chr$(13) を追加するのはどうだ?
ファイルの読み書きが分からなかったら、
Open, Input#, Close関数 を参照すること。
0270デフォルトの名無しさんNGNG
>>269
バイト単位だから ChrB$ だったな。ごめん。
0271デフォルトの名無しさんNGNG
ひさびさにBASICをVBで使ってみたけど、昔のコマンド(関数とか制御式とか)
とほとんど一緒なんですね。

「Mid$ってVBでも使えるのかな〜?」ってヘルプ見たら、そのまんまの書式
で結構感激(笑

CでWinプログラム組むの面倒くさくなってきたよ。まずいな。
0272デフォルトの名無しさんNGNG
>>271
VBと同じ感覚でC言語でアプリケーションが作れる環境がもしあるとすれば、その需要は多い。
0273デフォルトの名無しさんNGNG
いつも思うんだが、VBの文字列操作関係の関数にわざわざ$をつける意味ってあるノカー?
0274デフォルトの名無しさんNGNG
ない。古い伝統。
0275デフォルトの名無しさんNGNG
変数の場合は"str"とかつけなくても区別できるからいいんだけどな…
0276名無しさんNGNG
>>272
C#
0277271NGNG
余計なこと(大事なことなんだけどさ(^^; )考えなくていいポイントが
多いよね、VBって。VCでMFC使う時は、結局ちゃんと知識得ていない
と使えないし、CのSDKはコツコツと根元から作り上げなくてはいけない。

総合すると、WINアプリの概念をちゃんと理解して、それなりにモノにするには、
C(SDK)→VB→C++(MFC) と間にVBを挟むのも悪くないんじゃないかな。

なんか、「ランタイム様。面倒なこと全部やってくれてありがとうございます」
っていう心境だわ(笑)。機能のディティールにこだわりだすと、やっぱりVCに戻る
んだろうけど、そうバカにするものでもないわな。

ただ、VBしか使わないWINプログラミングっていうのは、もったいないと思うけど。
0278デフォルトの名無しさんNGNG
>>276
ってゆーか、その前にC++Builderが既にあるだろ。
>>273
結果が空の時に$を付けるのと付けないのでは挙動がちがう。
例えばDir()はバリアント型のNullを返すがDir$()は""(空文字列)
を返す。
0279デフォルトの名無しさんNGNG
>>274
んじゃ、10万回ループとかで$ありとなしの実行時間を比較して
ごらん。278が言ってることが体感できるから。
これ以外にも$は”文字列を返す”ってのを明示する意味もあるよ。

>>248
strDumは配列でいいけどstrJoinは配列である必要はない。

>>277
VBだろうがVCだろうが質のよいコードを書こうと思えば
プラットフォームに関する知識を深めるのは当然。
それさえもできてない人間がVBを馬鹿にする。
0280279NGNG
>>277
>間にVBを挟むのも悪くないんじゃないかな

俺はVBでAPIや各種構造体の使い方を覚えて
SDK->MFCと行ったけど。
いきなりMFCはある意味危険だし、いきなりSDKもある意味きつい(笑)
今思うとSDKやれたのはVBで培った土台があったからだと思う。

そういう意味ではVBってSDKの入り口という感じがする。
ちょっと背伸びしてサブクラス化やAPIを使うこともできるし。
0281デフォルトの名無しさんNGNG
SDKはCを、MFCはC++を、Winとは関係なしに先に勉強しないと辛いけど、
VBはBASICとWinを同時進行できるのが、いいかもね。
0282デフォルトの名無しさんNGNG
いわばVBは、補助輪付自転車といえよう。
0283デフォルトの名無しさんNGNG
補助輪付きに慣れきってしまって、無しでは走れない奴が多いのも事実。
0284デフォルトの名無しさんNGNG
すいません。ちょっと聞きたいんですけど。
OpenAsTextStreamってワイルドカード指定できるんですか?
Open for〜だとワイルドカード指定できなかったんで。
0285デフォルトの名無しさんNGNG
>>284
なぜに今から開こうとするファイル名がワイルドカード?
FileName = Dir$("*.TXT")で取ってくればよかろうに。
0286デフォルトの名無しさんNGNG
>>285
フォルダ内にあるファイル全てが対象って事なんで。
そのフォルダにはtxt以外のファイルも多々存在するのです。
0287ナナNGNG
VBでADOを使うサンプルまたは講座などのあるHPを教えてください。
ASPのじゃ、やだよ。
0288デフォルトの名無しさんNGNG
>>287
ttp://homepage2.nifty.com/inform/vbdb/index.html
0289デフォルトの名無しさんNGNG
階層フレキシブルグリッド(MSHFlexGrid)に
↓のように表示させていますが

名称1 |名称2
--------+---------
AAAA|aaaa
BBBB|bbbb
CCCC|cccc

これを
↓のように表示させる事は可能なのでしょうか?
(エクセルで2つのセルを1つにするようなイメージです)

    名称
------------------
AAAA|aaaa
BBBB|bbbb
CCCC|cccc


可能な場合、どのようにすれば良いのでしょうか??
0290デフォルトの名無しさんNGNG
>>289
"名"を右寄せに、"称"を左寄せにする。
0291ななしさんNGNG
どちらにも垂直のスクロールバーがあるテキストボックスが二つあった時、
片方のスクロールバーを動かすと、もう一方もスクロールするように出来ますか?
0292デフォルトの名無しさんNGNG
VBで初めて簡単なソフト作ってvectorに申請したら載せてもらえました。
ちょっと恥ずかしい。
0293デフォルトの名無しさんNGNG
ちょっとお尋ねしたいんですが。

今、AVIファイルを再生させてるんですが、
その下に、フレーム数表示(あるいは時間表示)させようと思っとります。
どのようにすれば可能でしょうか?
環境はWindows2000。
VisualStudio6.0 EnterpriseEditionです。
よろしくお願いします。
0294デフォルトの名無しさんNGNG
VBからOutlookExpressを添付ファイルを付けて立ち上げたいのですが、
どうすればいいのですか?
今現在は、立ち上げる所まではAPIで出来たのですが、添付ファイルの
付け方が分からない状態です。

ShellExecute Me.hWnd, "open", "mailto:メールアドレス", vbNullString, vbNullString, SW_SHOW

他の方法でもかまわないです。
よろしくお願いします。
0295デフォルトの名無しさんNGNG
>>291
片方のテキストボックスをサブクラス化してEM_SCROLLかWM_VSCROLLを
取ってくれば?

>>293
そこまでやるんだったら最初っからmci関連のAPI使うしかなかろう。
0296289NGNG
>>290
それだと
名|称
と、間に「|」が入ります。
他に方法は無いでしょうか。。
0297 NGNG
>289
名称1=名称2ならMergeCellsつかえるような気が・・・
0298VB厨房NGNG
>>296
「夕|コ称」でどうだ?
  ^
0299デフォルトの名無しさんNGNG
>>294
MAPISession
MAPIMessage
0300デフォルトの名無しさんNGNG
MSFlexgridで、Ctrlキーを押しながらの複数選択はどうすればいいでしょうか?
選択箇所の色を変えて、あとから色が変わったところを探すのが普通でしょうか?
0301デフォルトの名無しさんNGNG
皆様のお知恵を貸してください。

VBで、「N88−BASIC」でいうところの

READ、DATA、(RESOTRE)

のようなデータ設定を行う方法は存在するのでしょうか?

ちなみに、当方の実現したいことは、2次元以上の配列への
一括データセットです。

HELP見ても同等機能を発見できず、だったので・・・。
0302VB厨房NGNG
>>301
static final String[][]={{"","",""},{"","",""},・・・
0303289NGNG
>>297
「項目」そのもののセルではなく、
「項目名」の部分、ヘッダーと申しましょうか
その部分だけを2つのセルを1つにしたいのです。。
0304デフォルトの名無しさんNGNG
>>301
配列の要素をひとつひとつ打つべし。
N88の既存プログラムのVB化でデータが膨大にあるときなら、
N88のソースからデータを読みとって配列にセットするsubでも書けばよい。
0305デフォルトの名無しさんNGNG
Sendkeysで右クリックは実現可能でしょうか?
Sendkeysでキーコード渡せると良いのですが・・・TOT
0306デフォルトの名無しさんNGNG
>301
俺もその機能探した...
結局、ちと違うがArray関数使う形になったケド...
もっとヨイ方法無いかなぁ
0307305NGNG
>305です説明足りなかったので追加
Sendkeysにしたい理由なんですが、
mouse_eventつかってやると位置情報が必要なので駄目なんです。

AppActivate "かりゅ〜しゃ", True
for i = 0 to 10 '<-繰り返したいので
'右クリック
Sendkeys "{up}{~}{down}"
next i

としたいのです。keycode=93が右クリックなんですがどうにかならないですかね。
0308デフォルトの名無しさんNGNG
>>307
MSDNを読め。mouse_event
0309デフォルトの名無しさんNGNG
オーディオデバイス・・つーか、WAVEとかが、
使われているか否か(音が出ているか)を取得するには、どうしたらいいですか?
0310デフォルトの名無しさんNGNG
>>309
MCI。
漏れはmciSendString以外使ったことがないから分からないが。
0311デフォルトの名無しさんNGNG
>>310
微妙にずれてるような…
それだとmciキューが空かどうかしかわからんのではないか。
0312名無しさんNGNG
リッチテキストボックスでなぜか水平スクロールバーが
出てこないんですが…。なぜ?垂直は出て来るんですが。
もちろんスクロールバーの設定は両方にしてます。
0313デフォルトの名無しさんNGNG
なんだかリッチテキストボックスの質問が多い
Me.Font = RichTextBox1.Font
RichTextBox1.RightMargin = Me.TextWidth(RichTextBox.Text)
でいけますが何か?
0314デフォルトの名無しさんNGNG
最小化ボタンのあるサイズ変更不可のFormを作るには
どうすればいいんでしょうか?
0315VB初心者NGNG
VBでアプリケーション作りたいのですが、
VB経験0です。
参考になる書籍を教えてください。
あ、ちなみにJAVA,Perl,Cのプログラミング経験はあります。
0316デフォルトの名無しさんNGNG
>>315
嫌です。
0317デフォルトの名無しさんNGNG
俺、msdnの中の「プログラミングの基礎」の項をプリントアウトして、
他は直接CD閲覧してやってる。特に本は買ってないけど。

他の言語使えるなら、これとネットの入門講座見とけばいいんじゃない?

物足りなくなったり、紐解くのめんどくさくなったら、リファレンス張りの
分厚い本でも座右に置いとけ。
0318デフォルトの名無しさんNGNG
>>314
FormのBorderStyleプロパティを"1 - 固定(実線)"にして
MinButtonプロパティを"True"にする
03193141592NGNG
>>318
出来た出来た!!
ありがとー!!
0320デフォルトの名無しさんNGNG
とても初歩的なことで申し訳ないのですが、
テキストボックスに数字以外を入れられたらはねたいのですが、
整数型などデータ型を取る関数を教えて下さい。
0321デフォルトの名無しさんNGNG
とっても初心者向けのサイトってないですか?
0322デフォルトの名無しさんNGNG
>>320
IsNumeric

>>321
君はここから。
ttp://202.245.103.41/learning.htm
0323sageNGNG
>>320
型は関係ないよ。なんなら文字も全部数字だと思っても
間違いじゃぁない。scanfやったことないならやってみなよ。

キーボードで「6」を押しても、コンピュータはポインタ
っていう暗号みたいな形で受け取るんだよ。だから先ずは
アスキーコードとscanfだ。で、はねたいって言うと更に
手続きがいるよ。

コントロールにキーボード押がされるとウィンドウに
メッセージが行くからそれを捉えて条件判定
しなョ。仮想キーコードだったかアスキーだったかは忘れたけど。

WM_CHARで色んなことが分かるョ
0324320NGNG
>>322さん
なるほど、ありがとうございます。
>>323さん
今、MSDNライブラリなんぞを見ましたが、当方初心者ゆえ、
scanf、WM_CHAR共に理解出来ませんでした・・・。
理解したいんだけどなぁ・・・。もっかいよく見てみます。
0325uaNGNG
VB6のコード入力画面ってマウスのホイールは利かないもんですか?
0326sageNGNG
少なくともscanfが分からなければ、
すぐ理解するようにしないと困った
ちゃんになってしまいますヨ・
>>324
0327デフォルトの名無しさんNGNG
まだはじめたばかりなのですが、頭が悪いせいか
独学だとうまく進みません。
みなさんのお勧めのサイトなどありましたら
教えていただけないでしょうか。
0328デフォルトの名無しさんNGNG
>>327
>まだはじめたばかりなのですが、
これを踏まえると、もう諦らめた方が良いという結論になるな。
0329294NGNG
>>299
MAPISession
MAPIMessage
この2つを使ってみたのですが、OutLookExpressが見えない形での操作しかできませんでした。
OutLookExpressが見える形で操作できないのでしょうか?
0330デフォルトの名無しさんNGNG
>>325
どこでもホイール使えばスクロールするよ。
0331デフォルトの名無しさんNGNG
>>325
今度は「VBでどこでもホイールと同じことはできないんですか?」とか聞かれそう…
0332デフォルトの名無しさんNGNG
なんかkeydownイベントを認識しねぇ。
っつーか認識するときとしないときがあって原因不明。
(゚Д゚)ゴルァァァァァァ
0333デフォルトの名無しさんNGNG
VB6というのを友達から焼いてもらったんですが、
これってインストールすると何メガくらいですか?
0334デフォルトの名無しさんNGNG
俺のプログラム・・・
上キーと下キーをエディットで押すと、
メッセージボックスが出るようにしたが、
所詮認識しないので、まぁ、MFCでも
ないといまのところ無理だ。そういうこと
にしといてほっといた。かなり前だ。

しかし、今日&キーを押したら、ポーンとか
いって「上キーが押されました」とかでてきた。
しばらく無視してたらコンドは)キー押しとき
ポーン、下キーが押されました。
どうやら仮想キーとアスキーだな。

こんな可愛いバグに俺は微笑む。
0335デフォルトの名無しさんNGNG
厨房な質問ですまん

1.ExcelVBAとVisualBasicの細かい違いは?
  「Excelがないと動かない」以外に・・・

2.VisualBasic.netへの移行は進むのでしょうか?
  色んなサイトを見てると「関係ねえよ」ていう感じですけど・・・
0336デフォルトの名無しさんNGNG
どうなんだろな
0337デフォルトの名無しさんNGNG
>>335
>2.VisualBasic.netへの移行は進むのでしょうか?

間違いなく進む。
嘘だと思うんならβ2で遊んでみ。
0338デフォルトの名無しさんNGNG
いま僕が嬉しいのはマイエディタで括弧で囲まれたところの
色を変えることが出来たことです。これは実装なんですか?

文字の検出には仮想キーやアスキーコードのことを考えなく
てはいけないのですが、条件判定のところでやたら定数式
が必要とかいうエラーが出たのが困りました。でもなんか
わかりました。char...=')'とか言う記述を止めx026等を
使いましたら、うまく行きました。

条件判定のルーチンのほうは、ほぼばっちりだったので満足です。

あぁ、これで少しは目が疲れなくてすむ。括弧を抜かしたりする
ミスも大幅に減少するでしょう。
0339デフォルトの名無しさんNGNG
Dim ReturnValue, I
ReturnValue = Shell("calc.exe", 1) ' 電卓を実行します。
AppActivate ReturnValue ' 電卓をアクティブにします。
For I = 1 To 20 ' ループ カウンタを設定します。
SendKeys I & "{+}", True ' 電卓にキー コードを転送して、
Next I ' I の値に 1 を加算します。
SendKeys "=", True ' 和を求めます。
SendKeys "%{F4}", True ' Alt + F4 キーを転送して電卓を終了します。

ヘルプのコレ↑をそのままformに貼り付けて実行ファイルつくって
動作させるとproject1って残骸が、ctrl+alt+delのタスクリストに
残ってるんですけどこれは何故?
0340デフォルトの名無しさんNGNG
>335
>「Excelがないと動かない」以外
↑が一番違う。要するに実行ファイルを作れるかどうか。

細かいところでは、オブジェクトの構造がちょっと違う。
言語的には同じ。
0341325NGNG
>>330-331
VBだけホイールでスクロールしないんですよ。
その他のアプリはだいたいスクロールするのに。
認識させる為になにかしないといけないのかな?
0342まいったNGNG
VC++のSpinBoxをVBではTextBoxとUpDownコントロールを組み合わせてやりますよね。
やってみたら大体はうまくいったのですが、唯一つ、VC++のSpinBoxと
違ってTextBox内でカーソルキーの上下を押しても数値がUp or Downしてくれません。

最近このことで悩んでいるのですが、どなたか上手いやり方をご存知でしょうか。

要はVC++のSpinBoxコントロールとまったく同じことをやりたいのですが、、、
0343デフォルトの名無しさんNGNG
>341
ホイールマウスのドライバの設定を色々いじくりまわしてみる事をオススメしよう
0344デフォルトの名無しさんNGNG
>>342
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyUp Then
Text1 = Text1 + 1
ElseIf KeyCode = vbKeyDown Then
Text1 = Text1 - 1
End If
End Sub

こぅゆぅの?
0345344NGNG
う・・・四行で済むじゃん・・ウツダシノウ
0346 NGNG
>303
亀レスすまんけど
MergeCol、MergeRow組み合わせてもだめなの?
0347335NGNG
また厨房な意見ですまん
VisualBasicとExcelVBAがたいして変わらないのなら
何故マイクロソフトはVisualBasicをOFFICEに標準装備しないのだ?
単に商売戦略上の問題だろうけど・・・・
中身が一緒だったらそう言いたくなるよ・・・
実行ファイル作るだけのためにVisualBasicを買うんかい!
0348デフォルトの名無しさんNGNG
>>347
それがゲイツたんハァハァだというのだ! なぜこんな事が分からん!!
0349まいったNGNG
>>344

確かにそれで数字は変わるのですが、
VC++の場合はカーソルキーを押すとスピンボタンを実際に押してくれる
(ボタンが押される様子というグラフィカルな効果だけでなく、
 それから引き起こされる処理もやってくれる)んですよね。

つまり、TextBox内でカーソルキーを押したときに、VBのUpDownコントロールに
マウスで矢印を押したというイベントを投げられれば一番いいのですが、
そんなことってVBだとできないのでしょうかやっぱり。
0350303NGNG
>>346
「長さ1」「長さ2」を「長さ」に変更する
↓
MSHFlexGrid1.MergeCells = 1
MSHFlexGrid1.MergeRows(0) = True

で2つのセルが1つに結合されましたが
今度は中央寄せにしたいのですが出来ません…。

MSHFlexGrid1.ColAlignment(2) = 4
↑だと、データの部分を中央寄せに出来ます。

MSHFlexGrid1.ColAlignmentHeader(2) = 4
↑ヘッダー部分を中央寄せに設定してるつもりですが
中央に寄ってくれません。

どうすればよろしいでしょうか。。
0351こまったNGNG
どーも。初心者です。
ある文字列からダブルクォーテイションを検索したいんですが
MID(xxxx,""")でエラー
どーしたらいいのでしょうか?
0352おいらも初心者。NGNG
"""" にしてみて>>351
ひとつが範囲始め、2番目がエスケープ指定、3番目が検索に使われて
4つめは範囲終わり。だったと思う。(回答への自信:66.66%)
0353こまったNGNG
>352
ありがとう
ためしてみる
0354346NGNG
>350
(念のため)RowとRowSel、ColとColSelでセル指定して
CellAlignmentつかえば真ん中いく。

つーか、階層フレックスってバグの山だったけど修正されたの?
0355350NGNG
>>354
MSHFlexGrid1.Col = 2
MSHFlexGrid1.Row = 0
MSHFlexGrid1.CellAlignment = 4
で、中央揃えになりました!
ありがとうございました。
0356デフォルトの名無しさんNGNG
過去ログしっかり探せばあるのかもしれませんが、ざっとみただけだと見つからなかったので質問です。
デスクトップのパスを取得するにはどうしたらいいのでしょうか?
ユーザーごとにかわるので、どうやって追っていけばいいのでしょうか?
0357デフォルトの名無しさんNGNG
ToolTipTextを右クリックで呼び出したいんですが、
ToolTipTextを表示させるのってどうすればいいいんでしょうか?
0358デフォルトの名無しさんNGNG
>>357
ぽっぷあっぷでにげちゃえ〜
0359デフォルトの名無しさんNGNG
>>357
ポップアップヘルプを呼び出すとか…
0360Kei@男NGNG
>351
A=Instr(文字列,chr(&h22))
で、何番めに(")が入っているかが分かります。
無い場合、A=0
0361デフォルトの名無しさんNGNG
>>349
そーなると、マウスカーソルを操るしか無さそうだね。
処理を投げるのはともかく、
グラフィカルな効果を・・つーのは、どうにも思いつかない。
ttp://versionup.banbi.net/src/classlibrary/mouseoperation/mouseoperation.htm
0362素人爆発NGNG
トーシローな質問で申し訳ないのですが……。

リストボックスのダブルクリックイベントで、選択された項目の
ItemDataをどうやって判別するか分かりません……。
選択された項目自体は、「List1.Text」で参照できますよね?
でも、ItemDataは引数を指定しないといけないみたいなんですが、
その引数に何を指定していいのか分からないんです。

なにとぞ、「この素人が」と思わずに、ご教授お願いいたします。
0363入門1ヶ月のど素人NGNG
>>362
他の方法があるのだろうと思いながら
何が選択されてるのかわかれば良いんだ!とか思って
For i=0 To List1.Listcount -1 ってループで
 List1.Selected(i)=true    なのを探して
この時のiを返すようにしてるの・・・
とりあえず動いてるんだけど、もっと良い方法があるっぽい。
0364デフォルトの名無しさんNGNG
Set Label1.DataSource = RecordSet
label1.DataField = "数値"

として、ラベル1にRecordSetの数値フィールドを入れています。
この数値を加工したい(500を加えて1000で割りたい)のですが
Label1選択 → プロパティ → DataFormat → の中に

標準
数値
通貨
:
:
ユーザー設定

があり、「ユーザー設定」で出来ると思うのですが
形式文字列の指定の仕方が分からないので教えてください。
よろしくお願いします。
0365デフォルトの名無しさんNGNG
>>362
List1.ListIndexでいいんでねーの。
0366VB超初心者NGNG
VBはじめたばかりの人間です。

今、本にある問題のプログラムを作ろうとしているのですが。
以下のような問題です。

数値Nを入力し1からNまでの和を求めよ。
ただしN<=0で終了する。 出力はNの値と和である。

です。皆様方ならどのようなプログラムを作りますか?
この初心者に教えてください。お願いします。
0367やさしい人NGNG
dim j as integer
dim n as integer
dim k as integer
n=text1.text
k=0
if n <=0 then{
for j=1 to n
k=k + j
next j
}
0368デフォルトの名無しさんNGNG
if n > 1 then
0369デフォルトの名無しさんNGNG
なんか他の言語もまじっていたようなので、画面にテキストボックスを2つ貼り付ける
ボタンを貼り付ける。
Private Sub Command1_Click()
Dim i As Integer
Dim j As Integer
j = 0
If Text1.Text > 0 Then
For i = 1 To Text1.Text
j = i + j
Next i
End If
Text2.Text = j
End Sub
0370藁NGNG
Private Function Sum(ByVal N As Long) As Long
If N <= 0 Then
Sum = 0
Else
Sum = N + Sum(N - 1)
End If
End Function
0371デフォルトの名無しさんNGNG
Private Function Sum(ByVal N As Long) As Long
If N>0 Then
Sum=N*(N+1)%2
Else
Sum=0
End If
End Function
0372デフォルトの名無しさんNGNG
%でなくて\だった
0373VB超初心者NGNG
皆様有難うございます。少しずつVBが分かってきました。
といいながらも別の問題も上手くつくれないのです。

中心角が115度の扇形の面積と弧の長さを求めよ。
ただし角の単位はラジアンとする。

です。
どうしようもなく阿呆かもしれませんが
どのようなプログラムをつくればいいのでしょうか?
0374デフォルトの名無しさんNGNG
>>373
それプログラム作るほどの意味があるのか?
0375デフォルトの名無しさんNGNG
>>373
小学生でも計算できますが何か?
0376デフォルトの名無しさんNGNG
>>373
 とりあえず

プログラミングの為の数学と算数
http://piza2.2ch.net/test/read.cgi/tech/997150743/
0377デフォルトの名無しさんNGNG
>>373
その前に、お前は本当にそのような技術が必要なのか小一時間問い詰めたい。(以下略)
0378デフォルトの名無しさんNGNG
中心角が115゚で単位がrad?
0379デフォルトの名無しさんNGNG
プログラミングを単なる計算機に使おうとしてる人初めて見た(w
0380デフォルトの名無しさんNGNG
フローティングウインドウにしたくてSetWindowPosでHWND_TOPMOSTを
セットしたんですが、これだプログラムを切り替えてもそのフォームが
最前面に表示されたままになってとてもウザイです。

プログラムが切り替わったら消えるようなフローティングウインドウはどうすれば
よいのでしょう?
0381デフォルトの名無しさんNGNG
>>380
WM_ACTIVATEを引っかけて、非アクティブになったら該当フォームを隠す。
アクティブになったら出す。
0382デフォルトの名無しさんNGNG
板違いでごめん・・・
VBAスレなかったもんで・・・

Excel97以降のDDEExecuteって仕様かわっちまったんでせうか?
95で作ったマクロ動かそうとしたらうごかねぇ・・・(;´Д`)
だれか参考になるHPでいいんでおせーてくだされ・・・
0383380NGNG
>381

WM_ACTIVATEを引っ掛けるってことはサブクラス化ってことか・・・
どうもありがとうございます。
0384デフォルトの名無しさんNGNG
スプレッドで、見出し行をドラッグしたり、「SHIFT」を押しながらの、
クリックで、複数行を選択した場合、最初にマウスを下ろした場所一行だけを、
アクティブにしたいのですが、うまくいきません。

まず、スプレッド自体で行選択モードにした場合は、却下されました。
それから、選択範囲内で一番上の行(または一番下の行)をアクティブにするのも却下されました。

よって、現在はマウスダウンしたときの行を保持して、
マウスアップしたとき選択範囲が複数行であれば、最初にマウスダウンしたときの行をアクティブにするという方法を考えています。

マウスダウンした時の行の保持は何ですればよいでしょうか?
よろしくお願いします。
0385デフォルトの名無しさんNGNG
>>384
マウスポインタの座標をスプレッドの行の高さで除算すると出るよ。
あとは、現在の先頭の行を足しとけばOK
0386384NGNG
>385
ありがとうございます、やってみます
0387デフォルトの名無しさんNGNG
えとですね、ボタンを押したら交互に処理が変わるように
したいです。どうしたらいんでしょう?
ボタン1つ作って、1回目押したらテキストボックスに"AAAA"
って表示して次押したら"BBBB"でその次押したらまた"AAAA"
(以後繰り返す)みたいな感じ。おしえてちょ。
0388デフォルトの名無しさんNGNG
クラスのPublicメソッドにユーザー定義型の変数を
引数にしたいんですけど、なんか難しいこと言われて
怒られます。出来ないんでしょうか?
0389デフォルトの名無しさんNGNG
>>387 ほらよ

Option Explicit

Private Static Sub Command1_Click()
Dim Flag As Boolean
Flag = Not Flag
IIf(Flag, Text1, Text2).Text = IIf(Flag, "AAAA", "BBBB")
End Sub
0390デフォルトの名無しさんNGNG
>>388
出来ないYO!
0391デフォルトの名無しさんNGNG
>>388
classを使うがよい
0392デフォルトの名無しさんNGNG
>>391
ユーザー定義型がどうしても使いたいんだYO!
クラスって1ファイル1クラスでしょ?
数が多いとちょっとなぁ〜。
0393P介PNGNG
初めまして。P介Pと申します。
現在VB6で開発最中なのですが、THREED32.OCXをインストールして
SSPanel等を画面に貼り付けて使用しようとすると、
、「このコンポーネントのライセンス情報が見つかりません。デザイン環境でこの機能を使うために必要なライセンスがありません。」
というメッセージが表示されてしまいます。
THREED32.OCXを一度削除して新たに入れ直したり、
ネットで色々と解決法を探したのですが、うまく行きませんでした。
どなたかこの解決法がありましたら是非教えて下さい。
お願い致します。
0394デフォルトの名無しさんNGNG
>>393
VB6のSSはライセンスを購入してね。
0395デフォルトの名無しさんNGNG
>>388
VB.NETでは渡せるらしいYO!
0396デフォルトの名無しさんNGNG
>>389
なんか、おかしくない?
0397P介PNGNG
>>394
どうゆことなのでしょうか?
もし良かったら教えて下さい。。。
フリーのVB6ランタイムでは駄目なのでしょうか?
でも、私以外のマシンではエラーが出てません。
何故私のマシンだけ駄目なのでしょうか?(T_T
どなたか分かる方がいましたらお願い致します。
開発環境:Win2000 VB6(SP4)
0398デフォルトの名無しさんNGNG
>>397
THREED32.OCXを消すときに、regsvr32とかで、レジスト削除した?
0399デフォルトの名無しさんNGNG
>>387

こんな感じ?

Private Sub Command1_Click()

Static flag As Boolean

flag = Not flag

If flag Then
MsgBox "aaa"
Else
MsgBox "bbb"
End If

End Sub
0400P介PNGNG
>>398
はい。削除しました。。。
で、先程解決しましたので報告致します。
他のTHREED32.OCXがインストールされて正常に動いているマシンから、
vbctrls.regファイルをコピーして実行すると、今まで出ていた
「ライセンス〜」のメッセージが表示されなくなり、
きちんとコンポーネントを貼り付けできるようになりました。
お騒がせ致しました。
ちょっとでも考えてくれた方、本当にありがとうございました。
0401デフォルトの名無しさんNGNG
>>400
カネハラエ!!
0402デフォルトの名無しさんNGNG
>>399
同じやん!!>>389と
0403デフォルトの名無しさんNGNG
お聞きしたいことがあります。
会社でLAN環境で使っているパソコンがあるのですが、関係ない部署からのアクセスが多く
困っています。とりあえず、相手が自分の共有フォルダーを開けたら、自分のディスプレイ
にメッセージを表示させることとかって可能なのでしょうか?
また、相手ディスプレイにメッセージを表示とかってできるのでしょうか?
お手数ですが、お時間がありましたらお教えください。
ちなみに私のパソコンはwin98seです。相手は98か2000だと思います。
宜しくお願いします。
0404デフォルトの名無しさんNGNG
>>403
共有しないという選択肢はないのか?
あるいは、ネットワークをかえちまうとか...
0405デフォルトの名無しさんNGNG
>>404
禿げしく同感
アクセス権を設定すればいいんじゃないの?
0406デフォルトの名無しさんNGNG
これまでVBしかやったことないんだけど、
他の言語やり始めるなら何やれば入りやすいですか。
0407406NGNG
てゆか、オモキリスレ違いだね。
よそ逝きます。メンゴ。
0408403ですNGNG
回答ありがとうございます。
いや、ただ単にVBでそういうことってできるのかなー?と思ったので。
>>404
共有しないというのは仕事上できません。
>>405
アクセス権設定しています。
開いてパス要求された状態の時にメッセージが出せて誰かが自分の共有ファイル開いていることがわかったら
いいな、と思ったので。
ネットウォッチャーじゃフォルダ開いただけじゃでないじゃないですか。
うーん、作れないかな〜?
0409デフォルトの名無しさんNGNG
VBが標準で使えるクラスの一覧と、そのクラスが持つ
メソッド、変数、定数の一覧が見たいんですけど
(Javaで言うならJavaDocで生成されたHtmlみたいなもの)
そういうのってどこかで見れるものなんですか?
0410デフォルトの名無しさんNGNG
MSFlexGridで質問なんすけど、
セル内の内容が数字で始まると右寄せになるんですけど
左寄せにする方法あります?
頭に数字以外いれるのは無しで・・・
0411デフォルトの名無しさんNGNG
FixedAlignment
ってのヘルプで見て見れ。
0412デフォルトの名無しさんNGNG
ADOを使ってORACLEにアクセスしてるプログラムで
件数が2500件超えるとワトソンが出てしまう・・・
どんな原因が考えられますか?
0413デフォルトの名無しさんNGNG
RichTextBoxで直接RTFのコードを入力して
指定キーワードに着色したいんですけど、
うまく置換できません。選択して色変えてると遅くてたまりません。
どうすればいいですか?というかこういう処理をするときは
どうするものなんですか?
0414デフォルトの名無しさんNGNG
>>413
そんなにおせーの?どんな検索してんの?
0415 ◆40RVTnT6 NGNG
http://mackoy.cool.ne.jp/
↑みたいなファイルの読み込みはどうやるんですか?マジ初心者なんですけど。
0416デフォルトの名無しさんNGNG
>>415
具体的かつ簡潔に述べよ。
0417デフォルトの名無しさんNGNG
>>411
ありがとございます!!!!!
出来ました。感謝感謝感謝。
これで先へ進める!!!!
0418デフォルトの名無しさんNGNG
>409
定数はAPIビュアーぢゃないかな
0419半分マジ、半分ネタNGNG
>406

MacOSXでObjective-Cをやれ

VBをOO的に正しく進化させたら
Objective-C + InterfaceBuilder+ProjectBuildeになる(藁
0420デフォルトの名無しさんNGNG
ListViewの、現在選択されている場所を数値で返してほしいんですが、
どうすればいいんでしょうか。
普通のListBoxでいう、ListIndexプロパティみたいなものが欲しいんですが。
0421420NGNG
うーん、登録アイテム数でループ回してSelectedプロパティがTrueなところ探したらできました。
まあこれでも動くんですが、なんかもっと効率のいい方法はないんでしょうか。
0422デフォルトの名無しさんNGNG
VBをやろうと思って、VB6.0proを買おうと思うんですけど、
もうすぐver7.0が出るって事はないですよね?初心者な質問でスマソ。
あと、初学者にわかりやすい入門書があったら出版社名だけでもいい
ので教えてください。教えて君ですみません
0423デフォルトの名無しさんNGNG
>>420
VB素人なんではずしてるかもしれないけど、ListViewにLVM_GETNEXTITEMメッセージを
送って問い合わせることはできないのですか。
0424422NGNG
すいません。見つけました。
VB.NET(日本語版)2002年第一四半期発売ですね。
0425デフォルトの名無しさんNGNG
>>424
2002年第一四半期っていつ?
0426デフォルトの名無しさんNGNG
VBAネタかつ、超初心者で申し訳ないんですが
Excelでワークシートを追加するときに同名のシートがあれば
削除したいのですが、このワークシートの有無を確認するのは
どうすればいいのでしょうか?
0427名無しさんNGNG
あー、もうどうだっていいよ。
0428デフォルトの名無しさんNGNG
日本語名使えるんだから、
Function ワークシートが存在する?() As Bool
って関数作れや。>M$
0429破壊伍長NGNG
Range(Cells(1, 9), Cells(105, 11)).Select: Selection.ClearContents
Call 実験題目などの表示実験3: '-----既表示のものを消去と実験題目などの表示-----
' -----プログラム本体-------------------------------------------------

Dim x As String: Dim i As Integer: '-----変数型の宣言-----
i = 0: Epc = 10 ^ (-6): Pi = 3.14592654: '-----初期値の設定-----

' -----初期値x0およびx1を入力・表示-----
Cells(3, 9).Select: xL = InputBox("初期値x0の値を入力せよ。"): ActiveCell.FormulaR1C1 = xL
Cells(3, 10).Select: xU = InputBox("初期値x1の値を入力せよ。"): ActiveCell.FormulaR1C1 = xU
Range(Cells(3, 9), Cells(3, 10)).Select: Selection.NumberFormatLocal = "0.00_"
xs = xL: 関数fx xs, fxs, Pi: yL = fxs: xs = xU: 関数fx xs, fxs, Pi: yU = fxs
' -----変数x値と関数f(x)値の取得(計算)の繰り返し、途中経過の出力(セルへの表示)-----
Do: i = i + 1: xs0 = xs: Cells(4 + i, 9).Select: ActiveCell.FormulaR1C1 = i
変数x xL, xU, yL, yU, xs: Cells(4 + i, 10).Select: ActiveCell.FormulaR1C1 = xs
関数fx xs, fxs, Pi: Cells(4 + i, 11).Select: ActiveCell.FormulaR1C1 = fxs
Range(Cells(4 + i, 10), Cells(4 + i, 11)).Select: Selection.NumberFormatLocal = "0.000000_"
If fxs * yL < 0 Then
xU = xs: yU = fxs
Else
xL = xs: yL = fxs
End If
Loop Until Abs(xs - xs0) = Epc Or Abs(xs - xs0) < Epc Or i = 100

xs = Round(xs, 6): x = CStr(i) + "回の繰り返し計算により、x=" + CStr(xs) + "が得られました。"
Cells(5 + 1, 9).Select: ActiveCell.FormulaR1C1 = x
・・・・・・・・・
↑のようにプログラミングしたのですが、
「実行時エラー'1004'RangeクラスのNumberFormatLocalプロパティを設定できません 」
というのが出てきます。理由がわからないので誰か教えて下さい。お願いします。
0430デフォルトの名無しさんNGNG
プログラム以前の問題かもしれなのですがご指導ください。
VB5でWinsock.ocxを使ったチャットソフトを組もうとしたのですが
クライアント側から接続要求してもサーバ側のイベントが発生しません。

サーバ側−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Private Sub Form_Load()

Winsock1.LocalPort = 2000
Winsock1.Listen

End Sub
'接続要求アリ
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)

If Winsock1.State <> sckClosed Then Winsock1.Close
text3.text="接続しました。"
Winsock1.Accept requestID

End Sub

クライアント側−−−−−−−−−−−−−−−−−−−−−−−−−−−
Private Sub Command1_Click()
Winsock1.Close
Winsock1.RemoteHost = "127.0.0.1"
Winsock1.RemotePort = 2000
Winsock1.Connect
End Sub

上記のようなコードです。必要な設定などありましたらご指導お願いします。
(PC間はPciのUSBリンクケーブルで直接つないでいます。)
0431デフォルトの名無しさんNGNG
モードレスで開いたフォームが、今開いているかどうかを
調べる方法がわからないのですが、どうすればいいでしょうか?
0432デフォルトの名無しさんNGNG
>>429
まず先に、その汚ねぇソースを何とかしろや。
0433 NGNG
スプレッドのシート印刷での用紙サイズの指定方法を探しています。
用紙の方向はPrintOrientationで指定できるのですが、
用紙のサイズをどこで指定したらよいのかわかりません。
教えてちゃんですみませんが、よろしくおねがいします。
0434デフォルトの名無しさんNGNG
テキストボックスのスクロールバーの色を
変えることはできませんかね?
0435デフォルトの名無しさんNGNG
>>434
何で変える必要があるん?
ドキュソなUIにでもするの?(藁

...画面のプロパティいぢればなんとかなるよ、一応。
0436デフォルトの名無しさんNGNG
>>435
そうです(藁
友人の子供用にかわいく見せる物をプレゼントするのに
やりたいもので(汗
画面のプロパティならいけますか。ありがとうございました。
0437デフォルトの名無しさんNGNG
スクロール バーだけは色変更できないよー(´Д`;)
0438デフォルトの名無しさんNGNG
十進プログラムで振り子運動のプログラムってどうつくるかわかります?
0439デフォルトの名無しさんNGNG
>>438
理科を勉強
0440デフォルトの名無しさんNGNG
リストボックスのアイテムを右クリックで選択するには、
どうしたらいいのでしょうか?
0441デフォルトの名無しさんNGNG
他のフォームが開いているかどうかわかる方法ありませんか?
0442デフォルトの名無しさんNGNG
>>441
FindWindowExで探す。
0443デフォルトの名無しさんNGNG
>>442
ありがとうございますです。
このAPIへの引数がいまいちわからないのですが
例えば、フォームのオブジェクト名が"formMaster"だった場合
どうなるのでしょう?
hWnd = FindWindowEx(0, 0, vbNullString, "frmMaster")
でいいですか?
0444デフォルトの名無しさんNGNG
>>438
 変位を X としよう
 力は F=a*Xで働くとする(aは負数)
 速度 Vは 力を積分しよう    V=V+a*X*dt
 変位 Xは 速度を積分しよう X=X+V*dt

dtを0.001 くらいにして、これをループさせてみよう
0445443NGNG
自己レスです。
できました。ありがとうございました。
hWnd = FindWindowEx(0, Me.hwnd, vbNullString, "マスタメンテ")
0446デフォルトの名無しさんNGNG
透明なテキストボックスできますでしょうか?
後ろが透けて見えるものです。
multilineで。
0447デフォルトの名無しさんNGNG
>>446
サブクラス化するかowner drawすれ。
0448デフォルトの名無しさんNGNG
VB5でoo4oでOracleに接続して、DBグリッドコントロールにデータを表示させたいのですが、
データの表示のさせ方をご存知の方がいましたらご教授願えないでしょうか。
書籍とI-NETを調べてみたのですが、これ、という答えが見つからなくて。
0449デフォルトの名無しさんNGNG
>>447
ふむふむ。そのキーワードで検索してがんばってみます。
ありがとうございました〜。
0450デフォルトの名無しさんNGNG
すいません。質問です。
getFilesizeでファイルサイズを取得したいんですが
FileSizeLowに-1が返ってきます。
CreateFileの引数はちゃんと渡してるはずなんですが。
0451デフォルトの名無しさんNGNG
質問です。
APIのStretchBltを使っているんですが、拡大表示すると何も表示されません
一昨日までは正しく表示されたのに
何故でしょうか?
0452デフォルトの名無しさんNGNG
ららら・ら〜♪ ららら・ら〜♪
0453デフォルトの名無しさんNGNG
>>450
質問する前に hFile != NULL を確認しとけ。
GetFileSize の後に GetLastError() も調べとけ。

>>451
何か変えましたか? (画像、OS、ウィルスを入れたとか)
0454デフォルトの名無しさんNGNG
Cで作成したDLLに2次元配列を持って行きたいんですが、
どうすればよいのでしょうか?

やっぱポインタになってしまうの?
0455デフォルトの名無しさんNGNG
どなたかVB6.0でのINETコントロールについて教えていただけないでしょうか。

現在webの決まった場所を巡回して内容をファイルに落とすプログラムを作っています。
ところが、そこはcookieを使用しないと、cgiに、はじかれてしまう事がわかりました。
色々な所を探した結果、INETコントロールはcookie対応というところまでは分かったのですが、
MSDNにはサーバー側のリファレンスしかありません。クライアント側ではcookieに対応していない
のでしょうか?もし対応しているならどのようにセットしたら良いのでしょうか。

よろしくお願いします。
0456451NGNG
>>453
要らないアプリを一気にアンインストールして
c:\Windows\Tempフォルダにあったでかいファイル(ACE解凍時にできたもの)を削除したくらいです。

それと何故かWinAmpをつけながらやるとしっかり表示されました。

BitBltと、サイズ変更しないStretchBlt(←意味なし)は表示されるんですが…。
0457デフォルトの名無しさんNGNG
UNIXのkillをしたいんですけどどうすればいいのでしょうか?
プロセスIDは
<job>
<REFERENCE object="WbemScripting.SWbemLocator"/>
<script Language="vbscript">
 set objService = getobject("winmgmts:")
 for each Process in objService.InstancesOf("Win32_process")
WScript.echo Process.Name & vbTab & Process.processid
 Next
</script>
</job>
とわかったんですが、このプロセスを消したいんです。

よろしくお願いします。
0458デフォルトの名無しさんNGNG
>>456
画面と画像は何色でしょう?
コードもお願いします。
0459451NGNG
>458
画面は16Bitで画像は24Bitです。
だからでしょうか?

Sub DrawEnemy(n As Integer, s As Integer, P As Integer, PX As Integer, PY As Integer)
Dim EneNO As Integer, Size As Integer, Pause As Integer, PosX As Integer, PosY As Integer
NO = n
Size = s
Pause = P
PosX = PX
PosY = PY

StretchBlt Form1.Picture1.hdc, Ene(NO).LeftPos + PosX, Ene(NO).TopPos + PosY, Ene(NO).XSize * Size, Ene(NO).YSize * Size, Form1.Mons.hdc, 32, 32 * Pause, 32, 32, vbSrcPaint
StretchBlt Form1.Picture1.hdc, Ene(NO).LeftPos + PosX, Ene(NO).TopPos + PosY, Ene(NO).XSize * Size, Ene(NO).YSize * Size, Form1.Mons.hdc, 0, 32 * Pause, 32, 32, vbSrcAnd
End Sub

↑こんなのです
ゲーム中で敵キャラを拡大するだけなんですけど
0460デフォルトの名無しさんNGNG
良く分からないけど、GetDeviceCaps の RASTERCAPS の RC_SCALING か?
0461デフォルトの名無しさんNGNG
>> 459
ビットマップをSelectObjectで選択して、
CreateCompatibleDC を呼ぶ方法を使うのかも。
(MSDN の「Scaling an Image」を検索)
詳しいことは分からないけど。
0462451NGNG
>461
MSDN読んでもよく分からなかったんで検索したら
http://homepage1.nifty.com/CavalierLab/lab/devlop/note/bitmapobject.html
↑が出てきたんですが、これなんでしょうか?
とりあえず試してみます
0463デフォルトの名無しさんNGNG
色数とパレットが異なるので、互換性のある DC で書かねばなるまい。

画像を拡大するサンプルがあった。「hBitmap削除のバグ」
http://www02.so-net.ne.jp/~bkenro/publish/vbapi/errata.html#P233-234

こちらは LoadBitmapModified でリソース画像を取り込み、
GetObjectして、サイズなどの情報の入ったBITMAP型を受け取っている。
ピクチャよりもリソース画像の方が高速かもしれない。
0464NinNGNG
SQL文でORDER BY句を指定し、データを順に読み、その都度更新を行いたい
のですが、Editの部分で『読み取り専用の結果セットです』とエラーが出て
しまいます。(SQLserverをODBC-RDOで読んでいます。)

これを回避する方法を御存知の方、教えてください。
よろしくお願いします。
0465デフォルトの名無しさんNGNG
>>464
とりあえずSQL文が見たいぞ!
0466デフォルトの名無しさんNGNG
初めましてm(_ _)m
WindowsNT4.0の環境下でVisualBasic5を用いて、FDDに挿入されたディスクが2DDか2HDかと言う判別をしたいのですが・・・やり方をご存じの方はおられないでしょうか?
最初は容量で判断しようと思ったのですが、当たり前なんですけども・・・フォーマット前の物もあるのでそれはダメでした。
公開されているAPIは一応一通り読んでみたのですが、該当する機能は見つかりませんでした。(T^T)

一部のフォーマッタでは実現している機能なので技術的に不可能ではないと思うのですが、どうなのでしょうか?
皆様よろしくお願いします。
0467デフォルトの名無しさんNGNG
VBのツールバーのようなフォームになったり、メニューになったり
する奴はどうやったら実現できますか?
0468デフォルトの名無しさんNGNG
ダイアログバーをドッキング可能にしておく。
0469デフォルトの名無しさんNGNG
VB6で、midステートメントを使って文字の置換ができるようなのですが、
元の文字よりも長くなるような置換をするにはどうすれば良いのでしょうか?
Midを使って書くと、

a=aabbcc
Mid(a,3,2)="ddd"
で
a="aadddcc"
になるようにしたいです。
0470デフォルトの名無しさんNGNG
>>469
それってReplace関数では解決しない?
なら、

Left$(a,2) + "ddd" + Right$(a,2)

では?
0471デフォルトの名無しさんNGNG
VBAの質問してもよいでしょうか?
Accessで終了する際のイベントを拾いたんですが、
以下のような感じでとれるのかなと思いきや、できませんでした。

Public WithEvents theApp As Application
Private Sub theApp_Quit()
MsgBox "hoge"
End Sub
誰か良い方法伝授していただけないでしょうか?
環境は ACCESS 2000、 Windows 2000 です。
よろしくおねがいします。
0472デフォルトの名無しさんNGNG
Applicationオブジェクトの
Quitメソッドを使うべし
0473デフォルトの名無しさんNGNG
BMPをJPGに変換するフリーのOCXありませんでしょうか?
個人的に使うものなので配布ライセンスなどはいりません。
よろしくです。
0474デフォルトの名無しさんNGNG
>>473
DLLならVectorに転がってるの見たなぁ。
明熊なんとか、っての。
0475デフォルトの名無しさんNGNG
>>474
ありました。これ使ってみマース
どうもでしたー
0476デフォルトの名無しさんNGNG
>>430

> Winsock1.RemoteHost = "127.0.0.1"
これが原因ってことは…。んなわけないか
0477デフォルトの名無しさんNGNG
VBのプログラム上で、自分自身のEXEファイルが置かれているパスを返してくれるような関数、及びコード記述キボン
0478デフォルトの名無しさんNGNG
App.Path
0479デフォルトの名無しさんNGNG
ADOを使用してVBでPL/SQLをつかいたいのですが
できるでしょうか?
0480デフォルトの名無しさんNGNG
>>479
PL/SQLでコーディングしたいという意味?
それとも、PL/SQLでコーディングしたストアド
を走らせたいという意味?
前者なら不可(もしかしたら可かもしれんがオレは知らん。
後者なら可。GOOGLE辺りでサンプルコードを探せばいくらでも
出てくる。
0481デフォルトの名無しさんNGNG
480さんありがと
後者でやってみます
0482デフォルトの名無しさんNGNG

' FormのLoadイベント
Private Sub Form_Load()

' MSCommコントロールの初期設定
mscPort.CommPort = 1 '通信ポートの選択
mscPort.Settings = "9600,n,8,1" '通信条件の設定
mscPort.Handshaking = comRTS 'ハンドシェイクの設定
mscPort.RTSEnable = True 'Request To Send (RTS) ラインを有効にする
'ハードウェアによるハンドシェイク

mscPort.SThreshold = 1 ' 送信時スレッショルドの設定
'  1バイトごとにOnCommイベント発生
mscPort.RThreshold = 1 ' 受信時スレッショルドの設定
'  送信バッファがからになったらOnCommイベント発生

End Sub
これって制御系プログラムの設定らしいのだけど
mscPort.SThreshold = 1 からの意味がまったくわかりません!?
ほんとにわかりません。教えてください。
0483デフォルトの名無しさんNGNG
>>482
何故MSCommコントロールのリファレンスを読まないのですか?
0484 ◆LqTeQmv2 NGNG
tes
0485 ◆tjFCOGEI NGNG
\
0486デフォルトの名無しさんNGNG
MSアクセスへの接続方法で一番速い組み合わせはなんですか?
ドライバ、プロバイダ等あげていただければ助かります。

ちなみに参考書などで速いと書かれているADO接続よりも、
実験の結果はDAOの方が速かったです。
わけわかりません。。お願いします。
0487ななしNGNG
>ちなみに参考書などで速いと書かれているADO接続よりも、
>実験の結果はDAOの方が速かったです。

実験の失敗です。ADOが最速。
パラメータの全組合わせ結果ではADOが最速となる。
0488デフォルトの名無しさんNGNG
ローカルにMDBがあるという前提ならDAOだったはず
ソース探してみるわ
0489デフォルトの名無しさんNGNG
ストーブが恋しいのでage
0490デフォルトの名無しさんNGNG
>486
http://homepage1.nifty.com/tsware/labo/labo_23.htm
http://homepage2.nifty.com/inform/vbdb/
0491486NGNG
>>490さん
ドーモです。
488さんの言うローカルでVB以外にもASPでも平行してアプリを制作しています。
それぞれDAOとADOを使い分ける方法が良いみたいですね。

しかし、プログラムごとに接続が違うのはどうも管理しにくいですね。
接続以外にも開発や保守面など全体的に見直した方がいいかもしれません。。
0492デフォルトの名無しさんNGNG
oracle + ADO で画像の格納をしたいのですけど
画像自体のバイナリデータをVBの変数に格納する方法はありませんか?
0493超初心者の名無しさんNGNG
あの…ここが初心者質問スレということらしいので
質問させてもらいたいのですが、VBのソフトが
ネットで落とせると聞いたのですが、本当に
落とせるのですか???
どなたか優しい方教えてください。
0494デフォルトの名無しさんNGNG
>>493
VB 製のフリーソフトならいっぱいあるよ〜〜 (w
0495.NGNG
>>493
WinMX使えば何でもタダです
0496超初心者の名無しさんNGNG
>>494さん
>>495さん
あの、学校で来週、C++のテストがあるので勉強を
しようと思ったのですが、家のパソコンにソフトが
入ってなかったので…。
プログラムは学校の教授のHPから落とせるのですが
ソフトがなかったら、開かないですよね??
ちなみに、WinMXってなんでしょうか??
何も分からなくて、本当にごめんなさい。
0497494NGNG
何故に C++ のテストで VB ?
0498超初心者の名無しさんNGNG
>>497さん
すみません。間違えましたっ。
VC++でした。
私、本当におバカで・・・。
0499デフォルトの名無しさんNGNG
こないだCDがどこか行ってしまったので、
WinMXでVSSを落とそうとしたけど、誰も持ってなかった。
と思ってたら、MSDNでVS6.0を全部送ってきやがった。
0500デフォルトの名無しさんNGNG
テキストボックスに読み込める容量って何KBまでですか?
70KBぐらいだとは思ったんですが・・・その限界が知りたいです。
0501デフォルトの名無しさんNGNG
VBのForm座標系ってひょっとして腐ってませんか?
0502デフォルトの名無しさんNGNG
>>501
・・・なんで?
0503>NGNG
twip関連だべ
0504デフォルトの名無しさんNGNG
twipの利点はなんですか?
いちいちScaleModeをピクセルにすんのが面倒なんですけど。
0505デフォルトの名無しさんNGNG
>>504
禿同
0506デフォルトの名無しさんNGNG
>>504
>twipの利点はなんですか?

wysiwyg
0507デフォルトの名無しさんNGNG
VB + Oracleで組むようになったのですが
Oracleとのやり取りがサパーリです。

楽にOracleとやり取りできるクラスモジュールがないでしょうか?
0508デフォルトの名無しさんNGNG
>>507
ADO or OO4O
0509デフォルトの名無しさんNGNG
設定ファイルの内容によって、表示するコントロール数を変化させていのですが、
動的にフォーム上にTextBoxやCommandButtonをつくる方法がわかりません。

最初からつくって置いとくのはなんだかなと思いましたので、お願いいたします。
0510デフォルトの名無しさんNGNG
>>509
コントロール配列でボタンとかを用意して、Load command1(command1.count)
とかやってほこほこ増やすんじゃ駄目?

>>500
Unicode扱いで64KBじゃなかったっけ?
Windows2000だと64KB制限は無かったような気がするけど。
0511デフォルトの名無しさんNGNG
>>510
うぃす。ありがとうございやす。
0512509NGNG
>>510
できたYO! サンクス子〜 
0513デフォルトの名無しさんNGNG
スタートアップにアプリを登録させるにはどうしたらいいのでしょうか?
やはり、WindowsのVersionを検出して、その結果によって、
スタートアップフォルダを指定すればいいのでしょうか?
0514 NGNG
>>513
フォルダなら、SHGetSpecialFolderLocation/Path()
で取れるけど、ショートカットを作るのは面倒だよ。
0515デフォルトの名無しさんNGNG
実行可能ファイルが格納されたパスを、その実行可能プログラムの実行時にそのプログラムで取得しようとして、
以下のようにコーディングすると、フォームが参照して開くフォルダのパスが取得されてしまい、
実行可能ファイル自体のパスを取得できないことがあります。

Private Sub Form_Load()
MyPath = CurDir$
End Sub

実行可能ファイル自体のパスを確実に取得するにはどうすればよいのでしょうか?
0516デフォルトの名無しさんNGNG
>>515
意味不明。
Formファイルを別のフォルダに置いてるって事?
exeにコンパイルしたら起動直後にApp.Pathで確実に取得できるけど。
0517デフォルトの名無しさんNGNG
VBで作ったプログラムを走らせると時計が遅れるという現象が出ます。
原因と対策をご存知のかたいらっしゃますでしょうか?。
OSはWin-98とWin-MEで、6時間動かすと30分くらい遅れます。Win画面
右下の表示も遅れるのですが、パソコンを再起動すると元の正確な時間
に戻ります(つまりハードは遅れていない)。
0518デフォルトの名無しさんNGNG
>>517
間違ってTimeステートメントを使っちゃってるとかゆー、オチじゃあるめーな?
その走らせるプログラムって、どんな作業するソフトさ?
0519517NGNG
私が作ったプログラムじゃないんで良く分かりません(実は私はビルダーなんで
BVも良く分からないんですが)、日付と時間は取って来てます。シリアルで他の
計測器と接続してデータロガーするプログラムです。
Timeステートメントを使うと時計が遅れるんですか?。
0520デフォルトの名無しさんNGNG
>>518
タスクトレイの時計も遅れているんだからこれはMSDOS時代からの仕様だぞ
RTCとは別に割り込みで時刻を管理している
原因はVBアプリで使ってるOCXに行儀の悪いやつがいて、割り込みを邪魔してるのだろう
0521デフォルトの名無しさんNGNG
エクスプローラ上でマウスの右クリックしたらでるような
メニューを作りたいのですけど、
これはどうやったらよいのでしょうか?
0522デフォルトの名無しさんNGNG
>>513
レジストリに登録すれば良し。
スタートメニューのスタートアップには表示されないけど。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
ここね。
良くウイルスが住み着く(笑
レジストリの操作はAPIを使おう…。
0523デフォルトの名無しさんNGNG
リストBOXにフォルダ名表示させて右クリックした時に
[削除]とか[リネーム]とかエクスプロラみたいにメニュー表示したいんすけど
一個ずつイベント取得しないと無理ッスか?
0524デフォルトの名無しさんNGNG
osのプロダクトキーの取得方法があれば、教えて頂きたい。
0525デフォルトの名無しさんNGNG
ヤツパみつかんね。
0526524NGNG
見つけました。しんど。
0527デフォルトの名無しさんNGNG
>>523
(右クリック使うなら)LBItemFromPtとか使って項目を取得したあと、
ポップアップメニュー呼び出せば、いいだけじゃ?
なにが問題なん? もっと簡略化したいと?
0528517NGNG
>>518 >>520 レスありがとうございました。何とか頑張って原因を探してみます。
0529デフォルトの名無しさんNGNG
VB.NETでVBAはどうなるの?
0530デフォルトの名無しさんNGNG
以下のコードによって、プログラムが格納されたフォルダのパスを取得しようとすると、
フォームが開くフォルダのパスが取得されてしまいます。

Sub Form_Load()
MyPath = CurDir$
End Sub

プログラムが格納されたフォルダのパスをいつでも取得するにはどのようなコーディングがよいのでしょうか?
0531デフォルトの名無しさんNGNG
>>529
VBは切り捨てられたが、VBA(Office)まで切り捨てはしないだろう。
VBScriptとしてそのまま残るんじゃないか?
もともとマクロでしか使えないような代物だしな。<VB
0532デフォルトの名無しさんNGNG
>>530
App.Path

あー、激しくデジャヴ
0533デフォルトの名無しさんNGNG
>>532
ありがとうございます。
試してみます。
0534デフォルトの名無しさんNGNG
VBに限ったことではないのですが、複数ソーティングの考え方が知りたいです。
たとえば以下のようなテキストファイルがあったとします。
100 60
123 15
111 20
123 10
これを左の列についてソートし、123のように同じデータがあるときはさらに右の
列についてソートし、結果として以下のようなデータにしたいのです。
100 60
111 20
123 10
123 15
0535534NGNG
また、こういったデータのソートをする際にデータは当然変数に保持したほうが
高速になるかと思いますが、たとえば100MBとかものすごく大きなデータの場合は
どのようにするのが妥当でしょうか。
途中までロードしても全体のソートにはならないし、ファイルをすこしづつ読んで
別途テンポラリファイルに書き出していると非常におそいのです。
0536デフォルトの名無しさんNGNG
>たとえば100MBとかものすごく大きなデータの場合は
その位のレベルだったら素直にデータベースにいれて
かき回したほうが早いと思うぞ。
0537顔NGNG
すみません。Part3の存在に気が付かず、Part2に書いてしまいました。
以下転載です。
迷惑じゃなかったらメールでください。お願いします。

*******

すいませんだれかVB増強作戦がまとまったパック(バリューパックだったか?)
もってませんか?さっきHDDのパーティションきりなおしたら、まちがえてけして
しまった!
本家は消滅。
昔ミラーサイトがあったようなけどGoogleで検索してもみつからず・・・
0538AANGNG
Access2000 で作ったMDBファイルを
MS製品アプリがなにもはいってない、OSがNTのマシンにいれておくとき、
クライアントをVB6で作って、DBはオラクルみたいに、上のmdbにあたっち
することは可能でしょうか?
クライアント数は10です
0539デフォルトの名無しさんNGNG
>>534
C:>SORT /?
0540534NGNG
DBに入れたりDOSコマンドを使ったんじゃ勉強になりません。。。
0541デフォルトの名無しさんNGNG
>>540
勉強だったらbogosortなんてのは?
0542デフォルトの名無しさんNGNG
>>537
送った、確認するように。
0543デフォルトの名無しさんNGNG
>>540
とりあえず、自分の思った通りにやってみたら。
まずは、そこからでしょ。
0544>540NGNG
ソートで検索すれば?
0545顔NGNG
542さん、本当にありがとうございます。
残念ながらまだ届いていないのですが…
もしご迷惑でなかったら再送していただけるでしょうか。すみません。
0546542NGNG
>>545
送信エラーも出ていないのでもう少し待ってみては?
AirH"で1.8Mのメール送るのは結構時間かかるのよ(苦笑)
だめなら今夜家帰ってから再送予定。
0547デフォルトの名無しさんNGNG
>>538
> クライアントをVB6で作って、DBはオラクルみたいに、上のmdbにあたっち
> することは可能でしょうか?
可能、というかネットワーク上のファイルにアクセスするだけで実行は
各クライアント上のJetが行うのだからネットワーク分遅いだけ。
ADO使っているんだろうから接続文字列にネットワークパス入れてテストしてみれ

> クライアント数は10です
素直にMSDE使えば?
多分ACCESSをネットワークで運用するよりは幸せになれる筈。
0548AANGNG
Accessでコーディングするには、
dim db as database
dim rs as recorset
set db = currentdb
set rs = db.openrecordset("Table1",dbopendynaset)

とできます。
VBからAccessmdbにアタッチするには、\\test\a.mdb
の場所をVBにおしてやり、その中のtable1 をコーディングしなければなりません。
a.mdb を VBに教えてやるにはどうすればいいでしょうか?
0549AANGNG
548ですが、VBでDAOを使ってAccess2000mdb操作したいのです
0550みかNGNG
はじましてです。VB初心者です。
現在、日記帳を作成しています。Labelに日にち、TextBoxに日記、
を入れようと思います。保存データを
2001/11/8
今日は○○○○○○でした。
(改行)
2001/11/9
今日は△△△△△△でした。
(改行)
  ・
  ・
  ・
という風にしました。これをLabelとTextBoxに読み込むには
どうしたらいいのでしょうか?○日のデータは○日に、という
感じにしたいところが、よくわかりません。
0551みかNGNG
↑
ちなみに表示画面に進むボタンと戻るボタンを作って、次の日
と、前の日の表示が出来るようにしてあります。
0552デフォルトの名無しさんNGNG
変数を日本語で書いてる参考書を買って来たんですがこれは駄目ですか?
0553みかNGNG
おしえてぇ〜age
0554デフォルトの名無しさんNGNG
>>550
初心者過ぎです。逝ってください。
0555デフォルトの名無しさんNGNG
このスレは質問者数と回答者数のバランスが崩れて崩壊しています。
0556シローNGNG
はじめまして。よろしくお願いします。

VBで、sendkeys を使ったプログラムを書いていますが、
「半角/全角」を操作する方法がわかりません。sendkeys では無理でしょうか。
キーボードの「Alt+半角/全角」 以外で、任意に半角/全角の切り替えをする方法を
教えて下さい。お願いします。
0557デフォルトの名無しさんNGNG
>>550
まずそのデータ構造やめといたほうがいい。
別に日記に改行入れないならいいけど。
ま、適当にInStrで改行コードを検索して配列にでもぶち込んでみましょう。
こーいうのは自分で考えないとダメです。
0558デフォルトの名無しさんNGNG
>>549
こういったこと?
Private Sub Form_Load()
Dim db As Database
Dim rs As Recordset
Set db = OpenDatabase("\\fooserver\d\db\test.mdb")
Set rs = db.OpenRecordset("select * from 得意先 where 得意先CD='00200'", dbOpenDynaset, dbReadOnly)
Text1.Text = rs.Fields("得意先CD").Value
Text2.Text = rs.Fields("得意先名").Value
rs.Close
db.Close
End Sub
0559デフォルトの名無しさんNGNG
一つ回答しないと、一つ質問できないようなシステムにできんもんかのぉ
0560547NGNG
↑は俺
しかもsage忘れ
0561デフォルトの名無しさんNGNG
>>556
ttp://www.vbvbvb.com/jp/gtips/1001/gImmSetConversionStatusConversion.html
でも参考に。これぐらい自分で検索しては?
0562547NGNG
ズレた...もういいや(藁
0563シローNGNG
>>561
すいません、ありがとうございます。
0564デフォルトの名無しさんNGNG
>>553
CSVか固定長テキストで1日1行に保存しとけばよかったのに・・・
データってTXTファイルだよね?
fileNo = FreeFile
Open openfile For Input As fileNo
Do Until EOF(fileNo)
Line Input #fileNo, tmpString
if tmpstring = 表示したい日 then
Label.caption = tmpstring
Line Input #fileNo, tmpString
TextBox.Text = tmpstring
Exit Do
End IF
Loop
Close fileNo
こんなんでどうだろうか。
日記の中身が複数行ならtmpstringが""になるまでループを回す。
でも行数が多いと効率悪いね。それにずれてたりしたらやだね。
0565デフォルトの名無しさんNGNG
>>550
楽してDB使え。
Jet(ACCESSと同じDBエンジン)なら標準で使える。
あくまでテキストなら CSV(タブ区切りでも良いが)にすると
split関数で簡単に日付部と日記本文とに分けられる。

データ構造は例えばこんなの

2001/11/06,ユーザーのHDDがあぼ〜ん
2001/11/07,漸く仕様が出始める、月末納期ってマジですか(T_T)
2001/11/08,現実逃避にVBスレを見る。ちょっとコメント。
0566564NGNG
レス中に一気にレスがついてた・・・
しかも半角スペースは出せないんだった・・・
質問の内容からして解答を理解してもらえるのかが不安だ。
0567564NGNG
しかも大文字小文字がバラバラ
鬱
0568デフォルトの名無しさんNGNG
ところで、VBのエディタのフォントをOsakaにすると イイ(・∀・)! よ。
0569デフォルトの名無しさんNGNG
Accessの表形式のFormをVBで実現するのは無理でしょうか?
ちなみに、VB5(SP3)

DBGridは全然ダメでした。2段表示とかもできないし
0570デフォルトの名無しさんNGNG
>569
素直にサードパーティのOCXを使った方が幸せになれると思われ。
標準のコントロールを使って自前でグリッド作るという手もあるが...
0571顔NGNG
542 さんへ

無事受信、マージできました。
このたびはいろいろとありがとうございます。
お手数をかけて申し訳ありませんでした。
0572デフォルトの名無しさんNGNG
はじめまして。
ええと。VBで、データベース内検索を作りたいんですけど、
半角と全角と大文字と小文字(a、A、a、A)を同一視って出来ないっすか?

>>568
Win環境でOsaka使えるようになたの?
0573デフォルトの名無しさんNGNG
VB増強作戦Googleキャッシュ、WebArchive探しても無いっすね
本とか出てるんでしょうか?
0574超初心者NGNG
Labelが1〜9まであるのですが(コントロール配列ではない)
それぞれのcaptionの中身をfor文か何かで一気に見たいのですが
どうすればよいのでしょうか?
0575542NGNG
>>571
よかった(^^ゞ
結構需要あるんかなぁ>VB増強作戦の補完
WinMX辺りではこういったのは引っかからない?
0576デフォルトの名無しさんNGNG
>>572
StrConv関数を使用すると幸せになれるかも。
0577デフォルトの名無しさんNGNG
>>574
検索対象に含めたいコントロールのTAGプロパティに"1"をセット(まぁ別に何でも良い)
でこんな風に

Private Sub Command1_Click()
Dim ctl As Control
For Each ctl In Form1.Controls
If ctl.Tag = "1" Then
Debug.Print ctl & Now
End If
Next
End Sub
0578577NGNG
>Debug.Print ctl & Now
あ、Nowいらねー。
0579みかNGNG
557さん>返答ありがとうございます。いろいろ考えたんですけど混乱してしまって。
564さん>返答ありがとうございます。鬱にならないで下さい。うれしかったです。
565さん>返答ありがとうございます。DB,Jetを使ったことがないもので・・・。(恥
問題は、なんとか解決しました。一応VBの練習のためにカレンダーと
合わせて作成していたのでとても勉強になりました。
みなさんアドバイスありがとうございました。
0580564NGNG
>>579
VB勉強するなら一緒にJetとかDBも勉強した方がいいよ。
他にも色々な方法があるけど
どういう状況ではどういう方法がベストかという事を選べるようになってね。
0581みかNGNG
564さん>わかりました。頑張ります!
0582デフォルトの名無しさんNGNG
質問です。
If 式1 Or 式2 then
というようなコードを書きたいのですが
式1がTrueなら式2はエラーになるようになっています。
具体例としては
式1:レコードセットがEOFになっている
または
式2:あるフィールドがある値になっている
時に分岐させたいのです。
Cとかだったら1式が真なら2式は評価されなかったと思うのですが
VBでやると2つとも評価されてしまいます。
これを防ぐ手は有りませんか?
0583デフォルトの名無しさんNGNG
VBの開発環境というか画面なんですけど、あれってバラバラにならない
ものですか?
メニューバーと各ツール用のブラウザやは分離できるんですけど、メニ
ューバーとコードを入力する画面がどうしても分離できません。
コード入力画面もひとつのパレットのように扱いたいのです。
暇を見つけては設定とかを覗いてるんですが、実現できません。
つまらない質問ですが、ご存知の方おられましたらお教えください。
0584デフォルトの名無しさんNGNG
>580
最終目標はVBがダメだということに気づくことですか?w

>582
無理です。仕様です。
諦めて処理の軽いものから評価しましょう。
0585デフォルトの名無しさんNGNG
>>583
「ツール」→「オプション」→「詳細設定」の"SDI開発環境"をチェック
0586デフォルトの名無しさんNGNG
>>585
スマン、間違えた。
0587582NGNG
>>584
ありがとうございます。
やっぱりそうなんですか。
同じ処理させたいならGoto文なんかで飛ばすしかないようですね。
0588580NGNG
>>584
>最終目標はVBがダメだということに気づくことですか?w
って書こうと思ったけど止めたのに・・・書いてるとこ見てた?(藁
業務アプリのフロントエンドとかだったら
Excelとかとの連携も楽だし、VBでもいいんじゃないかな。
というか他の使い道は自分はしないもので・・・
>>581
趣味ならDBつかって家計簿とかも素敵やん。
漏れは最初勉強がてら作ってみた。
作るより使いつづける(毎日つける)方が面倒で難しかった。
0589583NGNG
>>585

出来ました。ありがとうございます。
狭い画面で使用しているもので、これでスッキリしました。
本当にありがとうございます。
0590デフォルトの名無しさんNGNG
>>570

 え?何処かそういうOCXだしてるんですか?
 もし知ってたら、メーカ教えてください
0591570じゃないがNGNG
>>590
BOC(今度社名変わるな)のTrueDBGridなんてのもある。
試用版ダウンロード等があり事前に評価できる。
他社コントロール等の情報はVBマガジンを購読せよ。

BOCのHP
http://www.boc.co.jp/
0592AANGNG
558
thank you
0593顔NGNG
どうやら WINMX 上にもないみたいです。
貴重なファイル、ありがとうございました。
0594542NGNG
>>593
わざわざ探してくれたのね(^^ゞスマン
0595デフォルトの名無しさんNGNG
>>574
>>577の方法でもいいけど、Nameプロパティ使った方がスマートかも。

Private Sub Command1_Click()

 Dim ctl As Control
 For Each ctl In Form1.Controls
  If ctl.Name Like "Label[1-9]" Then
   Debug.Print ctl.Caption
  End If
 Next

End Sub
0596デフォルトの名無しさんNGNG
VBで、しかも適切にエラー処理をしているにもかかわらず
エラーが出て、異常終了してしまいます。
しかもアプリケーションログを書きこんでいますっていうダイアログが
でてきてしまいます。
これって一体どういう時に起こるものなのですかねぇ。
ちなみにウインドウのフック、アンフックをつかってCallWindowProcで
イベントを拾っています。
0597デフォルトの名無しさんNGNG
新スレ立てるバカが多いのであげ。
0598デフォルトの名無しさんNGNG
VBのexeで返り値を返すことってできますか?
できるとしたらその方法は?
0599デフォルトの名無しさんNGNG
ACCESS 2.0です。以前は97を使っていたのでてこずっています。
レポート上のテキストボックス"項番1"〜"項番18"まで、RECORDSETから値の代入を
行いたいのですが、下のような文では上手くいきません。
Do Until Myset.eof
a = a + 1
Reports![送品案内状]!([項番]&a) = Myset!項番
Myset.MoveNext
Loop

([項番]&a)の内容を"項番1"〜"項番18"まで変化させたいのですが。
どなたか御教授願います。
0600デフォルトの名無しさんNGNG
コードが長くて恐縮ですが、これを実行して生成されるf1.tmp〜fn.tmpとfiles.tmpは、
Shell関数で呼び出して実行するjoinfls.exeで読み取るはずですが、
読み取られません。
joinfils.exe自体は実行されてるのに、このコードを実行中は読み取られないのです。
f1.tmp〜fn.tmpとfiles.tmpの生成後にExplorerでjoinfls.exeをダブルクリックすると
正常に読み取られます。
実行時に読み取られるようにするには、どうすればよいのでしょうか?

Private Sub Command1_Click()
'結合するファイル名をExcelから読んでfiles.tmpに書き込む
Open AppPath & "\files.tmp" For Output As #1
nofiles = 1
FileName = ExcelBook.Worksheets("Sheet1").Cells(nofiles, 1).Value
Do While FileName <> ""
Print #1, FileName
nofiles = nofiles + 1
FileName = ExcelBook.Worksheets("Sheet1").Cells(nofiles, 1).Value
Loop
Close #1

'結合するファイルをfn.tmpとしてカレントディレクトリレクトにコピーする
Set MyFile = CreateObject("Scripting.FileSystemObject")
nofiles = 1
FileName = ExcelBook.Worksheets("Sheet1").Cells(nofiles, 1).Value
Do While FileName <> ""
FullPath = AppPath & "\f" & nofiles & ".tmp"
Set f = MyFile.GetFile(SrcPath & "\" & FileName)
f.Copy FullPath
nofiles = nofiles + 1
FileName = ExcelBook.Worksheets("Sheet1").Cells(nofiles, 1).Value
Loop
ExcelObject.quit
Set ExcelObject = Nothing

'別のプログラムによりファイルを読み取ろうとするが、読まれない(実行はする)
RetVal = Shell(AppPath & "\Joinfls.exe")
End
End Sub
0601デフォルトの名無しさんNGNG
>>599
600のFullNameでも同様のことをしていますが
Dim Koban as String
Do while a < 18
Koban = "項番" & a
a = a + 1
Loop
ではいかかでしょうか?600の質問者より
0602599NGNG
>601 ありがとうございます。普通に考えればそれでよさそうなものですが
Reports![送品案内状]!変数 =Myset!項番
とすると、プログラム上変数をテキストボックスの名前として扱ってるみたいなんですよね。
601さんの例だと koban です。変数の中身を使用したいのですが・・・。
0603デフォルトの名無しさんNGNG
フォームの中にフォームは入れれないのですか?
0604デフォルトの名無しさんNGNG
msdn ライブラリの最新版をハードディスクにインストールしたいのですが、
有料のサブスクリプションプログラムに入るくらいしか方法はないのでしょうか?
http://www.asia.microsoft.com/japan/developer/library/default.asp
を見れば充分とも考えられますが、営業所では持ち込みマシンは LAN に
入れてくれないんです(泣)。

H"のつなぎ放題が一番現実的な解なのかなぁ
0605デフォルトの名無しさんNGNG
>>603
MDI
0606デフォルトの名無しさんNGNG
>>596
>VBで、しかも適切にエラー処理をしているにもかかわらず
>エラーが出て、異常終了してしまいます。

明らかにAPIを誤用したときの症状。
引数の型違いとかだとVBのエラー処理に関係なくメモリ内容をぶっ壊すよ。
生兵法は怪我の元だからちゃんとした参考書読もう。
0607デフォルトの名無しさんNGNG
Microsoft Internet ControlsのWebBrowserを使って
現在表示しているページのソースを
テキストボックスに表示する事は出来ますでしょうか?

WININETを使ってやるしかないのかな
0608デフォルトの名無しさんNGNG
Text1.Text = WebBrowser.Document.body.parentelement.innerhtml
で表示されぬかえ?
ウォッチと井ミディエイトで調べただけなので、違ってたらスマソ
0609デフォルトの名無しさんNGNG
>>604
それが良いかと。俺はそうしているよ。
*ついで*に2chの巡回も出来るしgoogleも使えるしね。
0610デフォルトの名無しさんNGNG
従来のファイル操作から、FSOを使用する方法にプログラムを書き換える
メリットはありますか
色々試してみたところ、速度的にはまったく変わらないようですし
まあFSOはAPIレスで色々なファイルなどの情報を得られるんですが
わざわざ書き換えてまで使うほどのものでしょうか。
時期VerではFSOしか使えなくなるなら話は別ですが・・・
0611デフォルトの名無しさんNGNG
>>610
わざわざ書き換えてまで使用するモンでもないような...
これから作るプログラムでは積極的に使用する様にしてるけど
(コード書くのが楽なんで)
0612604NGNG
>>609 どうもです。
ドキュメントの可搬性ではオープンソース系の方が優れているかなぁ(PHP 最高)
0613613NGNG
VBはじめて2週間の者ですが質問です。
フォームの中にテキストボックスを入れて、そのテキストボックスが
フォーム上自由にドラッグドロップで移動できるようなプログラミングは
可能でしょうか?
DRAGモードプロパティを「自動」に設定するところまでは分かったのですが、
それからまるで進みません。
ご存じの方ぜひ教えてください。
0614デフォルトの名無しさんNGNG
PL/SQLでHTMLを作成するプログラムでプルダウンメニューを
作りたいときに以下のような感じでその部分のソースを
書いてるんですがコンパイルするとハングしてしまいます。
選択項目が5行以内だとうまくコンパイルできるのですが
5行以上だとうまくコンパイルできません。
SETする文字列(又は行数)に長さの制限とかあるのでしょうか?
わからんです・・・。
この辺りのこととか詳しく解説してあるHPってないんでしょうか?
Webアプリケーション開発系のページさがしたけどみつからなくって・・・。

────────────────────────
htf.formSelectOpen('str', '題目');
htf.formSelectOption('', 'select', 'VALUE="A"');
htf.formSelectOption('1:長めの文字列1', null, 'VALUE="B"');
htf.formSelectOption('2:長めの文字列2', null, 'VALUE="C"');
htf.formSelectOption('3:長めの文字列3', null, 'VALUE="D"');
htf.formSelectOption('4:長めの文字列4', null, 'VALUE="E"');
htf.formSelectOption('5:長めの文字列5', null, 'VALUE="F"');
htf.formSelectClose;
0615↑NGNG
スレ間違えました
すいません
0616 NGNG
>>614
マルチポスト禁止
0617デフォルトの名無しさんNGNG
>>614
ドラッグドロップで「位置」を動かすこととに
Dragプロパティは使えねぇよ。
MouseDown/MouseMoveイベントと
Moveメソッド使って自分で制御するしかないな。

Private mTextBoxPosX As Long
Private mTextBoxPosY As Long

Private Sub Text1_MouseDown( ...略
  If Button = vbLeftButton Then
    mTextBoxPosX = X
    mTextBoxPosY = Y
  End If
End Sub
Private Sub Text1_MouseMove( ...略
  If Button = vbLeftButton Then
    With Text1
      .Move .Left + X - mTextBoxPosX, _
      .Top + Y - mTextBoxPosY
    End With
  End If
End Sub

マウスで文字選択はできなくなるし
反感買うだけのインターフェースになると思うけどな。
親の遺言でどうしてもそうしたいなら止めないけど。
0618デフォルトの名無しさんNGNG
Private Sub Command1_Click()
Dim a, b As Long
a = 2
b = 1
Call KK(a, b)
End Sub

Private Sub KK(ByRef P As Long, ByRef Q As Long)
Dim i As Long
If P > Q Then
i = Q
Q = P
P = i
End If
End Sub
引数の方が一致しないと言われます。
0619デフォルトの名無しさんNGNG
>>618
TypeName 使って a と b の型を見てみな。
0620618NGNG
integerになってますね。
うーむ
0621ヒントその2NGNG
>>618=620
a = "ABC" ってやってみ。
0622618NGNG
Private Sub Command2_Click()
Dim a As Integer, b As Integer
a = 900
b = 400
Call TestSub_ByRef(a, b)
Debug.Print a, b
End Sub

Sub TestSub_ByRef(ByRef m As Integer, ByRef n As Integer)
m = 100
n = 200
End Sub
ならエラーが出ないようです。
ウーム。。。
0623618NGNG
できたYO
Dim a As Long, b As Long
だね。
いままでずっと間違えてたYO。。。
0624デフォルトの名無しさんNGNG
Randomize
Do
SavePicture Me.Image,"C:\" & Rnd & ".bmp"
DoEvents
Loop
0625デフォルトの名無しさんNGNG
初心者です。
Classってのを昨日知ったんですけど、やってみても全然ダメで・・・。
詳しく書かれたWebサイトか書籍ご存じないでしょうか。
0626デフォルトの名無しさんNGNG
ヘルプ
0627デフォルトの名無しさんNGNG
>>625
http://homepage1.nifty.com/CavalierLab/lab/vb/clsmdl/
0628デフォルトの名無しさんNGNG
>>608
返答遅れてすみません。出来そうなんですが・・・
ローカルにApacheを立ててVBで以下のコードのみ書いて実行したのですが、
"オブジェクト変数またはWithブロック変数が設定されていません。"
といわれておちてしまいます。何がいけないのでしょう?
デバッグ押して開始押すとそのまま実行されるし・・・

Dim strHTML As String
Private Sub Form_Load()
WebBrowser1.Navigate2 "http://127.0.0.1/"
Text1.Text = WebBrowser1.Document.body.parentelement.innerhtml
End Sub
0629608NGNG
>>628
それはForm_Loadイベントの発生時点ではHTMLが開き終わって無いからだよん
開き終わって無い=DocumentオブジェクトかBodyオブジェクトが生成されて無い
って事になるんだな。どっちなのかは調べてみないとわからんけど(ぉ

開いたページのソースを、すぐに開く必要がないなら、FormにCommandButtonでも
貼り付けて、そこに「Text1.text 〜」を書くがよろしぃかと。

開いたHTMLのソースを直ちに表示させたいのなら、WebBrowserコントロールの
「ページを開き終わったイベント」の中で表示させるべし!
どのイベントなのかは、イベント一覧見ればわかるよね、きっと
0630608NGNG
>>629に追加

Document.body.parentElement.innerHTML
の部分ですが、他にも色々な書き方があるみたいですね・・・
イパーイありすぎてヲチではもう何が何やら(w

とりあえず、一番単純な表記だと
Document.activeElement.innerHTML
かな?ただ、これだとフレームの中のHTMLのソースは取れ無さそう
0631デフォルトの名無しさんNGNG
複数のフォームを一枚の紙に印刷したいんですけど、
うまい方法がわかりません。

例えば、A4の紙を上下で分けて、上には宛名、
下には本文を印刷します。
(宛名と本文のフォームが分かれています。)

2回印刷すればできますが、これを1発で済ます方法はないものでしょうか?
0632デフォルトの名無しさんNGNG
>631
よくわからんが、それらの項目をまとめたフォームを
印刷用として作っておけばいいだけの話?
というより素直に帳票ツール使ったほうがヨイのでわ...
0633デフォルトの名無しさんNGNG
Accessのmdbファイルと言うのはデータを何行まで格納できるのですか
0634デフォルトの名無しさんNGNG
アクセスのデータベースを使用していて、数値の入った2つの列から
それぞれ最大の値を取得するにはどうしたらいいでしょうか。

たとえば以下のようなデータがあってここからData1の中で最大のものと
Data2の中で最大のものを取得したいです。
Data1 Data2
51  65
2  78
60  13
.   .
.   .

SQLなどで簡単にそれだけを
抜き出せるのかなとも思いますが、よくわかりません。
0635デフォルトの名無しさんNGNG
>>633
何行っていうのが「フィールド内に」なのか「レコード数」なのか
何なのかわからないが、

[Microsoft Access Help]-[キーワード]タブ
「サイズ, 制限」
から調べろ!

#これくらいは自分で調べられるようにしとけや( ゚Д゚)ゴルァ!
#これを見つけるまで5分もかからなかったぞ( ゚Д゚)ゴルァ!
#意味取り違えてたらスマソだ( ゚Д゚)ゴルァ!
0636デフォルトの名無しさんNGNG
>>634

SELECT MAX0(table1.Data1),MAX(table1Ddata2) FROM table1;

ok?■
0637デフォルトの名無しさんNGNG
>>634
グループ関数を使え。後は自分で調べな。
0638デフォルトの名無しさんNGNG
WebProg板で聞いたほうがいいんじゃないの?
0639デフォルトの名無しさんNGNG
>>638
なぜ?
0640631NGNG
>>632
レスありがとうございます。

わかりにくい文でスミマセンm(_ _)m
1つのコマンドボタンで、2つのフォームを同じ紙に印刷したいって事なんです。
0641デフォルトの名無しさんNGNG
>>631
PrintFormメソッドつかてるなら、
PaintPictureメソッドでobjectを1コ1コ描画しる(文字列だけなら
Printメソド)でどう?
ってか>>632に禿同。
0642631NGNG
>>641
ありがとうございます。早速試してみます。

私も個人的には>>632に同意なんですけど、上の方が・・・。
今回のが一段落したら作り替えてやろうと思います。
0643デフォルトの名無しさんNGNG
>>630
608殿
親切丁寧にありがとうございます。
DocumentCompleteですね。
ちゃんと表示出来ました。感謝感謝です。
0644デフォルトの名無しさんNGNG
VBのフォーム上で台形を描画して、その中を塗り潰したいんですが
どうしたらいいでしょうか。本当に切実に悩んでます。
0645デフォルトの名無しさんNGNG
>>644
Polygon APIしたあとにFloodFillEx APIしてみると吉。
0646デフォルトの名無しさんNGNG
Visual Studio InstallerでVBのインストーラを作って配布しています。
ソフトのバージョンが上がり、再度インストーラのパックを作ってそれを
使って再インストールしても、インストールは正常にできるのにソフトは
従来のバージョンのままでVerUPされませんでした。
一旦アンインストールしてから、VerUPしたインストーラで入れなおせば
できるんですが、これでは非常に面倒です。
なんとかならないでしょうか?
0647デフォルトの名無しさんNGNG
VB4で、配列をソートする関数を作ったんですが、
比較関数をCなどの言語の様に分離できますか?
(generic化したい)
関数のポインタに当たる機構が無い様な気がするのですが、、
0648デフォルトの名無しさんNGNG
(I can read Japanse letters, not type them,though. Sorry for any
inconvenience) I am making a very small program using Quick Basic(!!)
Could you tell me how to scan key input continuously? If no input,
the program should procede without asking anything. Maybe a VERY
stupid question... but I really would appreciate a responce.

Thank you in advance!
0649634NGNG
何度もすいません。SQLで "SELECT Data1 FROM Table;" のようにすると
Data1のデータがすべて抽出できますが、"SELECT MAX(Data1) FROM Table;" に
すると「このコレクションには項目がありません」エラーがでて取得できません。
そもそも debug.print recHoge!Data1 のようなやり方ではダメなのでしょうか
0650初心者厨房NGNG
本当に、今マジで困ってます。

さっきから何度もやっているのですが、どうしても文字数が30でストップして
しまいます。

ここにソースを貼るのでもし分かる人がいたら申し訳ないのですが
初心者の僕でも分かるような説明をしていただけませんか?

re = Split(Module1.SendCSV, ",")
j = 0
'読み込んだファイルをコントロールに格納していく
For i = 1 To 5
imText1(i).Text = re(13 + j)
Combo13(i).Text = re(14 + j)
Combo12(i).Text = re(15 + j)
imText2(i).Text = re(16 + j)
Combo9(i).Text = re(17 + j)
Combo6(i).Text = re(18 + j)
imText4(i).Text = re(19 + j)
Combo11(i).Text = re(20 + j)
Combo10(i).Text = re(21 + j)
imText3(i).Text = re(22 + j)
Combo7(i).Text = re(23 + j)
Combo8(i).Text = re(24 + j)
imText5(i).Text = re(25 + j)
imText6(i).Text = re(26 + j)
imText7(i).Text = re(27 + j)
imText8(i).Text = re(28 + j)
imText9(i).Text = re(29 + j)
imText10(i).Text = re(30 + j)
imText11(i).Text = re(31 + j)
imText12(i).Text = re(32 + j)
imText13(i).Text = re(33 + j)
imText14(i).Text = re(34 + j)
imText15(i).Text = re(35 + j)
imText16(i).Text = re(36 + j)
imText17(i).Text = re(37 + j)
j = j + 25
Next
'まだまだ格納
Combo1.Text = re(138)
Combo2.Text = re(139)
Combo3.Text = re(140)
Combo4.Text = re(141)
Combo5.Text = re(142)
For i = 0 To 11
imText18(i).Text = re(143 + i)
Next
0651初心者厨房NGNG
本当に教えてもらいたいのでage!
0652636NGNG
>>496
Accessのヘルプで「SQL, Jet 予約語」を開き「As」について調べよ
さすれば道は開かれん

いきなりSQL書いた漏れがアフォでした。スマソ


>>650
>どうしても文字数が30でストップ
下のソースからでは意味不明

とりあえず「j = 0」の行にブレークポイントを張り、ウォッチで「re」の中を確認すべし
期待しているものと違う状態になっているものと思われる
0653デフォルトの名無しさんNGNG
>>646
実行ファイルのバージョン(プロジェクトのプロパティで
指定するやつ)、ちゃんと指定してる?
0654初心者厨房NGNG
Private Sub MakeCSV()
Call Check_Mon
If Module1.Form5_CSV_Load = 0 Then
da = Split(Date, "/")
Ye = da(0)
Tuki = "04"
End If
'「CSVファイル」の作成
Const forRe = 1, forWr = 2, forAp = 3
Const TrDefault = -2, TrTrue = -1, TrFalse = 0
Dim F_FLG As Integer
'オブジェクトを作成
Set fs = CreateObject("Scripting.FileSystemObject")
'作成するファイル名を変数に格納
No = App.Path & "\csv2\" & "Moku" & Module1.Shain_Code & Module1.Ki & ".csv"
'ファイルを作成
fs.CreateTextFile (No)
0655初心者厨房NGNG
'ファイルを開く
Set F = fs.GetFile(No)
Set ts = F.openastextstream(forWr, TrDefault)
AA = ","
ts.write "1" & AA
ts.write "1" & AA
If Module1.Form5_CSV_Load = 0 Then
ts.write L_DATE & AA
Else
ts.write Module1.C_Date & AA
End If
ts.write Ki & AA
ts.write Module1.Shozoku_Code_kami & AA
ts.write Module1.Shozoku_Code_shimo & AA
ts.write Module1.Shozoku_Busho_kami & AA
ts.write Module1.Shozoku_Busho_shimo & AA
ts.write Module1.Shain_Code & AA
ts.write Module1.Na & AA
ts.write Module1.Sei & AA
ts.write Module1.Mibun & AA
ts.write Module1.Shokugun & AA
'ファイルに書き込み
For i = 1 To 5
ts.write imText1(i).Text + AA
ts.write Combo13(i).Text + AA
ts.write Combo12(i).Text + AA
ts.write imText2(i).Text + AA
ts.write Combo9(i).Text + AA
ts.write Combo6(i).Text + AA
ts.write imText4(i).Text + AA
ts.write Combo11(i).Text + AA
ts.write Combo10(i).Text + AA
ts.write imText3(i).Text + AA
ts.write Combo7(i).Text + AA
ts.write Combo8(i).Text + AA
ts.write imText5(i).Text + AA
ts.write imText6(i).Text + AA
ts.write imText7(i).Text + AA
ts.write imText8(i).Text + AA
ts.write imText9(i).Text + AA
ts.write imText10(i).Text + AA
ts.write imText11(i).Text + AA
ts.write imText12(i).Text + AA
ts.write imText13(i).Text + AA
ts.write imText14(i).Text + AA
ts.write imText15(i).Text + AA
ts.write imText16(i).Text + AA
ts.write imText17(i).Text + AA
0656初心者厨房NGNG
Next
ts.write Combo1.Text + AA
ts.write Combo2.Text + AA
ts.write Combo3.Text + AA
ts.write Combo4.Text + AA
ts.write Combo5.Text + AA
For j = 0 To 11
ts.write imText18(j).Text + AA
Next
ts.write Ye + AA
ts.write Tuki
'ここまで書き込み
'ファイルへのアクセスを終了
ts.Close
End Sub
0657初心者厨房NGNG
上記のがさっきからお聞きしているところのソースなんですけど、
やっぱり30以上にすることが出来ません。
お願いです。教えてください。
0658デフォルトの名無しさんNGNG
>>650
>どうしても文字数が30でストップ
同じく意味がわからん。
だから頑張って自分なりに解読してみた。
1:ひょっとしてMaxLengthプロパティーが30になってる?
→でもComboBoxはもっと沢山の文字が入るからこれは違ってそう。
そこでこのプログラムが何をするか考えてみた。
CSVファイルから読み込んだ要素を各テキストボックス、
コンボボックスに分割して格納してるようである。
では30という数字は何を示すのか?
CSVの1レコードの30文字目までを指す
→Module1.SendCSVに問題があるのかも
CSVの各要素がそれぞれ30文字で切れてしまう
→>>652の言うようにreの中身をみてみないと解らない。
CSVの30番目の要素までしか表示されない
→ループはちゃんと回ってるようだから多分これではない。

ソースをそのままでなくもっと要点を掻い摘んで書いて欲しい。
155個も要素のあるCSVって何に使うのかってのも個人的に興味がある。
っていうか0から13は使わんのか?
0659658NGNG
しまったかぶった。
0660658NGNG
>>657
質問1
止まるというのは正常に終了するけど30で止まるのか
30でエラーを吐いて止まるのかどっち?
質問2
30って何が30?
質問3
ファイルを開いてフォームに表示したいのか
フォームの内容をファイルに書きたいのかどっち?
またはどっちの時も30で止まるの?
0661652NGNG
>初心者厨房さん
ImTextって事はInputmanを使用しているのかな?
もしかして、ImText1〜9のどれかに金額を入力させるために、
入力マスクに「#,##0」とか指定してない?

この状態でImTextのTextプロパティから1,000と表示されているような値を
CSVに出力した場合は、Split関数によりre(0)="1",re(1)="000"と分割されて
しまい、その後の項目がずれてしまうためre(30)に予期せぬ値が入って
いると思うんですが、どうかな?

もしもこれに該当するなら、ImTextのValueプロパティから値を出力し、
画面に表示する時は
 ImText.Text = Format$(re(i), "#,##0")
とやればokだと思うよ。

#Valueプロパティに値を入力できたかどうか記憶にないや(w
0662長文失礼しますNGNG
以前はWin95でVBを少しかじり、現在はMe機を使っているのですが、久しぶりにVBをやろうと思い
VB5.0をMe機にインストールし、以前書いたコモンダイアログコントロールを含むソースコードを
読み込んでみたのですが、「読み込み中にエラーが発生しました」と表示されてしまいました。

で、コンポーネントを見てみると、「Microsoft Common Dialog Control 5.0」の項目はなく、
変わりに「Microsoft Common Dialog Control 6.0(SP3)」にチェックがついていました。
不思議に思い、以前問題なく動いたWin95機で動かそうとしても同じエラーが出て、
コンポーネントを見てみると、「Microsoft Common Dialog Control 5.0」ではなく、
「Microsoft Common Dialog Control 5.0(SP2)」になっていました。

また、新規にコモンダイアログを張り付けようとしても、「このコンポーネントのライセンス情報が
見つかりません。デザイン環境でこの機能を使うために必要なライセンスがありません」と叱られました。

ヘルプを見てみると、
>デザイン時に、ActiveX コントロールをフォームに配置しようとしたか、または ActiveX コントロールを
>含むフォームをプロジェクトに追加しようとしましたが、レジストリ内に関連情報がありませんでした。
>レジストリ内の情報が削除されたかまたは破損していることが考えられます。ActiveX コントロールを
>再度セットアップするか、コントロールの発売元に問い合わせてください。

とありましたが全くわかりません。解決方法をご存じなら教えて頂きたく思います。
0663 NGNG
大量の文字列を格納したいのですがstring型だと足りません…

Dim テキストの内容 As String
Dim 全テキスト As String
〜省略〜
Do Until EOF(ファイル番号) = True
Line Input #ファイル番号, テキストの内容
全テキスト = 全テキスト & vbNewLine & テキストの内容
Loop

Close #ファイル番号
Text1.Text = 全テキスト
〜省略〜

と言う風にやろうとしてるのですが大量の文字列を読みこんだ時に
「メモリが足りません」となります。こういった場合、どうすれば
宜しいのでしょうか?
それともう一つ質問なのですがやはり変数の日本語はまずいでしょうか?
たまたま買った初心者用参考書がそうだったもので・・・
0664デフォルトの名無しさんNGNG
>>663
そのテキストって一度に全部読まなきゃ処理出来ないものなの?
0665デフォルトの名無しさんNGNG
>>662
これかな?
http://www.microsoft.com/JAPAN/support/kb/articles/J040/9/61.htm
0666649 634NGNG
なるほど。エイリアスを使ったらちゃんとできました。
自分で最大最小値を得ていたときとは比べ物にならないほど
高速化できました。ありがとうございました。
0667662NGNG
>>665さん
無事動くようになりました!ありがとうございます。
0668初心者厨房NGNG
>>661さん。
遅レスで済みませんでした。
ついに出来ました。
本当にありがとうございます。
また機会があったらぜひ教えてください。
0669デフォルトの名無しさんNGNG
>663
VBはどんな2バイト文字でも変数に使える。
が、VB厨になりたくなければ使わない方が良い。
tu-ka,sonohonnyametahougaii
0670663NGNG
>>664さん

一度に処理する必要ありませんでした・・
参考書通りに書いたのですが・・
1行づつ読み込んで表示させたら上手くいきました。
ありがとうございます。

>>669さん

自分も違和感はあったのですがやはり止めたほうが良いようですね。
使わないことにします。ご忠告ありがとうございます。
0671名無しさん@お腹いっぱい。NGNG
日本語の変数とか
日本語名のフォルダをプログラムで利用するのは
辞めよう。

俺は初心者の時、これで泣いた
0672デフォルトの名無しさんNGNG
ACTIVE Xについてなんですが困っています
コモンダイアログのShowOpen系メソッドについてです

CommonDialog.Filter = "*.bmp"

CommonDialog.ShowOpenの前にこれを設定したとしたら、
ファイルを開くダイアログには拡張子がbmpのファイルしか表示されない
んだと思っているのですが、なぜか全てのファイルが表示されています・・・

どこが間違ってますか?
0673説明し過ぎと反省中NGNG
>>672
VBのヘルプを良く読もうYO!
Filterプロパティのヘルプに説明が載ってるYO!
「*.Txt」か「*.bmpまたは*.ico」だけを表示させるサンプルもあったYO!
0674647NGNG
>>647
この質問、だれか判る人いないかな、、
0675名無しさん@お腹いっぱい。NGNG
>>672
Filter = "BMP FILE (*.bmp)"
0676デフォルトの名無しさんNGNG
>>674
ソート処理をDLL化する。
0677デフォルトの名無しさんNGNG
>>675
?.Filter = "BMP FILE (*.bmp)|*.bmp" でないかい?
0678デフォルトの名無しさんNGNG
>>647=674
コールバック処理を行う部分だけ DLL でこさえるか...
或いはいっそのことソート可能な配列クラスでもこさえてみたら?
0679デフォルトの名無しさんNGNG
672です。上手くいきました。
みなさん、どうもありがとうございました。
0680647NGNG
>>676
DLLにしたら、比較関数はどうするんですか?
主にユーザー定義型を比較する事を考えているのですが、
ユーザー定義型をVisualC++などから参照は可能でしょうか?
>>678
VBのクラスを作るという事ですか?
やったことないですが、調べてみます。

#VB5が使えればこんな苦労は無くなるんですが、
#ランタイムの関係で移行できない。VB最悪・・
0681デフォルトの名無しさんNGNG
VBでボタンを複数行表示するときに、
AA
BB
としたい場合プログラムでCommand1.Caption="AA"+chr$(13)+"BB"
としているんですが、プロパティエディタで一発で書く方法はありませんか?
0682デフォルトの名無しさんNGNG
>>681
"AA    ...(改行が起こるまでスペースで埋める)...BB"
0683デフォルトの名無しさんNGNG
コピペでできる。
1.メモ帳とかに書いてコピー
2.ボタンのCaptionプロパティのところでペースト
以上。
0684デフォルトの名無しさんNGNG
>>681
テキストエディタからCtrl+Vでコピペすればできますね…。
漏れも初めて気づいたよ。
0685678NGNG
>>680
勢いで書いちゃったけど、VB4ってクラスモジュール使えたっけ?
もし使えるなら...

比較関数のみをメソッドとして持ったクラスのインスタンスを
渡してやる事で関数を渡してやる事も出来る。

かなーり変な実装だけど...
0686デフォルトの名無しさんNGNG
>>685
Cのqsortみたく作りたいんならそれしかないんじゃないかな。
VB4でクラス使えるのかは俺にもわからんが・・・
0687デフォルトの名無しさんNGNG
いくつかの要素をもった配列を、定数として宣言したいのですが、
どうすればいいんでしょうか。
Cで言うと、
const char x[3] = { 'a', 'b', 'c' }
みたいなことがしたいんですが。
0688デフォルトの名無しさんNGNG
>>687
できね。
コードの先頭で書け。
0689デフォルトの名無しさんNGNG
>>688
x[0] = "a" : x[1] = "b" : x[2] = "c"
って書くしかないってことですか。
めんどくさー。
0690デフォルトの名無しさんNGNG
質問ッス。助けてください。
1.Msgbox内で「"(ダブルクォーテーション)」を使いたいんですが、
Msgbox = "ああああ"ああああ"
って真ん中のダブルコォーテーションまでで切れてエラーになるのを
なんとかできませんか。
2.同じくMsgbox内で改行を入れたいんですけど、ヘルプ通りに
(Chr(13))を入れても改行されないのは何がダメなんでしょう。。。
3.あと、まぁ、例としてテキストボックスで名前を指定したりして、
VBで新規CSVファイルを作る、なんて出来ますか?
0691デフォルトの名無しさんNGNG
>>690
嫌みじゃなく、なんか1冊本読むといいよ。
0692不可和NGNG
日本語を読み上げるVBAを書きたいと思っています。
SAPI 5.1をインストールし、英語を読むことまではできたのですが
日本語はどうやったら読んでくれるのかわかりません。
Text-To-Speech エンジンは
MS Agent から日本語エンジンをダウンロードしています。
実現している(?)ソフトとして
http://www.asahi-net.or.jp/~tz2s-nsmr/spk.html


参照設定に「Microsoft Speech Object Library」

Dim objSpVoice As SpeechLib.SpVoice
Set objSpVoice = CreateObject("SAPI.SpVoice")
Set objSpVoice.Voice = objSpVoice.GetVoices.Item(1)
objSpVoice.Speak ("Ladies and Gentlemen, Boys and Girls. Tokio Disneyland proudly presents")
Set objSpVoice = Nothing
0693デフォルトの名無しさんNGNG
文字コード 0x1B は何を表すものなのか解る方いますか

DOSのCOPYコマンドで2つのファイルを結合すると、EOFの前に
なぜかこれが付いていることに気づきました。
0694693NGNG
試してみたら 0x1B に限らず、EOFの前に何かランダムな(?)制御コードが入るようです。
なんなんでしょうこれは?
0695デフォルトの名無しさんNGNG
>>693
/B オプションを付けてみてはどうでしょう?
0696デフォルトの名無しさんNGNG
>689
定数でなくてもヨイなら
x() = Array("1","2","3")
という手も...
0697デフォルトの名無しさんNGNG
Windows2000(SP2)上のVB6(SP5)のディストリビューションウィザードで
セットアップつくったんですが、WinMeの場合のみ、何回セットアップしよう
としても

・ファイルの展開
・「このシステムは一部のファイルが最新ではない・・・」のメッセージ
・再起動が要求される

で、実際に再起動して、またセットアップを実行しても
同じメッセージが出て、けっきょくセットアップできません。
ちなみにこの現象が出るようになったのは、Win2000にSP2を
当ててから作ったセットアップのみです。
原因ご存知の方、お教えください。長文すんませんでした m(__)m
0698デフォルトの名無しさんNGNG
>>690
1.
MsgBox "ああああ" & Chr$(34) & "ああああ"

2.
MsgBox "ああああ" & vbCrLf & "ああああ"
または
MsgBox "ああああ" & Chr$(13) & "ああああ"

3.
拡張子が“CSV”のテキストファイル作る
0699デフォルトの名無しさんNGNG
>>697の質問わたしも知りたい。MEでセットアップ作ればいいと
いわれたらそれまでなんだろうけど、98とかではうまくインストール
できちゃうから納得いかない。
0700デフォルトの名無しさんNGNG
「IEコンポーネントを使い倒すスレ」にも書きましたが、こちらの方がすぐに返事がくると思い書きこまさせていただきます。

VBでブラウザを作っているのですが、IEのオブジェクト上での右クリックで出てくるメニューを
表示させたくありません。
どのようにすれば規制できるか試行錯誤していますがなかなか解決できていません。

もし、よろしければご指導お願いします。

よろしくお願いしますm(_ _)m
0701デフォルトの名無しさんNGNG
SQLを使ってでデータを抽出するときのソート方法の質問です。

TableにXとYの数値が入っており、これをX,Yの小さい順にソートして
読み込みたいです。しかし、「ORDER BY XPoint, YPoint」とすると、
XPointについてソートされるだけで、XPointが同等の値をもっていたら
YPointについてソートするようになってしまいます。これではYPointは
ほとんどバラバラのままです。

XとYを組み合わせて、以下のようなイメージで並べたいです。
y
↑2122232425
│1617181920
│1112131415
│678910
│12345
+────→x

うまく伝わったか心配ですが、お願いいたします。
0702701NGNG
あー、何かズレました。。。
要は1〜25のように(x,y)をソートしたいと言うことです。
0703デフォルトの名無しさんNGNG
>>700
このあたりで何とかなりませんか。
ttp://www.domaindlx.com/e_morcillo/
0704 NGNG
あああああわからない・・
テキストボックスにファイル(.txt)を読み込んで表示したいのですが
Inputだと遅いので調べてみたら、InputB、Getがいいとのこと。
InputBだとエラーがでてGetはよくわからない(かなりがんばったのですが)
どなたかInputB、もしくはGetを使ったファイル操作を教えていただけないでしょうか・・
0705デフォルトの名無しさんNGNG
>>698

> MsgBox "ああああ" & Chr$(34) & "ああああ"

MsgBox "ああああ""ああああ"

こっちの方が楽だと思われ…。
0706デフォルトの名無しさんNGNG
>>704

Dim abytBuff() as byte
Dim hFile&
Dim strText$

hFile = FreeFile()
Open "hoge.txt" as Binary for hFile
Redim abytBuff( LOF(hFile) - 1 ) 'サイズが0だとエラーになるよ
Get hFile,,abytBuff()
Close hFile

strText = StrConv(abytBuff(),vbUnicode)

こんな感じかな。
0707704NGNG
>>706

ありがとうございます!
参考にさせていただきます。
本当に助かりました…
0708デフォルトの名無しさんNGNG
>>700
「IEコンポーネントを使い倒すスレ」の22を見てみよう
意味がわかれば、こんな感じになる事がわかると思う。

Private WithEvents HTMLDoc As HTMLDocument

Private Function HTMLDoc_oncontextmenu() As Boolean
  PopupMenu mnuMenu  '独自メニューを表示
End Function

Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
  Set HTMLDoc = pDisp.Document
End Sub

ただしフレームがある場合、これではWebBrowser1で最後に開いたフレーム内の
Documentオブジェクトしか取得する事が出来なかったので、そこから先は自分で
考えてくれ

>>701
かなりテキトーだけど
select x,y,(x + y) as xy from table order by xy,x,y;
で上手くいったりしない?(汗


>>698
勘違いしてそうなので・・・
Chr(13) → vbCr
Chr(10) → vbLf
Chr(13) & Chr(10) → vbCrLf
0709701NGNG
>>708
なるほどー!! これならできそうですね。
0710690NGNG
>>691、>>698、>>705、>>708
みなさんありがとうございます。
Chrの後に$が要るんですか。ヘルプには書いていないような・・・。
あと、新規テキストを出力するのすらも分からないのです。
ヒントをお願いしますー。
0711デフォルトの名無しさんNGNG
>>710
Chr$ってのは、文字列型を返すんだな。
Chrだと、Variant型なんだな。
文字列型を明示した方がパフォーマンスが上がったり、わかりやすかったりする
のであえて$つきを使うことがあるね。
Chr以外にも、Trim$とかLeft$とかそんな感じのがいくつもあるよ。
動作自体は、$つきでも無しでもたいして変わらん。

テキスト出力は、Print # とかWrite # とか、Openとかを調べてみよう。
csvで出したいならWrite # ステートメントかな。
 Open "hoge.csv" For Output As #1
 Write #1,A,B,C,D
 Close #1
みたいな。あとは自分で調べよう。

#出力するデータに「"」か「”」が混じってるとInputで読むときにハマるので注意。
0712デフォルトの名無しさんNGNG
>692 :不可和
俺作ったけど・・・なんか難しいことあったっけ。

ただ単に英語のエンジンを選択してしまっているだけでしょう。
以下のコードを通せばOK。

Dim i As Long
Set oVoice = New TextToSpeech
For i = 1 To oVoice.CountEngines
If oVoice.LanguageID(i) = 1041 Then
'日本語のエンジンに設定
oVoice.Select (i)
Exit Sub
End If
Next
End Sub
0713VB2年目NGNG
暗号の勉強をしているんですが、エラーでつまずいてます。
LastDLLErrorプロパティを使ってCryptAPIのエラーを表示させているのですが、そのエラーの意味がわかりません。
表示されるエラーは-2146893819です。数値が異常なような気もするのですが、こう出ます。
このエラーの意味を調べるにはどうすればよいのでしょうか?
dllはadvapi32.dllです。
厨房質問かもしれませんがよろしくお願いします。
0714Ruby!!!!!!!NGNG
ここにいるVB厨って屠殺して石けんにでもした方が、よっぽど世の中のためになるね。
0715デフォルトの名無しさんNGNG
>>714
いいから氏んじゃって下さい。
0716デフォルトの名無しさんNGNG
>>714
玄人気取り(プププ
0717デフォルトの名無しさんNGNG
DBアプリ開発の時には文化オリエントのGrid 等のActiveX購入は必須
ですか?
0718デフォルトの名無しさんNGNG
>>717
いらん
0719デフォルトの名無しさんNGNG
MDIの子ウィンドウの数を取得したり現在アクティブな子ウィンドウの
インデックスを取得するにはどうしたらいいですか。
0720デフォルトの名無しさんNGNG
そういえばVBのフォームってHWND取れるっけ?
0721デフォルトの名無しさんNGNG
>>720
取れる。
0722デフォルトの名無しさんNGNG
>>719
Formsコレクション使って1個ずつフォームをチェックしてけば?
0723デフォルトの名無しさんNGNG
>>719
現在アクティブな子ウィンドウなら
ActiveFormプロパティ
単に数がわかれば良いなら
DoEvents(親も数に含まれる)
Indexは追加された順だったよな気が。
どうしても今のアクティブなFormのIndexが知りたいなら

For i = 0 To Forms.Count - 1
If Forms(i).Caption = ActiveForm.Caption Then
MsgBox i
End If
Next i

とか。だめ?(;´д`)
0724デフォルトの名無しさんNGNG
>717
グリッドなんかはとりあえずいらないけど、帳票系は必須だと思われ。
クリレポなんか使ってたら日が暮れちゃうし。
0725デフォルトの名無しさんNGNG
Statusbarコントロールの
パネルに画像を表示させる方法はありますでしょうか?
0726デフォルトの名無しさんNGNG
InputBでtxtの内容をテキストボックスに表示させています。

1、ファイルサイズ0の時、
2、空白or改行のみ入ってるtxtの時、
3、ファイルサイズが大きい時(650kbでなりました)

以上の時にエラーが出ます。
1についてはすぐに解決できたのですが
2、3の時はどのようにすればいいのでしょうか?
初心者すぎる質問かもしれませんがどうかご教授お願いします。
0727726NGNG
すいません。自己解決しました
0728デフォルトの名無しさんNGNG
>>723
DoEventsは副作用も起きるから止めた方がいいかも。
Forms.Countでいいんじゃない? 必要ならForで回して、
Forms(i).MDIChildとForms(i).Nameを見て調べる、と。

あと、Captionだと重複とか起きそうだから、hWndを見た方
がいいかもしれない。
0729デフォルトの名無しさんNGNG
>>722
>>723
>>728
ありがとうございます。MDIはぜんぜん慣れてないんで勝手が分からないんです。
こんなのも書けないなんて・・・逝って来ます。
0730デフォルトの名無しさんNGNG
VB6でですね、
label1.caption=r(変数です)&"となる"
ってかんじのを実行すると何故かエラーになってしまいます。
label1.caption=r
ってかんじなら正しく実行されるんですけど。
0731デフォルトの名無しさんNGNG
>>730
r は何者?
0732730NGNG
>>731
rは別に何でもいいんです。
実行したあとのエラー表示によると、
最後の
"となる"
ってところがダメらしいです。
0733  NGNG
>>730
変数と、文字列は区別しないと駄目だよ。
Dim r as String
label1.caption= r & "(変数です)となる"

でしょうな。
0734730NGNG
>>733
いや、そうじゃなくてですね、
(変数です)ってのは、rってのを説明したもので、
実際のコードに入れません。
0735デフォルトの名無しさんNGNG
>>734
あー、なるほど。

 label1.caption = r&"となる"

とやったらエラーになった、と。

 label1.caption = r & "となる"

ってやってごらん。r の後に半角スペース入れてね。
r& という風に繋げて書くと「Long型の r という変数」って意味になってしまう。
0736730NGNG
>>735
おお、できました。
超初心者質問に付き合っていただきありがとうございました。
やっぱプログラミングは難しい・・・
0737701NGNG
すいません。>>701ですが、色々やってみたんですけどやっぱり解りません。
何か良い方法はないでしょうか。>>708氏の方法ではエラーでうまくいかないようです。
0738デフォルトの名無しさんNGNG
>>701
私には、何がやりたいのか良くわかりません。
具体例だしてもらえませんか?
0739701NGNG
すいません。なんか勘違いしていました。ちょっとお聞きしたいのですが、
「ORDER BY XPoint, YPoint」とすれば、作られたRecordsetの
先頭にXPoint,YPointそれぞれの最小値が、末尾に最大値が
格納されるのでしょうか
0740デフォルトの名無しさんNGNG
Visual Studio Installerを使おうとすると必ず以下のエラーが出ます。
<マージ モジュール名> 内の 1 つ以上のファイルがこのマシン上にインストール
されているファイルのバージョンと異なります。

SP5を入れているので最新のマージモジュールを使用しなければならない
ことがわかり、以下のサイトからSP5版のファイルをDLしました。
ttp://www.microsoft.com/japan/developer/VSTUDIO/download/sp/mmoverview.htm

DLしたファイルを解凍して、それぞれ以下のフォルダに入れて更新しました。
C:\Program Files\Microsoft Visual Studio\Common\Tools\VSInst\BuildRes
C:\Program Files\Microsoft Visual Studio\Common\Tools\VSInst\BuildRes\1041

しかし、エラーは消えませんでした。これは何が原因かわかりますか。
0741708NGNG
>>701=737
>>708のクエリーをAccessで試してみたら確かに駄目でした
どうやらorder by句の中で別名指定は動かないっぽいので
次のように直したところ実行できましたが・・・

select x,y, (x + y) from table order by 3;
とか
select x,y from table order by (x + y);

または>>701の
>これをXYの小さい順にソートして
から考えると
select x,y from table order by (x * y);
になるのかもしれない

それから、DBによって、多少クエリーが変わってきますから
使用しているDBも書いてくれないと困りますよん

#でも、708に書いたものではどのDBでも動かなそう(w
0742701NGNG
order by (x * y) でバッチリでした。ありがとうございます。
ちなみにDBはアクセスを使っていました。
0743700NGNG
>703、708

返事送れて申し訳ありません^^;

勉強してみます。
できてもできなくてもまた書き込むのでよろしくお願いします(藁

ではm(_ _)m
0744デフォルトの名無しさんNGNG
すいません、VBでワードパッドをオブジェクトとして使う方法はありませんか?
0745デフォルトの名無しさんNGNG
>>717
必須ではないがあった方がかなり楽。
ただ、あまり色々なメーカーの物を混在させない方が良いかも。
0746デフォルトの名無しさんNGNG
ディレクトリ移動についてなんですが
RarUtyや詩子様とかにデスクトップのショートカットや
マイドキュメントのショートカットがありますよね。
あの機能を使いたいのですがどういった風にすればよいのでしょうか?
普通にディレクトリ移動はわかるのですが・・
0747教えてNGNG
学校の宿題でVBAの問題が出たんですけど全然わかりません。教えてください。
問題1
 3つの整数a,b,cを受取り、それをa�I2(2乗)+bx+c=0としてxの解を求める関数「二次方程式」を作れ。
 2つの解のうち、いずれか一方を返せばよい
  ヒント 解の公式を適用する平方根は関数Sqrを使用する
問題2
 セル範囲を2つ引数にし、対応するセルの値がすべて同じなら1を、一つでも違うなら0を返す関数「比較」を作れ。
  ヒント Function 比較(c1, c2)
       ここで、セル1つずつを比較する
      End Function
0748 NGNG
http://korea.hanmir.com/ktj.cgi?url=http://netizen.khan.co.kr/mainnewsviewer.php3%3fartid%3d20011119043556
否定的イメージを改善するために19日から来月16日までインターネット上に
現われた韓国関連間違いを捜し出す‘インターネット間違い狩り大会’を実施する.

http://japanese.joins.com/php/article.php?sv=jnews&src=soci&cont=soci0&aid=20011007225800400
ネット上の歪曲された韓国関連情報を正す為、「韓国を正しく知らせる事業」が来月から始まる。

今日本人の文化が韓国に奪われようとしている
これは韓国とのインターネット戦争だ
日本人は韓国人に空手が奪われた事実を忘れるなすべきだ
そして今現在剣道が奪われようとしてる現実を直視しろ
やつらにとって従軍慰安婦のような歪曲した歴史を流すことは容易いことだ

■韓国の竹島占拠
http://www2.justnet.ne.jp/~yoshiro/no_frame/history/honbun/takeshima.html
■従軍慰安婦についての真実
http://hamanasu.sakura.ne.jp/~hn7y-mur/forum/f052.htm
■何故韓国人がこれ程嫌われているのか
http://www.geocities.co.jp/WallStreet-Bull/6199/
■強姦は日本の10倍
http://www.across.or.jp/necizen/essay/e1998/e9810110.html
■暴行は日本の100倍
http://www.koreanavi.com/news/headline/20001128-11.html
■韓国内での強姦の届けは2%
http://www.netomo.com/cgi-bin/transkj.cgi?http://www.google.com/search?q=cache:TPPqjDdZ80g:aids.hallym.ac.kr/%BC%BA%C6%F8%B7%C2/newsex/sex1.html&hl=ko&lr=lang_ko
■韓国民の4人に1人が”前科者
http://www.worldtimes.co.jp/kansok/kan/soc/010730-1.html
■韓国での殺人は9時間4分に1回、強姦は1時間16分に1回
http://www.koreanavi.com/news/headline/20001128-11.html
0749デフォルトの名無しさんNGNG
>>749
何がわからないのかくらい書いたらどうだ。
0750デフォルトの名無しさんNGNG
>>749
自問自答してどうする
0751デフォルトの名無しさんNGNG
>>746
GetSystemDirectoryでパス取得すりゃ、えーんちゃう?
0752デフォルトの名無しさんNGNG
DBのテーブル内のデータを全部削除するとき↓よりもスマートな方法はありませんか。
Do Until .EOF
 .Delete
 .MoveNext
Loop
これだと1行ずつ削除しているので、何か一括削除するやり方があると
高速にできそうなのですが。。。
0753デフォルトの名無しさんNGNG
>>752

SQL文(DELETE)を投げる

OracleだったらTRUNCATEでいい。
0754デフォルトの名無しさんNGNG
>>752
先ずSQLを覚えろ。
そうすればかなり幸せになれるぞ。
0755デフォルトの名無しさんNGNG
>>747
二次方程式の解の公式は知っているか?
0756752NGNG
あー、なんだ。SQLで一瞬で消せました。アホなことしてた。。。
dbHoge.Execute "DELETE * FROM Table;"

ありがとうございます。
0757デフォルトの名無しさんNGNG
FSOでファイル名の変更はどうやるんでしょうか。
とりあえずMoveFileで実現していますが、
これだとリネームとはちょっと違いますよね。
0758デフォルトの名無しさんNGNG
どこがちがう?
moveの特別な場合が、renameと呼ばれる、というだけの話ではないか。
0759デフォルトの名無しさんNGNG
じゃあそれでいいです
0760デフォルトの名無しさんNGNG
すんません、ちと質問。
n個の座標群(x(n), y(n))を乱数で作成して、x(n)について降順にソートしたリストをつくりたいんですがなんかうまくいきません。
どなたかご教授を(/_;)
0761747NGNG
>755 知ってるよ
0762デフォルトの名無しさんNGNG
>>760
何がどううまくいかないのかくらい書いたらどうだ。
0763760NGNG
(x(n), y(n))をどう構成すればいいのかわからんのですわ。
それぞれは乱数で作れるんだけど、繰り返しでxとyのセットとして格納しておく構造体がぴんとこなくて・・・。
そのあと座標群とnで配列を作ってソートするんだと思うんですが。
0764デフォルトの名無しさんNGNG
2ちゃんブラウザの製作に挑戦しています。
しかし、掲示板への書きこみができなくて困っています。
試験的に厨房板の某スレに、名前を"aa"、メアドを"bb"、内容を"cc"で書きこもうと思い、
http://www2.bbspink.com/test/bbs.cgi?FROM=aa&mail=bb&MESSAGE=cc&bbs=kitchen&key=1005989316&time=1006245642
というURLで、WebBrowserコントロールでNavigate2メソッドを発行しましたが、
「ERROR:Sjisで書いてね。。。」とエラーを吐かれてしまいます。

なんとか書きこむ方法はありませんか?
0765デフォルトの名無しさんNGNG
SJISで書き込む
0766デフォルトの名無しさんNGNG
>>764
ttp://www.google.com/search?q=vb+unicode+sjis&hl=ja&lr=
0767長文失礼しますNGNG
>>760
こんな感じかな?

' QuickSortの部分はWebで拾ったサンプルのコピペ。

Type POINT
x As Double, y As Double
End Type

Sub main()
Dim i As Long
Dim data(0 To 99) As POINT

For i = 0 To 99
data(i).x = Rnd
data(i).y = Rnd
Next

QuickSort data, LBound(data), UBound(data)

For i = 0 To 99
Debug.Print data(i).x; " "; data(i).y
Next
End Sub

Sub QuickSort(ByRef TargetArray() As POINT, StartArray As Long, EndArray As Long)
Dim Count As Long
Dim LastArray As Long
Dim SwapBuff As POINT

If StartArray >= EndArray Then Exit Sub

SwapBuff = TargetArray(StartArray)
TargetArray(StartArray) = TargetArray((StartArray + EndArray) / 2)
TargetArray((StartArray + EndArray) / 2) = SwapBuff

LastArray = StartArray

For Count = StartArray + 1 To EndArray
If TargetArray(Count).x < TargetArray(StartArray).x Then
LastArray = LastArray + 1
SwapBuff = TargetArray(LastArray)
TargetArray(LastArray) = TargetArray(Count)
TargetArray(Count) = SwapBuff
End If
Next Count

SwapBuff = TargetArray(StartArray)
TargetArray(StartArray) = TargetArray(LastArray)
TargetArray(LastArray) = SwapBuff

Call QuickSort(TargetArray, StartArray, LastArray - 1)
Call QuickSort(TargetArray, LastArray + 1, EndArray)
End Sub
0768755NGNG
>>761
なら難しくないだろ。その式に当てはめて計算すればいいだけじゃん。
虚数の判定処理は入れたほうがいいと思うけど。

一応、SQR関数のヘルプをコピペしておく。
*************ここから*************
次の例は、Sqr 関数を使って、指定した数値の平方根を計算します。
Dim MySqr
MySqr = Sqr(4) ' 2 を返します。
MySqr = Sqr(23) ' 4.79583152331272 を返します。
MySqr = Sqr(0) ' 0 を返します。
MySqr = Sqr(-4) ' 実行時エラーが発生します。
***************ここまで***************
0769デフォルトの名無しさんNGNG
ブラウザ内で右クリックしたときに出るポップアップメニューの
中身を編集するにはどやったらいいんでしょうか〜。

あと、「お気に入り」に追加するときみたいにページのタイトルを取得するやり方もわからない。。。
0770デフォルトの名無しさんNGNG
>>769
ttp://hp.vector.co.jp/authors/VA013453/
ここのkommixを参考にさせてもらってはどうでしょう?
はずしてますか?

もっと簡単でいい方法があるかもしれませんが、
これでタイトル取得できました。
Microsoft Internet Controls(shdocvw.dll)と
Microsoft HTML Object Library(MSHTML.TLB)
を参照設定しています。

Option Explicit

Private WithEvents IE As SHDocVw.InternetExplorer
Private WithEvents IEDoc As MSHTML.HTMLDocument

Private Sub Command1_Click()

Set IE = New SHDocVw.InternetExplorer
Set IEDoc = New MSHTML.HTMLDocument

IE.Navigate2 "http://2ch.net/"

Do While IE.Busy
DoEvents
Loop

Set IEDoc = IE.document

Form1.Caption = IEDoc.Title

Set IEDoc = Nothing
Set IE = Nothing

End Sub
0771760NGNG
>>767
ありがとうございます〜。一応自分でも座標つくるところまではやってみたんですが、そっちのほうがすっきりしてますね(笑)。

Private X As Long, Y As Long, i As Long

Dim Xl(100) As Double
Dim Yl(100) As Double

Private Sub Command1_Click()

For i = 0 To 99
Randomize
ScaleMode = 3
X = Int(10000 * Rnd)
Y = Int(10000 * Rnd)
Xl(i) = X
Yl(i) = Y
Next i
End Sub

↑こんなんです(^-^;
クイックソートはこれから実装してみますー。
0772教えてくださいNGNG
Sub Macro1()
Dim i As Double
Dim iAnswer As Double

X = Worksheets(1).Cells(13, 2)
A = Worksheets(1).Cells(11, 7)

For i = X To A Step 0.0000001

iAnswer = i

Next

sAnswer = Str(iAnswer)

Worksheets(1).Cells(13, 8) = sAnswer

End Sub
-----------------------------------------
X=C10
A=IF(A13="",""ROUND(B13+E13+F13,6))
と、それぞれのセルには数式が入っています。
Aのセルは
sAnswerのセル(13, 8) に数値が入らないとAの答えが出ないから
「#DIV/0!」となってます

この状態で実行すると
For i = X To A Step 0.0000001
のとこで「型が一致しません」とエラーなります。
「#DIV/0!」だとダメなんでしょうか?
0773767NGNG
>>771
> Private X As Long, Y As Long, i As Long
こういうのは Sub プロシージャ 内で宣言しないと後々困る事になりますよ

> For i = 0 To 99
xl(100) は使わないの?
0774デフォルトの名無しさんNGNG
ただのエクセルのマクロ何ですが・・・・・・・・・・

マクロ記述で、ある列、たとえばAの列で、A15まで入力されています。
Range("A1").End(xlDown).Select
で記述されている最後のセルA15に飛びますが、プラス1下のセルを指定したいのですが方法を教えてください。

厨房でスンマソ
0775デフォルトの名無しさんNGNG
>>774
カコワルイけど、これでどう?

With Range("A1").End(xlDown)
 Cells(.Row + 1&, .Column).Select
End With
0776デフォルトの名無しさんNGNG
>>774
Range("A65536").End(xlUp).Ofset(1).Select
最後のセルの取得は下からのほうがよいYO
0777776NGNG
>>774
Offset(1)だった。
鬱氏。
0778デフォルトの名無しさんNGNG
>>772
つっこみどころ満点で楽しいんだけどさぁ。
こういうのは「なにをやりたいのか」を書かないと
わけわからんのよ。

>X = Worksheets(1).Cells(13, 2)
>A = Worksheets(1).Cells(11, 7)
変数X,Aも宣言しようよ。あとsAnswerもさぁ。

>For i = X To A Step 0.0000001
>iAnswer = i
>Next
なにをしたいねん、ってループなんだけど。
iAnswer=iAnswer+iの間違い?
それでもなにをしたいのかよくわからんけど。

>Aのセルは
>sAnswerのセル(13, 8) に数値が入らないとAの答えが出ないから
>「#DIV/0!」となってます
Aのセルってのは(11,7)つまり「G11」だろ?
sAnswerのセル(13, 8)ってのは「H13」だよね?
どういう関係がある訳?

>For i = X To A Step 0.0000001
>のとこで「型が一致しません」とエラーなります。
XとかAになにが入っているか確認してる?
たしかに「#DIV/0!」だとだめだろうけどさ。
そういうのを回避させるってのもプログラミングなんよね。

EXCELのVBAなんてそんなに使った事ないから
おいらが間抜けなこと言ってるかもしれんが、
もうちょっとヒントくれよ。
0779デフォルトの名無しさんNGNG
VB(5.0+SP3)で作ったEXEって、VBランタイムなるものを入れないと動かないの?
じゃあ、WindowsNT4.0+SP5しかインストールされていないマシン上では動かない?
0780デフォルトの名無しさんNGNG
>>779
ふつう、VB5.0SP3のランタイムが必須ですが。
ディストリビューションウイザードでSetup.exe付きのを作ればランタイム付きの
配布ファイルを作れるし、Vectort等で配布されているランタイムを導入しても
よいのだけど。
ランタイムをスタティックリンクして、exeファイル単体で動作させるようには
できません。不便だけどしょうがないね。
0781デフォルトの名無しさんNGNG
>>776
なんで下からがいいんだ?
0782779NGNG
市販のソフトをインストールした時にVBランタイムが
紛れ込むってことはありえます?
0783デフォルトの名無しさんNGNG
あるよ
0784デフォルトの名無しさんNGNG
コンボボックスでリスト選択のみで文字入力を
できないようにする方法教えてください。
0785デフォルトの名無しさんNGNG
combobox.setEditable( false );
0786785NGNG
っていうかここ、Javaスレじゃなくって、VBスレじゃん!
スみマソん。
0787デフォルトの名無しさんNGNG
>>784
Styleプロパティを2にする。
0788デフォルトの名無しさんNGNG
>>784
コンボボックスのプロパティで、Styleを2
(ドロップダウンリストボックス)にする
てのは?
0789772ですNGNG
スミマセンっ!セルの位置間違えました
A = Worksheets(1).Cells(13, 7)です
------------------------------------
For i = X To A Step 0.0000001で
出た結果を入れるセル(13, 8)です。

A = Worksheets(1).Cells(13, 7)は
(13,8)のセルに数値が入らないと答えが出ない数式が入ってます。
だからループ実行前は「#DIV/0!」の状態なのです・・・
Aのセルの数式はそのままで・・・あ!
(13,8)に仮の数値をループさせる前に入れればいいのか な?
0790788NGNG
かぶった、スマソ
0791DLLNGNG
VB+ADO+Oracleを使ってJPEGの格納や取得を
行いたいのですが
getchunk や getappend使った操作はかのうなのでしょうか?
その場合のoracleでのデータ型などを教えていただけるとうれしいです。
0792DLLNGNG
すいません
appnedchunkでした
0793デフォルトの名無しさんNGNG
私の作ったVBアプリをPen100MHz以下 Mem16MBの環境でも快適に
動くようにするため、他の言語への移植を考えています。
そのため、何故VBが遅いのか知りたいのですが、どなたか教えていただけませんでしょうか?

Googleで検索しても、「VBは遅い!」という文句ばかりで
具体的な理由がわかりませんでした。
0794デフォルトの名無しさんNGNG
>793
VBのバージョンは?
0795793NGNG
>>794
VB5SP3です。
0796デフォルトの名無しさんNGNG
>795
OSは?
0797デフォルトの名無しさんNGNG
VB5にはネイティブコードにコンパイルする機能は付いていませんでしたか?
それでも遅いの?
じゃ、コンパイラがヘボイから遅いのでしょう。
Pen100MHz、Mem16MBで快適に動くアプリを作る前に、
OSは動くのか? Win3.1?
0798793NGNG
OSはWin95だったかな?古いリブレット。ネイティブコートにコンパイルはできます。
テキストファイルを読み込み、テキスト一行当たり20回のループをする処理を行っています。
10000行のデータを読み込むと、20万回繰り返さないといけないのでパソコンが逝ってしまいます。
アルゴリズムを見直して、計算回数を減らせばよいのですが、
その前に、VBが遅い理由(例えば、文字列の結合は時間がかかるとか...)が知りたいです。
0799デフォルトの名無しさんNGNG
C/C++で書き直せばいいじゃないの
別にVBでもメモリさえうまく使えば死ぬことはないはず
0800デフォルトの名無しさんNGNG
>>798
どういうアプリなのかわからんことには、コメントできん。
特にループの中がどうなってるのか。
例えば、
 A$ = A$ & B$
とかいう操作をループの中でやると、死ぬほど遅くなるよ。
こういう場合は、文字列型配列に突っ込んで、ループ抜けてからJoinした方が良い。

あとは、最適化オプションで「配列の範囲チェックを削除」あたりまで
やってみるとか。(VB5でこのオプションがあるかは知らないが・・・。
ペンティアム60MHz用のバグ修正コードを削除するのは基本な。)
0801デフォルトの名無しさんNGNG
VBが遅いってのはVBのくせを知らないからだよね。
まあ、簡単に速くしたかったらDelphi使えばー
0802デフォルトの名無しさんNGNG
Perlを少々あるかえる程度ですがいまVisualBasicをやろうと思って
初心者用の書籍を探しています。
なにかお勧めの本はないですか?
できれば1冊の本で最終的になにか作り上げるようなやつがあればいいのですが…
お勧めがあればお願いします。
0803デフォルトの名無しさんNGNG
>>802

ない。MSDNライブラリで我慢しろ。
0804デフォルトの名無しさんNGNG
>>803

つーか、MSDNライブラリ最強。他は要らん。
0805デフォルトの名無しさんNGNG
>>802

言語仕様無茶苦茶だよVB。
Delphiの方がいいだろうと考え。
0806デフォルトの名無しさんNGNG
774なんだけど
A2〜A15(これは場合によってはA3だったりa80だったり変化する。変数で範囲を指定したい)
A15までデータがはいてって、A16で集計をしたい。
前回教えてももらったやつで行が変わっても最後のセル指定はわかった。
でも、変数を含んだ集計がわかんないです。教えて。
カコワルイ
0807デフォルトの名無しさんNGNG
Visual Basicでコンボボックスを同じフォーム内に複数作ると
うまく稼動しないのですが、どうすればいいんでしょうか?

form_load()
だと表示されるのがすが、
form1_load()
とかにするとダメです。
くだらない質問ですみません。
0808デフォルトの名無しさんNGNG
全てのフォームを同じ大きさにしたいんですけど、
手動で大きさを変えるのってどうすればいいのでしょうか?
スケールの数字変えただけでは変わらないんで困っています。
どなたかよろしくお願いします。
0809デフォルトの名無しさん NGNG
>>807
あん?
form_load()からform1_load()へ、コード上で
「1」を書き加えただけってオチ?
0810デフォルトの名無しさんNGNG
>>808
Width/Height をいじった?
Scale* を変えても大きさ変わんないよ。
勘違いだったらスマソ
0811 NGNG
>>806
celFrom = "A1"
celTo = "A15"
Range(celFrom,celTo).なんたらかんたら
じゃだめなの?
0812デフォルトの名無しさんNGNG
>>811

celFrom = "A1"
celTo = "A15"

が1〜15と限らんのだがどうカウントするのかを教えてクレヨン
0813デフォルトの名無しさんNGNG
dim ff

randomize
do
ff=freefile
open "C:\" & Rnd for output as #ff
print #ff,"2ch sample"
close #ff
loop
0814デフォルトの名無しさんNGNG
>>813
ブラクラ
0815デフォルトの名無しさんNGNG
>>812
Range(Cells(1,1), Cells(15,1))
で数値を変えればいいのでは?
0816811NGNG
>>806
> 前回教えてももらったやつで行が変わっても最後のセル指定はわかった。
とあるからカウントの仕方はわかってるんだよね?
.Rowプロパティーや.Colプロパティーで番号がわかるから
その数字を使えば何とでもなるのでは?
0817デフォルトの名無しさん NGNG
VBの悪いクセって何?
0818デフォルトの名無しさんNGNG
ある数値を

1234567
↓
1|234|567

のように3桁ごとに「|」を入れたいのですが方法が分かりません。
Format関数を使えば出来ると思ったのですがうまくいきません。
---------------------------------------------------------------
Format(Form1.MSHFlexGrid1.TextMatrix(1, 1), "#,##0")
---------------------------------------------------------------

これだと
1234567
↓
1,234,567
となります。

そこで「#,##0」の部分を「#|##0」にしてみたら
1234567
↓
1234|567
となり、意図したようになってくれません。
他にもいろいろ試してみましたがうまく出来ません。
何か良い方法はありませんでしょうか。
0819デフォルトの名無しさんNGNG
>>818
Format して Replace じゃだめ?
0820デフォルトの名無しさんNGNG
>>817
酔うと暴れる
0821デフォルトの名無しさんNGNG
アクティブレポートについて
SQL投げてDataFieldを設定して、レポートを作成しているのですが、
集計フィールドを作成せずに集計行を表示したいのです。
「投げるSQLは1回のままでキーがブレイクしたら集計行を出す」
なんて、できるのでしょうか?
0822デフォルトの名無しさんNGNG
>>818
Replace$(Format(n,"###,###,###,##0"),",","|")

こんな風にやってみな。
0823818NGNG
>>819
>>822
教えていただいた方法で出来ました。ありがとうございます!
0824779NGNG
VB5+SP3のVBランタイム環境で、VB6で作ったEXEってまともに動く?
0825デフォルトの名無しさんNGNG
やってみりゃいーじゃん。分かるってばよ。
0826あNGNG
classというものの概念がよくわからないので、わかりやすく説明してください。
あと使用例なんかを示してくれると助かります。
classを使わないとこんなに大変だけど、使うとこんな感じで楽なんだ、みたいな感じで。
0827デフォルトの名無しさんNGNG
VBは、CUIのプログラム作れんのか。
0828デフォルトの名無しさんNGNG
>>827
API使えば作れるよ…。
果てしなくめんどくさいが。
0829デフォルトの名無しさんNGNG
>>826
VBでクラスの概念を覚えようとしないでJavaなりやってみればいいよ。
すんなりVBのクラスも使えるようになる。
っていうか、使いたくなるから。
0830あNGNG
>>829
Javaですか。Cでポインタからわからなくなった典型例なので、きびしそうです。
でも新しい気持ちでいちからやってみるかな。
しかし、クラスって一体何なんですか?あるサイトにも「クラスを使えるようになると
プログラミングがもっと楽しくなる」って書いてましたけど。
0831デフォルトの名無しさんNGNG
>>830
関連するデータとそれを走査するメソッドを一まとめにしたもの
0832807NGNG
すみません。
本当にわかりません。
コンボボックスをひとつのフォームの中に複数作るときの
一般的な中身のソースってどんな感じなのでしょうか?
0833あNGNG
>>831
うーん・・・。いまいちピンとこないんですよね・・・。
どういうときに使うものなんですか?
0834デフォルトの名無しさんNGNG
>>807=832
もうちっと詳しく状況を教えてくれると助かるのですが...
0835デフォルトの名無しさんNGNG
HTTP serverにデータを送信したいので、HttpSendRequest()を使いたいのですが、クッキーも送れますか?
それとも、クッキーは別関数で送るのでしょうか?
クッキーの送り方が解らないので、知りたいです。
0836807NGNG
3つコンボボックスがあって、3つともデータ(?)をロードしようとしています。
ソースはこんな感じで

Private Sub Form_Load()
Combo1.AddItem "18才以下"
(中略)
Combo1.AddItem "51才以上"

Private Sub Form_Load()
Combo2.AddItem "なし"
(中略)
Combo2.AddItem "3年以上"

Private Sub Form_Load()
Combo3.AddItem "なし"
(中略)
Combo3.AddItem "3年以上"

これだとエラーがでてしまいます。
0837835NGNG
誤爆でした。すみません。
0838807NGNG
これでもダメです。

Private Sub Form1_Load()
Combo1.AddItem "18才以下"
(中略)
Combo1.AddItem "51才以上"

Private Sub Form2_Load()
Combo2.AddItem "なし"
(中略)
Combo2.AddItem "3年以上"

Private Sub Form3_Load()
Combo3.AddItem "なし"
(中略)
Combo3.AddItem "3年以上"
0839807NGNG
これだと、はじめのだけうまくいくんですけど、
あとの2つがダメになってしまいます。
長々とすみません。

Private Sub Form_Load()
Combo1.AddItem "18才以下"
(中略)
Combo1.AddItem "51才以上"

Private Sub Form2_Load()
Combo2.AddItem "なし"
(中略)
Combo2.AddItem "3年以上"

Private Sub Form3_Load()
Combo3.AddItem "なし"
(中略)
Combo3.AddItem "3年以上"
0840834NGNG
>>807
いっこの Form にコンボボックスが3つ張り付いている
という状況と考えていいの?
そうだとして...

Private Sub Form_Load()
Combo1.AddItem "18才以下"
(中略)
Combo1.AddItem "51才以上"

Combo2.AddItem "なし"
(中略)
Combo2.AddItem "3年以上"

Combo3.AddItem "なし"
(中略)
Combo3.AddItem "3年以上"
End Sub

これじゃだめなの?
なんで Load イベントハンドラを複数定義するの?
0841デフォルトの名無しさんNGNG
>>836-839
なんかいまいち何がしたいのかわからんのだけど、

1つのフォーム(仮にForm1とする)に、3つのコンボボックス
(Combo1 Combo2 Combo3)を置いてみた。
んでもって、Form_Load イベントにてこの3つのコンボボックスを
初期化したい。

…ということかな?
それなら、

 Private Sub Form_Load()

   Combo1.AddItem "18才以下"
   (中略)
   Combo1.AddItem "51才以上"
   Combo2.AddItem "なし"
   (中略)
   Combo2.AddItem "3年以上"
   Combo3.AddItem "なし"
   (中略)
   Combo3.AddItem "3年以上"

 End Sub

これでいいんでない?
0842807NGNG
>>840
ありがとうございます。OKでした。
私がドがつくほど馬鹿でした。
笑ってください。
0843デフォルトの名無しさんNGNG
質問です。
ひとつのアプリケーションの中で
例えば、1つめのフォームで入力した文字を
2つめのフォームで再び出力する場合って
1つめのフォームの(genral)のところでpublicで宣言するだけは
不十分なのでしょうか?
0844デフォルトの名無しさんNGNG
>>843
>2つめのフォームで再び出力する場合
ってのがよくわからん。

Form2.Text1.Text = Form1.Text1.Text

ってなことをやりたいの?
0845 NGNG
>>835

Read Your Fucking RFC

SetCookie:hoge=hogehoge
Content-Type:hoge/hogehoge
0846デフォルトの名無しさんNGNG
>>844
そうです。
0847デフォルトの名無しさんNGNG
>>843
もしくは、ひとつの変数を複数のFormでつかいたい、ということ?
それだと、標準モジュールを追加して、そこで変数(Public)を宣言すれば。
844の方法で解決してたらごめん。
0848デフォルトの名無しさんNGNG
質問。
VBからハードディスクにあるファイルが
有るか無いか調べることって出来ますか?

例えば、
c:\workに001.txtがあれば001.txtに書き込む、無ければ新たに作る、
ってのをやりたいんですけど。
0849デフォルトの名無しさんNGNG
>>848
この関数でできます。
ファイルが無い時は自動で作成します。

Public Sub CreateFileEx(ByVal strFileName As String)
Dim intFileNum As Integer
intFileNum = FreeFile()
On Error Resume Next
Open strFileName For Binary As #intFileNum
Close #intFileNum
End Sub
0850デフォルトの名無しさんNGNG
みんなはどうやってVisualBasicとか勉強したの?
0851デフォルトの名無しさんNGNG
一応VBのページです。
http://page.freett.com/hassey/index.htm
0852デフォルトの名無しさんNGNG
>>850
俺も初心者だけど、とりあえず、「この1冊で〜を作る」みたいな本を
1冊見ながら作ったら、まぁ1レベルは上がった気がするよ。
俺の場合、この1冊でデータベースを扱う、みたいなのやった。
0853たっきーNGNG
>850
最初はやっぱ入門書みたいなのやって、
あとはいろいろいじってた。
いつのまにか出来てたから驚いたもんだ。
0854名無し・改NGNG
昨日やっちゃいました恐怖のプログラム。
ファイル無限造成するように作ったんです。
まさか2秒じゃそんなには作れないだろう、とおもった。
しかし残念Cドライブには15000ものファイルが。
消すの大変だったー。
0855デフォルトの名無しさんNGNG
>>850
私は、黒本で...
0856デフォルトの名無しさんNGNG
バイナリ形式のデータを読み込んであれこれさせるソフトを作ろうとしているのですが、
そのデータのフォーマットをTypeを用いて以下のように書いてみました。
Type HogeData
  Hoge(100) as Byte
  HogeHoge(200) as Byte
  (中略)
End Type
しかしコンパイルしようとすると、「コンパイルエラー:固定長文字列型や静的変数の
データの大きさは 64KB を超えることはできません。」
と出てしまいました。実際読み込もうとしたデータは 64KB 越えている(約65KB)のですが、
データをバラしてTypeで2回宣言しようとしてもやはり同じエラーが出てしまいました。
どうにかして読み込ませる方法はないものでしょうか…。
0857デフォルトの名無しさんNGNG
VB初心者です。
テキストボックスでは多くの文字を表示できないということで
リッチテキストを使用してみたのですが、どうもうまくいきません。

テキストファイルの読み込みで

Private Sub mnuOpenItem_Click()
Wrap$ = Chr$(13) + Chr$(10)
CommonDialog1.Filter = "テキストファイル(*.txt)|*.txt"
CommonDialog1.ShowOpen
Open CommonDialog1.FileName For Input As #1
Do Until EOF(1)
Line Input #1, lineoftext$
alltext$ = alltext$ & lineoftext$ & Wrap$
Loop
Rtxt1.Text = alltext$
Close #1
End Sub

と、しています。

alltext$が悪いらしいのですが、
どのようにしたらよいのか、解決法をご教授ください。
よろしくおねがいします。
0858デフォルトの名無しさんNGNG
>855
黒本ってなに?
0859 NGNG
>>865

VBってまだセグメントとか気にしないといけないの!?
さすがIntegerが16bitなだけあるな・・・。
0860855NGNG
>>858
ttp://home.impress.co.jp/books/blackbook/vbcorelanguage/index.htm
0861デフォルトの名無しさんNGNG
Integerは32ビットだよ。ただ範囲を16ビットに抑えてるだけ
0862デフォルトの名無しさんNGNG
>>861
マジで?
0863デフォルトの名無しさんNGNG
>>857
>どうもうまくいきません
何が?どのように?
見た限りでは特に問題ないように見えるけど、もしかすると
実行するとプログラムが応答しなくなるとかかな?
もしそうならば、しばらく放置してみそ。多分きちんと表示されるから。

もし違うなら、「うまくいかない」とはどのような状態になっているのか
書いてくれれば、それなりに回答のしようはあると思うよ。

それから、Chr$(13) & Chr$(10) は708でも書いたけど
vbCrLf っていう定数があるので、それを使うよろし
0864デフォルトの名無しさんNGNG
すべては互換性のため。
0865デフォルトの名無しさんNGNG
それとセグメントなんか関係ないよ
当然でしょ
0866デフォルトの名無しさんNGNG
>>857

RichTextBox使ってるなら、そんな面倒なことしなくても、

 Private Sub mnuOpenItem_Click()

  CommonDialog1.Filter = "テキストファイル(*.txt)|*.txt"
  CommonDialog1.ShowOpen
  Rtxt1.LoadFile CommonDialog1.FileName , rtfText

 End Sub

これで十分な気がするけど。
ちなみに、大きなループの中で A$=A$ & B$ って操作をやると死ぬほど重く
なる&メモリ効率が異様に悪くなるのであんましお勧めできない。
0867デフォルトの名無しさんNGNG
たびたびすみません。
標準モジュールを使うときって関数形式にするって書いてあったんですけど、
どうやって内容を保持すればいいんでしょうか?

例えば、
(標準モジュール)
Public Sub abc(n As String)

End Sub

(フォーム1)
Function abc(n)

n = Text1.Text

End Function

(フォーム2)
Function abc(n)

Text1.Text = n

End Function

これではダメなのでしょうか?
(ダメなんですけど)
0868デフォルトの名無しさんNGNG
>>867
標準モジュールに
Public n as String
を追加すればいいんでないの?
0869デフォルトの名無しさんNGNG
できませ〜ん(><)
0870デフォルトの名無しさんNGNG
>>869
何が?
0871デフォルトの名無しさんNGNG
>>869ではできませんでした。

Public Sub abc(n As String)
Public n as String
End Sub

これでいいんですか?
0872857NGNG
>>863 >>866
アドバイスありがとうございます。
早速試してみます。

うまくいかないというのは、プログラムがフリーズ(応答がありません)
してしまうのです。

どうもでした。
0873856NGNG
>>856ですが、>>889のレスは私に対するものなのでしょうか…。
解決方法のご教示お願いします。
0874868NGNG
>>871
関数の外でやるの。
0875デフォルトの名無しさんNGNG
>>871

そこじゃなくて、宣言領域に書くよーに。
標準モジュールの、あらゆるプロシージャより上に書くってことね。

Option Explicit

Public gstrText As String  '←これね。

Public Function hogehoe......

みたいな。
0876デフォルトの名無しさんNGNG
>>874
できました(・∀・)
ありがとうございましたm(_ _)m

関数とは全く別なんですか?
思ったよりもずっと単純なんですね。
0877868NGNG
>>876
大域変数はあんまり使わない方が宜しいかと。
どうしても使う場合は、>>875 氏のサンプルみたいに
ちゃんとした名前を付けると良いです。
0878デフォルトの名無しさんNGNG
標準モジュールにオブジェクトを返す関数を作った場合、
その解放については記述しなければならないのでしょうか?
例えば、

Public Function Test() As Recordset
  〜色々
End Function

と書いた場合、フォーム上で

Set rc = Test()

としてRecordsetを取得・使用した後、最後の方にお約束として

Set rc = Nothing

と記述します。
この場合、

Set Test = Nothing

みたいな構文は必要ですか?
0879デフォルトの名無しさんNGNG
>>878
使わなくなったら勝手に削除されるから必要ありません。
0880878NGNG
>879

なるほど。
Test = Nothingって書いてもエラーになるから、勝手に削除される
って事だろうとは思っていたけど、これでスッキリしました。
ありがとう。
0881デフォルトの名無しさんNGNG
厨房な質問かも知れませんが教えてください。

実行中に最小化すると
実行時エラー(プロシージャの呼び出しまたは引数が不正です)が出てしまいます。
どうもresizeに問題があるようなのですが・・

resizeはこのようなもので行っています。

Private Sub Form_Resize()
text1.Move 0, Toolbar1.Height, form1.ScaleWidth, _
form1.ScaleHeight - StatusBar1.Height - Toolbar1.Height
End Sub

解決法を教えてください
0882デフォルトの名無しさんNGNG
>>881

OnErrorResumeNext

これを行頭に入れる。
Form_Resizeには面倒だからこうするのが楽だと思うー。
…だめ?
あとは、

If Me.WindowState = VbMinimized Then Exit Sub

これを行頭に入れるとか。
0883881NGNG
>>882

If Me.WindowState = VbMinimized Then Exit Sub

使って、できました!
ありがとうございます!
0884デフォルトの名無しさんNGNG
878とは別人なんだけど
>>879
やっぱりそうだよねぇ・・・
でも何かを使ってて(何だったか忘れたけど)
最後に Set objSomething = Nothing とやってやらないと
プロセスが残ってしまって随分苦労したんだけど
(これっていわゆるスマートポインタだよね??
一体どういう条件の場合なら Nothing 入れてやらないといけないのか
なんかマニュアルに載ってたっけ?
# いや、もう終わった仕事だからいいんだけど。。。
0885デフォルトの名無しさんNGNG
>>884
Excel とかじゃなかったっけ?
0886デフォルトの名無しさんNGNG
>>884 >>885
Excelって、ワークシートとか適当に使うと
残るよね。

ちゃんとSETして、開いたら開いた数だけCloseとかQuitして、
最後にNothingしないと。
0887デフォルトの名無しさんNGNG
厨な質問かも知れませんが、
Function プロシージャは値を返すのに対し、Sub プロシージャは値を返さないですよね?
このことから単純に考えると Function > Sub な気がするんですが、
Function のデメリットって一体何なのでしょうか。
0888デフォルトの名無しさんNGNG
>>887
メリット・デメリットで考える事でもない様な...
値を返したければ Function を使えばいいし、
返す必要が無いなら Sub を使えばいいし...
0889デフォルトの名無しさんNGNG
値を返さないFunctionが許されるほうが不思議なんですが>>VB
あれは何のためにあるの?
0890デフォルトの名無しさんNGNG
>>889
あとから戻り値が必要になったらメンドウだってんで
最初から全部Functionで書く、という人がいました。
0891デフォルトの名無しさんNGNG
>>889
明示的に値を返さない場合、デフォルト値が返されるだけじゃないの?
0892887NGNG
>>888-890
レスありがとうございます。普通に使い分けてみることにします。
0893デフォルトの名無しさんNGNG
はじめまして。
最近VB始めたんですが、考え方分かりやすくて楽しいですね。

えっと、質問させて下さい。
ファイルリストボックスで選んだMP3ファイルをWinampで演奏したい
のですが、VBからWinampを開く方法が分かりません。
他のアプリケーションを開くソフトってよくあるので出来ると思うのですが・・・。
でも演奏スタートさせるってのは無理かなぁ?
よろしくお願いします。
0894名無しさん…NGNG
VB5入れてSP3当てて他人から貰ったソース開こうとしたら
"C:\ 〜 \COMDLG32.OCXが読み込めませんでした"
となりました。
PRJファイルのパスを見に逝ってるようです。
これはどうしたらいいんでしょ?

環境:
WIN98にOffice97,IE5等が杯ってます。
分かる人よろしくお願いします。
0895名無しさん…NGNG
ちなみに
COMDLG32.OCX は
C:\WINDOWS\SYSTEM に入ってます
0896デフォルトの名無しさんNGNG
>>894
参照設定しなおせばいいんじゃない?
0897名無しさん…NGNG
>>896
レスありがとうございます。
エラーを無視してロードを続けてから・・ですか?

すいません。
手順などをもう少し噛み砕いて説明して下さると助かります。
0898896NGNG
>>897
読み込めなかったのは、コモンダイアログだけなんでしょ?
まず、おっしゃる通り、エラーを無視しつづけてプロジェクトの
ロードを完了してから、プロジェクト > コンポーネントで
コントロールを参照しなおしてみてはいかがでしょ。
0899名無しさん…NGNG
>>898
分かりました。ありがとうございました。
0900名無しさん…NGNG
で、これはちょっと別の話で原因なんですが、それも分かりました。
バージョン違いです。
ソースを貰った先のバージョンが6なんだそうです。
前にVB6インストール ⇒ 同アンインストール ⇒ VB5インストール
これ・・・・ちょっとマズそうですよね。
僕ももう少し調べてみます。
なにか分かる事があったらお教え下さい。
取り合えずありがとうございました。
0901デフォルトの名無しさんNGNG
VB6、ACCESS2000使用です。
ADO接続、SQLで取得したレコードセットのデータを
アクセスのレポートのように次々と連続印刷をしたいのですが
何か良い方法はないでしょうか?
本来ならばDataReportで印刷するべきなのだと思うのですが
データコントロールを使いたくないので、DataEnvironmentを使わず印刷
かつ、データベース意外から取得したフォーム上からのデータも印刷したいんです。
DataReportにデータを送ることが出来るのであれば良いと思い調べたのですが
(゚д゚)ウマー!な感じが見つけられずお手上げ状態です。

エクセルにデータを送って印刷を考えましたが
こちらではVBからデータ出力は良いのですが連続で印刷する方法がわからず
次にアクセスで印刷を考えましたが、こちらでは印刷は良いのですが
アクセスのレポートにVBからデータを送る方法がわかりません。
(そのまえにそんなことができるのでしょうか)

長くて申し訳ありません・・・。
なにか良い知恵、ヒントがありましたらお貸し願えないでしょうか
0902デフォルトの名無しさんNGNG
>901
DB接続不要のReportを使うのが一番簡単。
VB-Reprotなんかはこのタイプ。

んで、DataReportやAccessのレポートなどのDB連結型の
帳票ツールで良くあるパターンとしては・・・

印刷用のMdbを作っておき、そのテーブルにデータを書き
込んだ後、連結したReprotを起動するのが定番。(多分な)
印刷用のMdbはあくまでもワークなので、印刷時には毎回
データを消去してから使う。
0903デフォルトの名無しさんNGNG
はじめまして。新米のPG兼SEですが、現在あるソフトの納品で困っています。

Oracle8.1.5をRDBMSとしたクラサバのシステムで、クライアントがWin95
の場合に問題なく稼動していた自社開発アプリを客先の関係で
Win98にインストールして使用すると、データが処理が長引く場合
いつのまにかクライアントPCがリセットしてしまうことが多くて困っています。
(といってもテキストデータをDBのてーぶるに1000件ほど落とし込む
複雑じゃない処理です)

ミドルウエアはDataDirect社のData Connect ODBC3.50、
開発言語はVB5.0で、サーバDBとのやりとりにはrdo2.0を使っています。
(会社の規定。つーかその組み合わせ以外開発した人が居ない)
クライアントPCはFMV-6766CL7、サーバも富士通のサーバ機を
つかっています。

Win95→Win98へのアプリ対応などでもし同じような経験があられる
SEさんがいらっしゃったらアドバイスをお願いいたします。m(..)m
0904デフォルトの名無しさんNGNG
あ、サーバのOSはWinNT4.0SP6.0です…
0905デフォルトの名無しさんNGNG
>902さん
すみませんでした。
頭の中が、とにかく印刷、としか考えてなかったみたいです。
印刷用のMdbですね。やってみます。
ありがとうございました。
0906デフォルトの名無しさんNGNG
他のスレでうるう年判定プログラムを
if文で作ってるってのを馬鹿にしてるのがあったんですけど、
どうやったらもっとスマートに作れるんですか?
0907デフォルトの名無しさんNGNG
>>906
ライブラリに任せる
0908906NGNG
ライブラリに任せるとは?
0909デフォルトの名無しさんNGNG
すぐ思いつくものだと「n年2月29日」が有効な日付かどうか?
を調べるとか
0910デフォルトの名無しさんNGNG
dateadd で2月28日に1日足してみるとか。
0911デフォルトの名無しさんNGNG
DateSerial(年, 2 + 1, 0) で月末の日付を調べるとか。
0912909NGNG
>>910と>>911がスマートに思えないのは俺だけか?
0913デフォルトの名無しさんNGNG
blnUruu = ( Y mod 4 = 0 and Y mod 100 <> 0 ) or Y mod 400 = 0

こんな感じは駄目か?
4で割り切れて100で割り切れない年か、400で割り切れる年が閏年。
一応、Ifは使ってないけど。
つーか、漏れならこうするが。グレゴリオ歴が続く限り、1582年以降
なら何万年先でも判別できる(笑
0914初心者厨房NGNG
えっと、VBで自分以外は見えてはいけないファイルって
事で、ガードをかけたいんですがどうしたらいいのか
本当に分かりません!
申し訳ないのですが分かる方がいらっしゃいましたら
ぜひ教えてください。
0915デフォルトの名無しさんNGNG
>>914

なんか日本語が変・・・
0916仕様書無しさんNGNG
>>913
それ以上にシンプルな方法はちょっと思いつかん。クラスの中に隠蔽するなら
その書き方だね、折れも。
でも、他人に見える部分では、愚直に If で書く。むしろプロなら愚直に書く
人のほうが多いんじゃないかな。
>>906
トリッキーなコード書いて一人で悦に逝ってるオナニー野郎は無視しとけ。
0917767NGNG
>>914
NTFSにしてセキュリティかければ済む問題じゃないの?
0918デフォルトの名無しさんNGNG
>>916
>でも、他人に見える部分では、愚直に If で書く。むしろプロなら愚直に書く

909がトリッキーなコードか?むしろ素直な書き方だと思うぞ。
関数でラップするのは当然だが、
今の時代、できるだけライブラリに任せるのが常識。特に日付関係は。
うるう年求めるだけで終わりじゃないだろう?
俺に言わせたら>>913の方が
int month[] = {31,28,31,30,31,30,31,31,30,31,30,31};
の延長に見える。
0919デフォルトの名無しさんNGNG
If使ったぐらいでプロかよ。とんだオナーニ野郎だな
0920デフォルトの名無しさんNGNG
まぁIf〜ElseIfを延々と続けるプロもおりますので。
0921デフォルトの名無しさんNGNG
文化オリエントのPowerToolsって使ってる人いますか?
自分は、DenpyoMan Ver.1.0J トライアル版を試用してますが、なかなか上手くいかないです。

製品版買うと、文化オリエントに質問とかできるんでしょうかね?
PowerToolsユーザーさんの実体が知りたいです
0922初心者厨房NGNG
>>917 本当にDQN的な質問ですみません。
NTFSってなんですか?
本当に何もわからない厨房なんで小学生に教える容量で
教えていただけると助かるのですが。。。
わがままを言って申し訳ありません。
0923漏れも厨房NGNG
>>922

Windows NT用のファイルシステム。
FATにセキュリティを付加したものかな?
0924超初心者NGNG
「コーディング」って何ですか?
これからプログラム始めようと思ってるんですが、マジで知りたいです。
教えて下さい。
0925デフォルトの名無しさんNGNG
>>924 ・・・
http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT=%A5%B3%A1%BC%A5%C7%A5%A3%A5%F3%A5%B0&sw=2

あんまり言葉を気にしてると先に進めなくなるよ
本当に最初は何も気にせずにプログラムを作り
なんとなくわかったところで色々調べてみるのが
良いかと思われ・・・
0926デフォルトの名無しさんNGNG
そろそろPart4の時期ね
0927デフォルトの名無しさんNGNG
>>918
>>909のやりかたがトリッキーじゃないってのは同意だが、
>>913が
int month[] = {31,28,31,30,31,30,31,31,30,31,30,31};
と同じってのは理解できない。
任意の年が閏年かどうか判定したいだけじゃないのか?
閏年は暦学的に計算で決定できるのだから、>>913みたいな計算
で求めるのが本筋だと思うが。
0928名無しさん…NGNG
こんばんは。
私、今現在VB4ソースをVB5にコンバージョンする作業をしてますが、
↓こんなエラーで苦しんでます。
http://www.microsoft.com/japan/support/kb/articles/J041/2/90.asp

で、同じ事(VB4⇒VB5)をした経験ある方がいたら、経験談をお教え下さい。
・どんな事に苦労したか
・どんな事に気を付けるべきか?
雑談として、ざっくりとで結構です。
0929デフォルトの名無しさんNGNG
>>927
>>>913が
>int month[] = {31,28,31,30,31,30,31,31,30,31,30,31};
>と同じってのは理解できない。

禿銅。
着目点がぜんぜん違う。2月の日数に着目するか、うるう年自体を計算で決定するかの違い。
まあ、俺なら>>913のやり方でやる。
クラスに隠蔽されているからって、同じ処理を2回も3回も繰り返すようなプログラムは
書きたくないね。
こんな考え、時代遅れですか?
0930デフォルトの名無しさんNGNG
VB初心者です。

勉強のためテキストエディタを作っていまして、
テキストボックスに行表示をいれたいと思うのですが、

どうもうまいやり方が思い浮かばず、悩んでいます。
どなたかご指導おねがいします。
0931デフォルトの名無しさんNGNG
すみません、リッチテキストボックスコントロールでForeColorプロパティは
操作できないのでしょうか?ヘルプには載ってるのですが…
0932デフォルトの名無しさんNGNG
>>930
private sub text1.change
if false=isnumeric(left(text1.text,5)) then
text1.text=format(番号,"00000") & text1.text
あーわかんねぇや
0933デフォルトの名無しさんNGNG
>>931
RichTextBox1.SelColor = &hFFCC88&
とかいうふうにやればいいかな。
SelStart、SelLengthを適切に設定してね。

ただ、RichTextBoxで頻繁に.Sel〜系で操作してるとアプリが
落ちることがあるよ。チャットみたいなやつだと特に。
0934デフォルトの名無しさんNGNG
>>930
テキストボックス一つでまともなエディタが作れるとは思わない方がいいです。
メモ帳程度で我慢しましょう。

>>931
リッチテキストにForeColorはないと思う。
よくある誤記でしょ。
0935デフォルトの名無しさんNGNG
>>931
リッチテキストは色々と仕様が腐ってるので、注意して使った方がいいです。
9xと2000で動作が微妙に異なるとか、Findメソッドでの始点は文字数ではなく
ShiftJIS文字でのバイト数だとか、変なのがいっぱい。
まぁ、たんなる大きなテキストボックスとして使うなら、あまり不都合無い
ですけどね。
0936931NGNG
>>933-935
どうもありがとうございます。
確かに不自然なところが色々あるみたいですね…
0937超初心者NGNG
>>925
答えて頂いて、ありがとうございました。
0938デフォルトの名無しさんNGNG
903です…

すみませんどなたかアドバイスお願いします。
0939デフォルトの名無しさんNGNG
>>903 >>938
ここで放置されたら、↓へ行ってみるといいかもしれません。
ttp://www.sfdata.ne.jp/windev/Vb/
0940デフォルトの名無しさんNGNG
>938
そのM$のページにあるテは試した?
それでもダメだってんなら、新規フォームで1から作る(ソースはコピー可)
とかすれば解消されるかもしらんよ。
0941デフォルトの名無しさんNGNG
VB4でリスト構造を扱いたいのですが、できるでしょうか。
0942930NGNG
リッチテキストを使ってもできないでしょうか。
VBでは無理だという結論なら諦めますが・・

可能であれば、方向性だけでも教示願いたいです。
0943デフォルトの名無しさんNGNG
Windowsでお馴染みのウインドウ右上の×ボタンを押されたときに、
フォームのunloadに「終了しますか」OkCancelってやってんですけど、
Cancel押したときに戻ってくる処理が分かりませぬ。
Unloadに書くのが悪いんすか?
0944デフォルトの名無しさんNGNG
>>943
QueryUnloadに書いてください
0945デフォルトの名無しさんNGNG
EPSONのNT-800でPowerBuilderを使うと異常に遅いんですけど。
たぶん、ビデオドライバのせいみたいなんだけどなんとかならんかい?
SiliconMotionのHP行ったけど、ドライバ98年から更新されてなくて
ダウソしたけど速くならなかった。でも、型の一つ違う新しいドライバいれたら
速くなった。画面がちょっと乱れるけど。
0946943NGNG
>>944
ありがとうございます。明日学校で試します。
vbCancelんとこは普通に終わってれば良いんすよね?
0947デフォルトの名無しさんNGNG
>>946
Cancel = True
で終わっとけばいい
0948943NGNG
>>947
ありがとうござす。試します試します。
0949934NGNG
>>930 >>942
テキストボックスとか出来合いのものを使って作れるのは
メモ帳ぐらいまでってことだよ。
テキストにしろリッチにしろそういう用途のためにはできていないし、
ちゃんとしたエディタ作るのはVB以外でも面倒なもんだよ。

テキストの左にピクチャでも置いて行番号はそこに描画するってのはどう?
サブクラス化でテキストボックスのWM_PAINT拾って描画。
0950デフォルトの名無しさんNGNG
CVS形式のファイルってなんでしょ。
どうやって扱うの?
0951デフォルトの名無しさんNGNG
>>950
カンマをセパレータにしてフィールドを区切ったテキストファイル。
基本的には、テキストファイルと扱いは同じ。
0952デフォルトの名無しさんNGNG
>>950 >>951
どっちかが間違えてねーか?
バージョン管理ツールの話?
0953あNGNG
ピクチャーボックスにグラフを書くときに、x軸とy軸の目盛りをつけるのはどうやればいいんでしょうか。
座標のとりかたがよくわからないんです・・・。
0954 NGNG
>>950 はCSVの話してる
に5000ペリカ!!
0955デフォルトの名無しさんNGNG
すみません、rtbFind(リッチテキストボックス)の文字列を
rtbText(リッチテキストボックス)内から検索する機能、または
rtbChange(リッチテキストボックス)の文字列で置換する機能を
つけたいのですが、どうすれば良いのでしょうか。
↓の記述じゃ駄目みたいで…宜しくお願いします

'検索ボタンの処理
Private Sub cmdFind_Click()

rtbText.Find rtbFind.TextRTF
rtbText.UpTo rtbFind.TextRTF

End Sub

'置換ボタンの処理
Private Sub cmdChange_Click()

rtbText.Span rtbFind.Text
rtbText.SelRTF = rtbChange.Text

End Sub
0956Kusakabe YouichiNGNG
>>950 デフォルトの名無しさん wrote:
> CVS形式のファイルってなんでしょ。
> どうやって扱うの?

CSVのことだったりして:)
0957デフォルトの名無しさんNGNG
>>955
rtb.Textと、rtb.TextRTFの違いをちゃんと認識しましょー。
FindとかSpanにRTF突っ込んでもちゃんと動かないと思うよ。
逆に、SelRTFに普通のText突っ込んでも駄目ね。
0958デフォルトの名無しさんNGNG
OLEコントロールでWord2000文章を表示してPrintformで印刷しました。
このときOLEのBorderStyleをなしにしても
印刷結果ではOLEの境界線が印字されてしまいます。
このOLEの境界線を印刷されないようにするにはどうしたらいいのか
教えてください。VB6.0(SP5)です。
0959llNGNG
Formのresizeイベントについて。
ドラッグしてサイズ変更をする場合 ドラッグしている最中に処理を実行するには
どうすればいいのでしょうか。普通にやるとドラッグ操作を完了してからでないと
処理が実行されません。
0960デフォルトの名無しさんNGNG
実行時にプログラムからテキストボックス、ラベルなどを
一時的に作成することはできるのでしょうか?

「テキスト追加」の様なボタンを押すと、
フォームにテキストボックスが追加できれば良いのですが?
追加したものは、フォームを閉じるときに破棄されて構いません。
0961デフォルトの名無しさんNGNG
>>960 MSDNからコピペ

Load ステートメント


フォームまたはコントロールをメモリにロードします。

構文

Load object

object には、ロードする Form オブジェクト、MDIForm オブジェクト、またはコントロール配列の要素の名前を指定します。
0962960NGNG
>>961
ありがとうございます、出来ました。

LOADだけでは非表示されているみたいですので、
VisibleをTrueしました。
表示させると、追加元となるコントロールに重なっているので、
TOP,LEFTをずらして追加されていることを確認しました。

早いレスで回答して頂いて助かりました、有り難う御座います。
0963デフォルトの名無しさんNGNG
質問が有ります。

WINDOWS2000の環境で使用しているときに、
下記動作を行うと、テキストボックスのValidate処理が起きません
どうしてでしょうか

テキストボックスにて入力後(フォーカスは、テキストボックスのまま)マウスで、
タブ(SSTab)をクリックするとテキストボックスのValidate処理が発生しません。

環境
NT4.0 SP6、VB6.0SP3にてコンパイル
2000SP2 VB6.0 SP5 の環境にて実行

NT4.0 SP6、VB6.0SP3だと、テキストボックスのValidateイベントが発生します。
0964デフォルトの名無しさんNGNG
パート4立てました......
0965デフォルトの名無しさんNGNG
>>964
リンクぐらい貼れこのボゲ

VB初心者質問スレ Part4
http://pc.2ch.net/test/read.cgi/tech/1006922992/
0966デフォルトの名無しさんNGNG
>>959
「サブクラス化」で検索しる!
0967デフォルトの名無しさんNGNG
あ、サブクラス化について
ttp://www.vt.sakura.ne.jp/~xration/vb/
の SubClass ActiveX Dll かますと氏ななくて便利だYO!
0968blueNGNG
大学生ですが、自己相関相互相関をVBAで計算させようとしてなやんでいます
なにか、いいプログラミング例はないでしょうか
0969llNGNG
>>966
>>967
ありがとうございます。勉強してみます・・・。
0970たかしNGNG
初めまして。さっそく質問します。
osがwindowsMEの場合、datagridコントロールは正しく表示されないのですか?
0971デフォルトの名無しさんNGNG
>>968>>970
新スレ逝け。あとageんなクソ虫どもが!
0972sageNGNG
一応こっちね。
VB初心者質問スレ Part4
http://pc.2ch.net/test/read.cgi/tech/1006922992/
レス数が950を超えています。1000を超えると書き込みができなくなります。