トップページ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
0085デフォルトの名無しさんNGNG
>>84
アプリケーションウィザードで、エクスプローラースタイルのを
作ってみてコード見てみ。やってること分かるから。
0086デフォルトの名無しさんNGNG
>>84
真中の区切りというのは左右のコントロールの境い目という事ですね。理解しました。
左のコントロールのWidthプロパティ、右のコントロールのLeft及びWidthプロパティを調節すればOKです。

ちなみに「フレーム」というと通常VB組み込みのフレームコントロールの事を指すと思います。
混同するので>>74>>84のような意味では使わない方がよろしいかと。
0087デフォルトの名無しさんNGNG
あぅ
008882ですNGNG
>>83
教えて貰えませんか?
0089デフォルトの名無しさんNGNG
Split 関数のデリミタに2個以上の文字を指定する事は可能ですか?
1個ずつ指定した Split 関数を何回か呼ばないとダメかな?
0090デフォルトの名無しさんNGNG
誰か教えてちょー。
画像をクリックしたりして移動させたり特定の場所にくると吸い付いたり
その他の場所だと元にもどたっりするようなソリティアみたいな感じの・・
009183NGNG
>88
教えるもなにも、仕様の問題だから何ともいえないよ・・・
パッと思いつく方法としては、テキストを選択すると、その周辺にコピーボタンが表示されるとか。
Officeみたいな奴ね。
0092デフォルトの名無しさんNGNG
>>91
他のアプリケーションって書いてあるだろ。ちゃんと読んでやれよ。
0093デフォルトの名無しさんNGNG
Shift+Deleteの切り取りを使えるならそれ
0094NGNG
>>89 一方の区切り文字をReplaceでもう一方の区切り文字に置き換えてからSplit
009583NGNG
>92
取得元が他のアプリだと何か不都合でもあるの?
どっかのパッケージで中身が一切さわれません、ってならともかく。
009689NGNG
>>94
おおっ! かしこい!
そんなやり方があったんだ。感謝。
0097デフォルトの名無しさんNGNG
>>95
だからどっかのパッケージで中身が一切さわれないんだろ。
0098デフォルトの名無しさんNGNG
プロージャ内で
Dim str as String
などと宣言しておいてからにまったく使用していなければ、
コンパイル時にこの str の領域をわざわざ確保しないようにしてくれますか?
009982ですNGNG
ええと、ctrlキーまたはshiftキーを押下げ、または
右クリックをすると、「そのキーは使えません」、
と言ったメッセージボックスが出るようになっていて、
コピーをすることが出来ません。今のところ、
clipboard.settext screen.activecontroll.seltext
でやってみようと思って居るのですけど、このままでは動かないみたいです。
フォーカスがあっていないみたいなのですが、それに関する記述が
必要なのでしょうか?
0100NGNG
>>82 = 99
著作者がコピーさせたくないと思ってるであろうものをコピーしようとするのはどうなんでしょう・・・
てのは置いといて、パッと思いつくのは
そのアプリが使用しているデータファイルを直接読み込んでそのアプリの機能も統合したソフトを作る(w
0101デフォルトの名無しさんNGNG
>ええと、ctrlキーまたはshiftキーを押下げ、または
>右クリックをすると、「そのキーは使えません」、
>と言ったメッセージボックスが出る

そのてのキーを無効にするってんならともかく、いちいちメッセージ出すあたり
そのへんの糞シェアウエア並みの仕様だなw
0102デフォルトの名無しさんNGNG
>>101 別に普通の仕様じゃん。
0103デフォルトの名無しさんNGNG
配列はEraceで消すんだよ
0104デフォルトの名無しさんNGNG
× Erace
○ Erase
0105デフォルトの名無しさんNGNG
37なんですが。
誰か教えて。。
0106デフォルトの名無しさんNGNG
>>105
ヘルプみろ
010737NGNG
とっくにみてますよぉ。
0108デフォルトの名無しさんNGNG
>>107
リストボックス特有のイベントになにがあるか言えるか?
それを全部試せ。
0109デフォルトの名無しさんNGNG
>>107
ListView_ItemClickかな。
罠があった気がするけど。
0110デフォルトの名無しさんNGNG
>>81
> Unload時にNothingを代入しても配列は解放されていませんが何か?

ったく、VB 厨はいつまでたっても進歩しないな。
お前が、Form1 の Form_Unload() で代入している、Form1 は Module1 の Form1 じゃねーぞ、ヴァカ。
011181NGNG
>>110
わかってるよ。お前は文章も読めないのか? 勝手に三行目を消すな。
0112ヴァカはお前NGNG
>>110
( ´,_ゝ`)プッ
011366NGNG
>>73
そうするとAPIの数が数十倍に膨れ上がる罠。
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の読み取り権限がない」
というエラーメッセージが表示されてしまいます。
全てのオブジェクト名(テーブル、レポート、モジュール)を取得したかったのですが、
なにかよい方法はありませんか?
■ このスレッドは過去ログ倉庫に格納されています