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

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

■ このスレッドは過去ログ倉庫に格納されています
0001エロチカセブンNGNG
  Part 1 http://piza.2ch.net/tech/kako/968/968328471.html
  Part 2 http://piza.2ch.net/tech/kako/990/990793224.html
  Part 3 http://piza2.2ch.net/tech/kako/1000/10005/1000523122.html
  Part 4 http://pc.2ch.net/tech/kako/1006/10069/1006922992.html
  Part 5 http://pc.2ch.net/tech/kako/1010/10106/1010624646.html
  Part 6 http://pc.2ch.net/tech/kako/1013/10138/1013844542.html
  Part 7 http://pc.2ch.net/tech/kako/1015/10158/1015836357.html
  Part 8 http://pc.2ch.net/tech/kako/1018/10187/1018794901.html
  Part 9 http://pc.2ch.net/tech/kako/1020/10208/1020830472.html
  Part10 http://pc.2ch.net/tech/kako/1022/10221/1022127528.html
  Part11 http://pc.2ch.net/tech/kako/1024/10243/1024380249.html
  Part12 http://pc3.2ch.net/test/read.cgi/tech/1026642565/
  Part13 http://pc3.2ch.net/test/read.cgi/tech/1029241786/l50
Win32 API関連スレ
  Win32API 質問箱 Build4
  http://pc.2ch.net/test/read.cgi/tech/1023361418/
心得
壱.質問する前に過去ログにも目を通してみる。
弐.質問する前に MSDN などで調べてみる。
参.VBScript もこのスレでOK。
4.インストーラーなどの質問もOK。
五.下ネタもたまにならOK
0114デフォルトの名無しさんNGNG
>>77
>VB.Netでつくったアプリは、
>Win98以下は対応にならないんですか?

Win98は対応している。Win95が対象外。
0115デフォルトの名無しさんNGNG
>>82
その糞ソフトの名前晒せ
0116デフォルトの名無しさんNGNG
BorderStyleを可変や固定-実線にすると、
タスクバーに切り替えボタンが表示されますよね?
BorderStyleをなしにしてそのボタンを表示させたいのですが、
どうしたらいいでしょうか?
0117デフォルトの名無しさんNGNG
>>111
> わかってるよ。お前は文章も読めないのか? 勝手に三行目を消すな。

真からヴァカだな。大体、VB 厨の >>81 が Set Form1 = New Form1 なんてことするから、わからなくなるんだよ。
Set FormX = New Form1 とかしてみれ、ヴォケ。
念のために言っとくけど、その下もちゃんと修正するんだぞ。その行だけ変えて、ププッとか書いてくるなよ。
(Form1 の Form_Unlaod の中をどう修正するのかが、楽しみだよ。)
0118デフォルトの名無しさんNGNG
>>117
お前>>72読んでないだろ。だから文章読めないって言われるんだ。
>>81>>72に対する皮肉。わざと問題のある例をだしてるんだよ。
日本語から勉強しなおして来い。
0119デフォルトの名無しさんNGNG
> その行だけ変えて、ププッとか書いてくるなよ。

( ´,_ゝ`) ププッ
0120118NGNG
皮肉というより問題定義と言った方がいいな。
0121デフォルトの名無しさんNGNG
> 真からヴァカだな。大体、VB 厨の >>81
仲間割れですか?
0122デフォルトの名無しさんNGNG
>>121
ヴァカは仲間ではありません。
0123デフォルトの名無しさんNGNG
ていうか、Unload時にちゃんと = Nothing しても、
そのフォーム以外からの参照されるコーディングがあれば
= Nothing
の記述の時点では実は解放されていないだけ。
他から参照されるコーディングがなければちゃんと解放されてる。

formsコレクションでどういう場合にフォームが残っているか確認してみそ。
0124123じゃないけどNGNG
UnloadでSet FormX = NothingなんてしなくてもFormsコレクションを含め
参照しているものがなくなればフォーム内の配列なんかは自然と解放される。

自分のフォームがたまたまグローバルなFormXで作成されているときはUnload時に
グローバルな参照を解放することによりその時点でフォームが削除されるけど、
自分のフォームがグローバルなFormXじゃない時にグローバルなFormXにNothingを
代入するのは意味ない。むしろ関係ないものをNothingしているからバグといってもいい。

Set FormX = Nothingで万事解決みたいな言い方をするのはよくわかってない奴の言うことさ。
0125デフォルトの名無しさんNGNG
>>72
1つ賢くなったね
012637NGNG
ItemCheckだとそれらしい感じだけど
選択数を増やしていくのは問題ないけど減らしていくときイベントが起きないです。
あと、なんか選択している数分イベントが起きてしまいます。
MouseMoveでやろうとしたら、なんかドラッグしても最初しかイベントが起きなかったです
0127デフォルトの名無しさんNGNG
VB.NETについて質問させてください。

.NET FrameworkのCLR上で動作する.NETアプリケーションでは、
VB6.0まではレジストリに記録していたパラメータを「メタデータ」
なるものに記録することで、レジストリの操作が不要になったと本で
読みました。これは、どのような手法によって実現するのでしょうか。
例えば、ウィンドウの位置や大きさなどを、レジストリに頼らずに
起動時などに読み込みたいのです。基本的な記述方法を教えて
いただけるとありがたいです。よろしくお願いします。
0128デフォルトの名無しさんNGNG
>>126
とりあえず、Timerと組み合わせて誤魔化せ。漏れはそうした。
012937NGNG
Timerはさけたいなぁ
0130NGNG
>>129
要はやりたい事がListViewの仕様と合ってないんでしょ。
なら違うコントロール探すか、無ければ作るか、
または他のもので代用するか、やりたい事をある程度妥協するか。
0131nobukitiNGNG
画面を常に最前面に表示ってSetWindowPos使うしかないんでしたっけ?
プロパティちょちょっといじってできませんでしたっけ?
0132NGNG
>>130補足
B表形式のコントロールを使うに0.7票 Cに0.3票
0133nobukitiNGNG
答えろオラ
0134nobukitiNGNG
>>133は僕ではありません。
0135デフォルトの名無しさんNGNG
自分で調べろオラ
0136 NGNG
>>98

先頭に ' をつけとけば 大丈夫(w
0137デフォルトの名無しさんNGNG
>>131
何故SetWindowPosじゃダメなの
0138135NGNG
>>135は僕ではありません。
0139デフォルトの名無しさんNGNG
∧             ∧
       /.::ヽ           /.:: ヽ
      /.::: ヽ          /.:::: ヽ
      /.:::  ヽ         /.::::  ヽ     このスレは一体
     /.::::::.  ヽ,,,,,,,,,,,,,,,,,,,,,,,,,,,/.::::::::.  ヽ
    /.:::::::::::                 ヽ       何なのですか         
    /.:::::::::   /        ヽ     ヽ
   /.:::::::   / ‐・‐     ‐・‐\     ヽ
   ヽ.::::::       .::::            /
    ヽ.:::::      .:::::            /
     ヽ.::::     \__/      /
      ヽ.::::      \/       /
       \.:::::            /
0140デフォルトの名無しさんNGNG
>139
その耳のズレは一体何なのですか?
0141135NGNG
frm_呼び先.Show 1, frm_次画面

で最前面表示できるべヨ?
0142135NGNG
>>141
これ僕です。
0143デフォルトの名無しさんNGNG
自分がつくってるソフトにいつのまにか
Microsoft Data Formatting Object Library( MSSTDFMT.DLL)
に参照設定がついてしました

ランタイムにはこれがはいってないものもあるらしくつかわないで済むなら
使いたくないのですが どのようなものに必要とするのでしょうか?
また参照設定をはずしても問題なさそうなのでそのままコンパイルしましたが
環境によって MSSTDFMT.DLL がないとエラーがでて起動しませんでした
0144デフォルトの名無しさんNGNG
前なったことがあるけど普通に切った。なんとも無い。
0145nobukiti NGNG
ちんこ
0146 NGNG
VBで作ったActiveXのDLLなんですが、VBでは使用するとちゃんと
DLL内でイベントを発生するんですが、ExcelのVBAで用いると
イベントが 発生しません。
どうしてか どなたか わかりますでしょうか?
0147デフォルトの名無しさんNGNG
質問させてくださいませ。
chck_cntの値が◆の時点で消えちゃうんだけど、
原因は何なんですかね?こんな現象初めてで、
困ってます。。。

function checkbox()
   dim iDatLoop
   dim iDatArray
   dim chck_cnt
   chck_cnt = 0
   Response.Write chck_cnt▲
   iDatArray=session.Contents("GHERLST_Dat")
   for iDatLoop = 0 to session.Contents("GHERLST_Cnt")-1
      if request("ErrSend" & iDatLoop)="1" then
         iDatArray(iDatLoop,0)=1
         chck_cnt = chck_cnt + 1
         Response.Write chck_cnt◆
      else
         iDatArray(iDatLoop,0)=0
      end if
   next
   Response.Write chck_cnt○
   session.Contents("GHERLST_Dat")=iDatArray
   checkbox=chck_cnt
end function
0148デフォルトの名無しさんNGNG
取り敢えずLongとか型宣言しろ
0149147NGNG
ASPなんですが・・・。
0150デフォルトの名無しさんNGNG
「消えちゃう」ってスゲェよ。
次はハトが出そうだなヲイw
0151nobukitiNGNG
>>147
?さんの登場を待て。
彼ならなんとかしてくれる
0152デフォルトの名無しさんNGNG
ずびばぜん、
フォーム上でExcelのワークシートを表示したいのですが、
どういう方法で実現できるのでしょうか。。

Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("hogehoge.xls")
Set xlSheet = xlBook.Worksheets("Sheet1")
xlApp.Visible = True

↑これだと、Excelが起動してシートがひょうじされますが、
そうでなくて、フォーム上にグリッドのように表示したいのです。
全ての値をグリッドに放り込むしかないのでしょうか??
0153146NGNG
解決しました。
エクセル側での入力ミスでした〜〜

宣言した時に設定したオブジェクト名が 間違えてました。
0154NGNG
>>147
消えちゃう、でなくてゼロになるとかNullになるとか具体的に言う癖付けたほうがいいかも。

で、こんな感じになってないかな?
Option Explicit
Dim flg As Boolean

Sub a()
  Dim cnt As Long
  cnt = 0
  If flg = 0 Then
    cnt = cnt + 1
    b cnt
  End If
  MsgBox cnt
End Sub

Sub b(cnt As Long)
  flg = 1
  a
End Sub
0155147NGNG
>>154
自己解決しますた(*´д`*)

IISの環境にデバッガが導入されてなかったから
見つけ出すのに苦労しました(*´д`*)

session.Contents("GHERLST_Dat")に代入する
変数のRedim時に値の入ってない変数を使ってた(*´д`*)
変えたの誰だよ!って感じです(*´д`*)
0156 NGNG
ODBC経由(DAO3.6)で AccessのMDBを使用しています。

この時、このMDBに含まれるテーブル名をすべて 取得するには
どうしたらいいのでしょうか?
015737NGNG
う〜ん、そうか。
実現できないわけはない気がするけど。
0158 NGNG
ListBoxで リストに加えた文字列がリストボックスから はみ出すほど長い
場合、下に スクロールバーとか出ればいいなと思うのですが、出せないでしょうか?

また、このようなコントロールは ありますでしょうか?
015937NGNG
>>158
わしが今悩んでるListView使えばいいんでないかいな?
0160教えて!!NGNG
ACEESSでフォームを開く時に最大化するモジュールを教えて!!
0161デフォルトの名無しさんNGNG
>>158
SendMessage分かる?
ListBoxに「横スクロールバー表示しろやゴルァ!!」ってSendMessageすれば表示されるよ。
0162156NGNG
156の続き

オラクルで テーブル名を取得する場合、
select * from tab;
とかやります。
こういうの ないでしょうか?
0163nobukitiNGNG
>>162
これちゃうのン?
http://www.google.co.jp/search?q=cache:Gj89wtoK65AC:www.accessclub.org/samplefile/samplefile_69.htm+ACCESS+%E5%85%A8%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E5%90%8D&hl=ja&ie=UTF-8
0164ぽん太NGNG
>>162
http://www.google.co.jp/search?q=cache:w1Mfjkp9pZoC:keep-on.com/~excelyou/1999lng4/199911/99110152.txt+ACCESS+%E5%85%A8%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E5%90%8D&hl=ja&ie=UTF-8
0165nobukiti NGNG
ぽん太氏ね
0166158NGNG
>>161
おおっ できた!
さんきゅ〜〜

http://www2.synapse.ne.jp/waka/Tequ02.htm
0167162NGNG
>>162

ADODB.ConnectionとADODB.Recordset を使っては 可能でしょうか?
0168デフォルトの名無しさんNGNG
Windows2000とかXPだと、確か英語版のランタイムがインストールされていましたよね?
ときどき文字化けしますってメールとかくるので、英語版のランタイムが入っていたら
「日本語版にしろやゴルァ」ってメッセージをだしたいのですが、
どうやったら判断できるでしょうか?
表示先ですけど、MsgBoxなら化けないですよね?
0169デフォルトの名無しさんNGNG
教えてください。
フレキシブルグリッドコントロールってMAX何行まで逝けるんですか?
12501行目に行を追加しようとするとあぼーんしてしまいす。
0170のの太NGNG
12500件も一度に表示させる必要あるの?
表示件数の上限を超えましたとかメッセージだして
アプリ側で表示件数制御させたら?
0171デフォルトの名無しさんNGNG
>>167
SELECT MSysObjects.Name FROM MsysObjects where type=1;
で出来ると思います。
0172デフォルトの名無しさんNGNG
よ〜しらんけど、表示も遅くなりそうだし、
配列で保存しておいてある程度スクロールしたら書き換えるようにするもんじゃないの?
>フレキシブルグリッド
0173分かる人お願いNGNG
花見.bmpをPicture1.pictureにセット
"a"をかく
Picture1.ScaleMode = 3
Picture1.FontSize = 100
Picture1.CurrentX = 0
Picture1.CurrentY = 0
Picture1.Print "a"

'Picture2にPicture1をコピーする
Picture2.PaintPicture Picture1, 0, 0

このときPicture2には花見.bmpだけで、
プリントした"a"が表示されません。
どうしたら"a"も表示できるか教えてください。
0174デフォルトの名無しさんNGNG
すいません、質問させて下さい。
test.mdbというMDBにTESTとTMP_TESTという2つのテーブルがあります。
(二つのテーブルはまったく同じ形です)
TESTには一件のレコードがあり、SELECT文の実行でrs_testに取得します。
rs_testに格納されたレコードをrs_test2にコピーして
TMP_TESTテーブルにINSERTを行いたいのですが、どうしたら良いのでしょう?
色々試行錯誤してみたのですが、駄目でした。
どなたかアドバイスお願いします
0175174NGNG
これがソースです。

Dim cnn As New ADODB.Connection ' ADOコネクションオブジェクト
Dim rs_test As ADODB.Recordset
Dim rs_test2 As ADODB.Recordset
Dim str_SQL As String

' 接続
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\test\test.mdb;"

Set rs_test = New ADODB.Recordset
Set rs_test2 = New ADODB.Recordset

str_SQL = ""
str_SQL = "SELECT * FROM TEST"

rs_test.Open str_SQL, cnn, adOpenStatic, adLockPessimistic
rs_test2.Open "TMP_TEST", cnn, adOpenStatic, adLockPessimistic

Set rs_test2 = rs_test.Clone

rs_test2.AddNew
rs_test2.Update

rs_test.Close
rs_test2.Close

' 切断
cnn.Close
0176デフォルトの名無しさんNGNG
>>126
正直に言えよ。ホントはItemCheckじゃなくてItemClickなんだろ?
0177デフォルトの名無しさんNGNG
>>127
VB.NETネタは専用スレにお願いしまふ。
でもって、マルチポスト先でレスついてまふ。
017837NGNG
>>176
うぉ、ホントじゃん。その通りって言うかなんでItemCheckなんて書いたんだか全く分けわからんです
0179デフォルトの名無しさんNGNG
>>178
何で書いたかわからないだと? ただの誤植だろ。heとliの違いしかないからな。
間違えても当然だ。それくらいわからんのか。
018037NGNG
うむ、まぁそうではありますが。。
0181デフォルトの名無しさんNGNG
>156 (= >162)
SQLDMOでも使ってくれい。
0182NGNG
>>174
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\test\test.mdb;"
cnn.Execute "insert into TMP_TEST select * from TEST"
cnn.Close
0183162NGNG
>>171

これが 一番 妥当そうですね。
http://www.zenko3.com/tips/access_system_object.html
に 詳しくかかれてました。
0184 NGNG
[Access2000]

VBからMDBへADOで接続し、
MSysObjects内のNameプロパティ値を取得しようと思ったのですが、
「MSysObjectsの読み取り権限がない」
というエラーメッセージが表示されてしまいます。
全てのオブジェクト名(テーブル、レポート、モジュール)を取得したかったのですが、
なにかよい方法はありませんか?
0185 NGNG
テーブル名一覧取得

Dim cnnDB As ADODB.Connection
Dim rstList As ADODB.Recordset

Set cnnDB = New ADODB.Connection

' 接続を開きます。
With cnnDB
.Provider = "MSDASQL"
.Open "DSN=DSN名を書く"
End With

' テーブル スキーマ行セットを開きます。
Set rstList = cnnDB.OpenSchema(adSchemaTables)

' 結果をループして、イミディエイト ウィンドウ
' に名前と種類を出力します。
With rstList
Do While Not .EOF
If .Fields("TABLE_TYPE") <> "VIEW" Then
Debug.Print .Fields("TABLE_NAME") & vbTab _
& .Fields("TABLE_TYPE")
End If
.MoveNext
Loop
End With
cnnDB.Close
Set cnnDB = Nothing
0186184NGNG
答えろオラ
0187デフォルトの名無しさんNGNG
DAOツカエ
DAO最強
DAOマンセー
0188NGNG
>>184
Dim str As String
Dim ac As Access.Application
Dim ag As Object

Set ac = New Access.Application
ac.OpenCurrentDatabase "c:\db1.mdb"
For Each ag In ac.CurrentDb.TableDefs
  str = str & ag.Name & vbNewLine
Next
For Each ag In ac.CurrentProject.AllReports
  str = str & ag.Name & vbNewLine
Next
For Each ag In ac.CurrentProject.AllModules
  str = str & ag.Name & vbNewLine
Next
MsgBox str
0189デフォルトの名無しさんNGNG
アクセスが入ってないとダメぽ?
0190NGNG
>>189 = >>184
持ってないんですか?
0191184NGNG
>>189
>>190

オフィス2000が インストールしてあります。
あと、OSは XPです。
0192デフォルトの名無しさんNGNG
DataGridの列数はどうやって増やすのですか?
プロパティ上にColumnなどのプロパティが見当たらないんです。
どなたかよろしくおねがします。
0193デフォルトの名無しさんNGNG
TWAINを使ってしてスキャナーを操作したいのですが、どうしても上手くいきません。
プレビューは出来たのですが、パソに取り込む事が出来ません。
取込する前に関数から戻ってきてしまっているみたいです。
よろしくお願いします。

また、TWAINの操作方法のサンプル等が有りましたらこちらも教えて貰いたいのですが・・・
0194うきくんNGNG
自分のPCのシステム秒が50になったときに、
実行させてる画面で、テキストボックスと
コンボボックスが消えちゃうんですけど。。。
visibleがfalseになる感覚です。

助けてください。
0195184NGNG
システム病ってなによ?
0196デフォルトの名無しさんNGNG
いまさらですが...

>>120 :118 :02/09/24 23:53
>>皮肉というより問題定義と言った方がいいな。

問題提起の間違いですか?ププ
0197 NGNG
? len("3333123")
とやると
7が表示されます。

? lenb("3333123")
とやると
14となります。

実際、バイト数は11のはずなんですが、どうしたら11と取得できるのでしょうか?
0198デフォルトの名無しさんNGNG
>>197
VBはUnicodeで文字を管理しているので半角も2バイトです。
0199デフォルトの名無しさんNGNG
>>188
どうでもいいことだが、strという変数名はいやだなあ。
0200デフォルトの名無しさんNGNG
>>197
FAQだけど
LenB(StrConv(文字列, vbFromUnicode))
0201デフォルトの名無しさんNGNG
>>197
普通は LenB(StrConv("hogeほげ",vbFromUnicode)) かな。
他に方法あったかな?
0202 NGNG
ActiveXDLL側で、そのDLLを呼び出した側のウィンドウのハンドルを
取得できるのでしょうか?
0203デフォルトの名無しさんNGNG
スタンダード版を買ってきてインストールしようとしたのですが、
最初の方のコンポーネントチェックでIE6でなと駄目と言われて
無理矢理インストールされそうになります。

2chのAAの関係でどうしても今使ってるIE5.01を残したいのですが、
IE6を入れてからIE5.01に戻すなんてことはできるのでしょうか?
ひょっとしてIE6を入れなくてもインストールできる方法があったりします?
0204デフォルトの名無しさんNGNG
>>203
VMwareで解決!
0205デフォルトの名無しさんNGNG
>>203
.NET?
0206デフォルトの名無しさんNGNG
>>204
何のことか分からないので検索してみます。

>>205
はい、VisualBasic.net Standard です 
0207デフォルトの名無しさんNGNG
>>203
.NETって事は、OSは2000かXP使うんだろ?
だったらIE6でも何もせずにフォント設定できるからAA問題なしじゃん。

仮に9x系でもズレを直すパッチってあるぞ。

つうわけで、IE6いれなされ。
0208203NGNG
え、IE6でもずれないんですか?
OSはWindows2000の英語版使ってます。
とりあえず試してみますね。
駄目だったらそれまでということで(^^;
みなさんありがとうございました。
0209みやさんNGNG
VB(Access)ではNULLと空の文字列("")って同じですか?
0210デフォルトの名無しさんNGNG
・オ・ヨ・ヘ・テ・ネ・゙・ケ・ッ、シ霹タ、ケ、、ヒ、マ、ノ、ヲ、キ、ソ、鬢、、、、ホ、ヌ、キ、遉ヲ、ォ。」
0211デフォルトの名無しさんNGNG
>>209
 「VB(Access)では」っていう書き方が気になるが
 違うものだろ 普通 <NULLと空の文字列("")

0212ふぅNGNG
VBで、FlashGetや、Irvineにあるような
分割ダウンロードを実装するにはどうしたらいい?
ちなみにもう普通のダウンロード部分は出来てるんですが・・・。
0213デフォルトの名無しさんNGNG
まず最初に普通にGET投げてContent-Lengthを得る。
その値を分割数で割り、
それぞれRangeヘッダ付けて分割数ぶんだけコネクション張りってな感じでは。
0214ふぅNGNG
>>213
あんたデキるナ?
■ このスレッドは過去ログ倉庫に格納されています