VBプログラマ質問スレ(6.0以前) Part50
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/10/22(日) 20:39:53質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。
VB.NETは別物なので専門スレで、VBA、APIの質問もそれぞれのスレで。
○ 質問者の心得
一.質問する前にMSDNやGoogle、過去ログにも目を通してみる。
二.VBScript、インストーラーなどはこのスレでOK。
三.質問は第三者にもわかりやすいよう簡潔かつ具体的に。
四.荒らしは相手しない。
○ 回答者の心得
一.答えられない質問は無駄に罵倒せずスルー。無理するな。
二.代用法を強制しない。
三.回答する上で必須ではない情報をむやみに聞き返さない。
四.荒らしは相手しない。
五.VB情報募集中。
六.回答は質問者が理解できるよう具体的に。
MSDN Online Japan ホーム
http://www.microsoft.com/japan/msdn/default.asp
Visual Studio 6.0 Service Pack 6
http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
http://www.google.co.jp/
※「まず自分で調べる」クセを身につけよう。
0666デフォルトの名無しさん
2006/12/19(火) 17:33:040667デフォルトの名無しさん
2006/12/19(火) 17:33:050668デフォルトの名無しさん
2006/12/19(火) 17:33:56なぜ?
0669デフォルトの名無しさん
2006/12/19(火) 17:40:03コマンドボタン ぽちっと押したら ftpみたいなことがしたい・・・。
0670デフォルトの名無しさん
2006/12/19(火) 17:41:590671デフォルトの名無しさん
2006/12/19(火) 17:43:48それは可能だよ。
ただ、そのボタンのクリックイベントにftp転送のコードを書けばよいだけ。
一度書いてしまえばあとは「コマンドボタン ぽちっと押したら ftp」
0672デフォルトの名無しさん
2006/12/19(火) 17:45:21だから、コマンドボタン押したときにftp.exeを起動すればいいじゃないか
VBAでもShellExecute使えるでしょうし ftp -s:もあるし
0673デフォルトの名無しさん
2006/12/19(火) 17:50:37なにを見ればいいのでしょう。
Folder オブジェクトのAttributes プロパティには何もなさそうですが。
0674デフォルトの名無しさん
2006/12/19(火) 17:51:040675デフォルトの名無しさん
2006/12/19(火) 17:58:09ftp.exeはコマンドテキストファイルとか面倒くさい
0676デフォルトの名無しさん
2006/12/19(火) 18:13:36wininet.dll はVBだけですよね?
0677デフォルトの名無しさん
2006/12/19(火) 18:20:22サンプルはありません
検索しても見つからないでしょう
VBだけですから使えません
満足しましたか?
0678デフォルトの名無しさん
2006/12/19(火) 18:29:38どこも同じですね
http://pc8.2ch.net/test/read.cgi/tech/1124559962/343
0679デフォルトの名無しさん
2006/12/19(火) 18:43:39VBのプログラムを実行させていたところ、「che」というタイトル名の同じようなウィンドウが開き、エラー停止してしまったのですが、
このような現象はどのようなエラーなのでしょうか?
いくら調べてもこれだけは見つからず…。
「snd」というタイトルで出現する場合もあるようです。
0680デフォルトの名無しさん
2006/12/19(火) 18:46:53再現できない
もっと詳しく教えれ
0681679
2006/12/19(火) 18:55:31本社でソフトの開発、工場で実働、という形なのでどの部分でエラーが発生してるか
解析できないのです…。
ちなみにどのように使用しているかというと、測定用のプログラムで測定結果のファイルを作成し、
測定終了後に別の計算用のプログラムが入ってるパソコンへと通信しているようです。
ちなみに、問題があったファイル一式を手動で動作させた場合、問題なく動作しました。
0682酔いちくれ ◆J0rwikii8c
2006/12/19(火) 22:23:52>>644
非常に申し訳ない。
ForReadingと書いているところを
1
に置き換えてください。
酔うてご迷惑おかけしますた。
0684デフォルトの名無しさん
2006/12/19(火) 22:35:34マジックナンバー使わせるあたりが
変にカッコつけず初心者らしくて素敵です。
0685デフォルトの名無しさん
2006/12/20(水) 00:10:45VB6.0でShellExecuteを使ってアプリに関連付けされている
ファイルを開きたいのですが、今のところできていません。
ByVal lpszFile As String
に入る文字列を「ファイル名を指定して実行」でやるとファイルが開ける状態です。
http://support.microsoft.com/kb/170918/ja
↑ではできるとなっていますが、他のサイトでは
exeファイルしかできない、と書いてあるところがあります。
できるとばかり思っていましたが、できないのでしょうか?
0686685
2006/12/20(水) 00:13:17「VBではexeファイルしかできない」と書いてあるところがあります。
です。
0687デフォルトの名無しさん
2006/12/20(水) 00:15:260688デフォルトの名無しさん
2006/12/20(水) 00:18:07関連付けの起動は非同期なので、若干待ち合わせしないと。
0689685
2006/12/20(水) 00:30:42「すぐ終了」というのはアプリケーションを、ということですか?
0690デフォルトの名無しさん
2006/12/20(水) 00:33:040691685
2006/12/20(水) 00:41:47その待ち合わせが原因かもしれません。
ありがとうございました。これから色々やってみます。
0692デフォルトの名無しさん
2006/12/20(水) 09:44:11PutIniを使ってiniへ書込みをしているのですが、オブジェクトとキーの変数の
コードを簡単にしたいのですが、わかりません。
PutIni "外来担当表", "ADDText1", Combo1, "\\192.168.60.253\Admin共有\用度\VB\Window_Data\Window.ini"
PutIni "外来担当表", "ADDText2", Combo2, "\\192.168.60.253\Admin共有\用度\VB\Window_Data\Window.ini"
PutIni "外来担当表", "ADDText3", Combo3, "\\192.168.60.253\Admin共有\用度\VB\Window_Data\Window.ini"
PutIni "外来担当表", "ADDText4", Combo4, "\\192.168.60.253\Admin共有\用度\VB\Window_Data\Window.ini"
また、GetIniに関してもわからない
Label1 = GetIni("外来担当表", "ADDText1", "", "\\192.168.60.253\Admin共有\用度\VB\Window_Data\Window.ini")
Label2 = GetIni("外来担当表", "ADDText2", "", "\\192.168.60.253\Admin共有\用度\VB\Window_Data\Window.ini")
Label3 = GetIni("外来担当表", "ADDText3", "", "\\192.168.60.253\Admin共有\用度\VB\Window_Data\Window.ini")
Label4 = GetIni("外来担当表", "ADDText4", "", "\\192.168.60.253\Admin共有\用度\VB\Window_Data\Window.ini")
ご教授おねがいします。
0693デフォルトの名無しさん
2006/12/20(水) 09:50:46もう冬休みに入ってるとしたら北海道や東北か?
0694デフォルトの名無しさん
2006/12/20(水) 10:03:19内地のほうがはやいんじゃなかったっけ?
北海道は冬休みは1/18ごろまで
0695デフォルトの名無しさん
2006/12/20(水) 10:17:55おまえらマジで邪魔だから氏んでくれない?
0696酔いちくれ ◆J0rwikii8c
2006/12/20(水) 11:14:33PutIni
っていうのは、きっとオマイの中で宣言している、そういう関数なんだろう。
引数がセクション、キー、値、INIへのフルパスの。
セクション、キーは別はそんな風に直書きでもいい気もするけど、嫌なら
「変数」じゃなくて、「定数」に汁。
const INI_PATH As String = _
"\\192.168.60.253\Admin共有\用度\VB\Window_Data\Window.ini"
Call PutIni("外来担当表", "ADDText1", Combo1.Text, INI_PATH)
Label1.Caption = GetIni("外来担当表", "ADDText1", "", INI_PATH )
つーか、病院関係者なら金持ちだろうし、ソフト屋に発注して
0697デフォルトの名無しさん
2006/12/20(水) 12:11:480698デフォルトの名無しさん
2006/12/20(水) 16:15:47初めて見たが。
普通直接API呼ぶだろ。
0699デフォルトの名無しさん
2006/12/20(水) 16:24:30それはいかにもVBらしい悪い方法だな
0700デフォルトの名無しさん
2006/12/20(水) 18:23:00今更ながら開発用端末をWin2kからWinXPにしたところ
ファイル検索の文字列検索でbasとかfrmがヒットしなくなりました
ソース内に例えば「外来担当表」と入っているプログラムを
探したいとか言うとき、XPではどうすればいいのでしょう?
Win2kだとファイル検索の文字列でヒットしたのに・・・。。・゚・(ノД`)・゚・。
0701デフォルトの名無しさん
2006/12/20(水) 18:41:48それはWindowsのスレ向けな質問ではなかろか。
検索のウインド
→「設定を変更する(G)」→「ファイルとフォルダの〜…(R)」→「上級者向け(D)〜…」
にして、旧来のアレ風にしてやってみてどーか。
0702デフォルトの名無しさん
2006/12/20(水) 19:17:150703デフォルトの名無しさん
2006/12/20(水) 19:18:25バリアントと文字列の違いわかりますか?
0705デフォルトの名無しさん
2006/12/20(水) 19:30:42引数の型が違うということですか?
戻り値の型が違うということですか?
0706デフォルトの名無しさん
2006/12/20(水) 19:44:16HELPは読めますか?
0707デフォルトの名無しさん
2006/12/20(水) 20:08:49「One Stop Multi」
0708デフォルトの名無しさん
2006/12/20(水) 20:30:39"VBA.関数名"でアクセスできますが
VBSの場合この"VBA"に相当する
組み込み関数群の親は何ですか?
具体的にはArrayを上のような形で
利用したいのですが
0709デフォルトの名無しさん
2006/12/20(水) 23:48:16それってVBSでどんないいことがあるの?
0710デフォルトの名無しさん
2006/12/20(水) 23:54:45> 三.回答する上で必須ではない情報をむやみに聞き返さない。
0711デフォルトの名無しさん
2006/12/21(木) 10:44:26見えない俺ガイル
0712デフォルトの名無しさん
2006/12/21(木) 11:56:360713デフォルトの名無しさん
2006/12/21(木) 11:59:130714デフォルトの名無しさん
2006/12/21(木) 11:59:41質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。
0715デフォルトの名無しさん
2006/12/21(木) 13:28:29CSVファイルの最終行の改行を削除したいんだがどうすればいいんだろうか?
AAAA
BBBB
CCCC
DDDD
[EOF]
を↓にしたい
AAAA
BBBB
CCCC
DDDD[EOF]
0716デフォルトの名無しさん
2006/12/21(木) 13:29:140717デフォルトの名無しさん
2006/12/21(木) 13:41:25出来なければ (読み取り)→(サイズを制限して書き込み) しかない
0718デフォルトの名無しさん
2006/12/21(木) 13:52:53意外とめんどいもんですな。
VBらしくさくっといけるもんがあるのかと思ってた俺はさすがミディンコ
バイナリで読んで最後の改行記号ってとこまでは追及できたんだけど削除ができねぇ
VBのテキストファイル操作じゃファイルサイズが変わるようね編集ってできないぽ?
>>717
トンクス!
0719708
2006/12/21(木) 14:14:43OSやWSHのバージョンが違っても
親オブジェクトは一緒だろうと思って
省略してました、すみません
WindowsXP ServicePack1
WSH5.6 ServicePack無し
IEなどではなくwscript.exeでの実行です
やりたいことは"obj.Array"という形で
組み込み関数のArrayを使いたいだけです
試したことはVBA.Me,WSHの指定です
VBAはオブジェクトがありません、Me,WSHは
Arrayをサポートしてませんになり
Arrayの親オブジェクトが解らない状況なので
困ってます
知りたい理由は興味とでも思ってください
どのような環境で使うかが解っていれば
オブジェクトは一意でしょうから
どのように使うかは必要な情報では
無いでしょうし使い道は一つだけじゃないので
0720デフォルトの名無しさん
2006/12/21(木) 15:18:01まぁ、代用法でも良いから教えてくれというなら書くべきことだがな。
そうでなければ必要ないが、代用法を押しつけて自己満足したいだけの
自称上級者共は必要としてるかもw
0721デフォルトの名無しさん
2006/12/21(木) 15:28:00VB6のVBAはモジュールなので、WSHでは直接見れないと思われ
必要な関数をクラスのメソッドとしてラップしたActiveXDLLを作るのが適当だと思う
>>720
そういうチンコが大きい発言はもっと大人の男の子になってから言おうね
0722デフォルトの名無しさん
2006/12/21(木) 15:44:50ヒントTypeName(Me)
0724デフォルトの名無しさん
2006/12/21(木) 17:02:02そんなことwshスレで聞け、と覗いてみたら
あっちでも、回答振り込め詐欺やってバレて、こっちへ来たか
>>1に回答振り込め詐欺禁止とは書いてないもんな
0725デフォルトの名無しさん
2006/12/21(木) 17:14:150726デフォルトの名無しさん
2006/12/21(木) 17:35:56莫迦にしてるのはお前だけ。
0727デフォルトの名無しさん
2006/12/21(木) 17:43:10極端にバカというか痛い奴の割合が多い。
ちょっと上にも変なの湧いてるし。
0728デフォルトの名無しさん
2006/12/21(木) 18:19:36クイズの正解はひょっとして$の有無?
0729デフォルトの名無しさん
2006/12/21(木) 18:20:40残念!、>>1-723まで全て俺一人の自演だ
俺様の壮大なシナリオに引っかかったなm9(・∀・)
0730デフォルトの名無しさん
2006/12/21(木) 19:08:33>VB6のVBAはモジュールなので、WSHでは直接見れないと思われ
>>719が言ってるのはVB6のVBAではなく、VBScriptのArray()のこと
だから、オブジェクトブラウザでMicrosoft VBScript Globalsを参照設定すれば
Library VBScript_Globalが現れて、
Array()がClass GlobalObjのメンバと分る。
ってことじゃないかな
0731デフォルトの名無しさん
2006/12/21(木) 19:52:100732酔いちくれ ◆J0rwikii8c
2006/12/21(木) 20:07:29よくわからんけど、ASCIIかUnicodeかの違いじゃマイカ??
デフォルトは ASCIIで、ミックスというくらいだから、どっちでも
いいよ? みたいな?
もう、酔うた。
0733デフォルトの名無しさん
2006/12/21(木) 20:27:13一旦別ファイル名で書き出してから、
元のファイルを削除し、先に書き出しておいたファイルを正しい名前に変えればいい。
0735デフォルトの名無しさん
2006/12/22(金) 14:41:04質問です!
VB6のコンボボックスで、「ファイル名を指定して実行」のコンボボックス
みたいに、前方一致で補完できるようには出来ないのでしょうか。
spy++で見ると、クラスが違うので異なるコンポーネントなんだろうとは
分かるのですが。。。
WindowsAPIで作らなければならないでしょか。
0736デフォルトの名無しさん
2006/12/22(金) 14:48:52自分でコーディングすればおk
0737デフォルトの名無しさん
2006/12/22(金) 15:46:46ttp://www.google.co.jp/search?complete=1&hl=ja&q=shell+api+%E5%85%A5%E5%8A%9B%E8%A3%9C%E5%AE%8C&lr=
>>736の言うように自分でゴリっとした方が楽&安全
0738デフォルトの名無しさん
2006/12/22(金) 18:38:02見つかったファイルを全部コンボリストにADDして
そのコンボをプルダウンさせるのかな?
0739735
2006/12/22(金) 20:12:10なるほど、自分で実装するのですね。
ってか、コンボボックスというより、テキストボックスに
プルダウンの入力補完が付くというイメージの方が近い
んですかね。
やりたい事は、既にコンボボックスに登録されているリスト
の中から、前方一致で合致するものを補完する機能です。
Officeのコンボボックス(RichEdit20W)とか、コンポーネントとして
切り出してくれれば良いのに。。。
0740デフォルトの名無しさん
2006/12/22(金) 20:53:29ttp://www.runan.net/program/tips/sdk_17_IAutoComplete.shtml
0741735
2006/12/22(金) 22:18:57何が一番楽か、ちょっと模索してみたいと思います。
0742デフォルトの名無しさん
2006/12/23(土) 11:12:37708じゃないけど、参照設定でMicrosoft VBScript Globalsが見つからないです。
環境は、WinodwsXP SP2、VB6.0 SP6。
XP用のWinodws Script 5.6もインストールしました。
後学のためにぜひ試してみたいので、どなたか教えてください。
0743デフォルトの名無しさん
2006/12/23(土) 14:11:05[名前].Array()
0744デフォルトの名無しさん
2006/12/23(土) 16:02:20一番楽なのは、そういう機能を持ったコントロールを購入する事だな。
0745デフォルトの名無しさん
2006/12/23(土) 16:15:46その程度のコントロールなら簡単に作れるでしょw
っていうか、VBのコンボって最初から入力補完ついてると思うんだけど。
あれ結構鬱陶しいと思うんだけどね。
0746デフォルトの名無しさん
2006/12/23(土) 17:12:03Option Explicit
Private WithEvents cmb As ComboBox
Private WithEvents btn As CommandButton
Private Sub cmb_GotFocus()
SendKeys "%({DOWN})"
End Sub
Private Sub Form_Load()
Dim i As Long
Set cmb = Me.Controls.Add("VB.ComboBox", "cmb")
Set btn = Me.Controls.Add("VB.CommandButton", "btn")
With cmb
.Move 0, 0, 3000
.Visible = True
For i = 1 To 100
.AddItem "Item" & Format$(i, "00")
Next
End With
With btn
.Move 3100, 0, 1500, 1000
.Caption = "Place Hold"
.Visible = True
End With
End Sub
0747デフォルトの名無しさん
2006/12/23(土) 20:25:36残念だけど、違うと思う。
0748デフォルトの名無しさん
2006/12/23(土) 21:06:130749デフォルトの名無しさん
2006/12/24(日) 02:22:00元ネタはともかく>>745が言うようにコンボボックス使ってみただけだよ
違うコンボボックスなの?
>>735のネタは>>737とか>>740で回答されてるし
0750デフォルトの名無しさん
2006/12/24(日) 09:11:25どれを買ったらいいのやら。
最新版はどれなのでしょうか。
0751デフォルトの名無しさん
2006/12/24(日) 09:20:460752デフォルトの名無しさん
2006/12/24(日) 09:22:010753デフォルトの名無しさん
2006/12/24(日) 09:25:29VB6はMSDNサブスクリプションでないともう入手できないぞ。
0754デフォルトの名無しさん
2006/12/24(日) 11:02:05ありがとうございます。
ダウンロードのページを今開いたところです。
これって無料なんですね?
0755デフォルトの名無しさん
2006/12/24(日) 11:20:17そこらに落ちてるシリアル通信サンプルプログラム(MsComm使用の)を使っても
データの採り方というか表示のさせ方?がハイパーターミナルと違います。
ハイパーターミナルと同じような挙動をするサンプルプログラムってありませんか?
0756デフォルトの名無しさん
2006/12/24(日) 11:21:12ませんか?
0757デフォルトの名無しさん
2006/12/24(日) 11:21:550758デフォルトの名無しさん
2006/12/24(日) 11:49:560759735
2006/12/24(日) 12:52:32>>745 さん
>っていうか、VBのコンボって最初から入力補完ついてると思うんだけど。
いやー、ついてないような。。。
>>746 さん
I って入力するとItem00 と補完して欲しいのです。
VCのComboBoxやDelphiのTComboBoxは標準でこのような
動作をするようです。
もうちょっと探してみます。
0760デフォルトの名無しさん
2006/12/24(日) 15:07:170761デフォルトの名無しさん
2006/12/24(日) 18:01:07ネットワーク上のフォルダにあるexeファイルのバージョンを取得したいので、
GetFileVersionInfosize
GetFileVersionInfo
VerQueryValue
をやっていますが、
GetFileVersionInfosize
の時点で0がかえってきてしまい、取得できません。
同じPC内では取得できました。
ネットワーク上のファイルだとダメ、ということはありますか?
駄目な場合、他の取得方法はありますか?
0762デフォルトの名無しさん
2006/12/24(日) 19:37:08「ネットワーク上のフォルダにあるexe」をどういう形で参照してるのかも、
どんなコードでバージョンを取得してるのかも分からんのに、回答出来る筈がない。
0763761
2006/12/24(日) 19:44:41>762
無理して回答しなくても大丈夫です。
ありがとうございました。
0764デフォルトの名無しさん
2006/12/24(日) 21:23:37このダウンロードって個人情報丸々入力しなきゃいけないんですね。
勤務先電話番号も入力必須項目になってるけど、なんか不安でダウンロードできないな。
別に問題ないかな?
0765デフォルトの名無しさん
2006/12/24(日) 21:24:33店で買えば?
■ このスレッドは過去ログ倉庫に格納されています