VB初心者質問スレPart2

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
最近単発スレが目立ってきたので取りあえず作っときます。
前スレ:
http://piza.2ch.net/test/read.cgi?bbs=tech&key=968328471&ls=50
2無責任な名無しさん:2001/05/25(金) 21:26
VBのCollectionって
ガーベッジコレクションだと
思っちゃってよいのでしょうか?
3デフォルトの名無しさん:2001/05/25(金) 22:15
そのとおりです(ウゾ)
4デフォルトの名無しさん:2001/05/25(金) 23:12
うむ、そのとおり(う゛ぞ)
5デフォルトの名無しさん:2001/05/26(土) 00:58
>>2
そうであるとも言えるし、そうではないとも言える。
つまりガベージコレクトそのものではないが
ガベージコレクトの対象にはなる。
6デフォルトの名無しさん:2001/05/28(月) 13:00
失礼します。
ListViewなんですけど、リスト内でDblClickしてクリックした場所の
値を取得して、別フォームのTextBoxに格納するには
どうすればいいんでしょうか?
何か使うコマンド等がありましたら、教えてください。お願いします。
(実は初心者なのでソースコード付ならとてもありがたいです。)
7デフォルトの名無しさん:2001/05/28(月) 14:27
すいません。テキストボックスの中身の文字列を
iniファイルに保存したり読み込みしたりしたいのですが、
どのようにすればよいのでしょうか。

よろしくお願いします。
8デフォルトの名無しさん:2001/05/28(月) 17:37
9デフォルトの名無しさん:2001/05/28(月) 19:34
よろしくお願いします。

複数のプロジェクトから参照できる共通モジュールを作りたいのですが
どうしたらよいのでしょう?

同じフォルダにプロジェクトを二つ作りました。
プロジェクトグループで二つのプロジェクトを開きました
共通モジュールをどちらのプロジェクトからも
開きますと、
ファイルが更新されている可能性が、、、
と表示されます。
どうしたらよいでしょうか?
10印刷するソフトを:2001/05/28(月) 22:09
作っています。
プリンターを選ぶには、for文とprintersコレクションの組み合わせで
実に簡単にできることがわかりました。

ところが、adobe acrobatを出力先に選択したとき、
printer.print "なになに" を実行させると、ファイルの保存先選択ダイアログが現れます。
ここでキャンセルボタンを押すと、エラーが出てしまいます。

このエラーを回避させる方法はないでしょうか?
手段は問いません。
11デフォルトの名無しさん:2001/05/28(月) 22:13
>>10
そのエラーを回避したければ
今すぐにそのプログラムを破棄しなさい。
12デフォルトの名無しさん:2001/05/28(月) 22:21
>11
Acrobat SDK に書いてますよ。確か、レジストリをいじるんだったと
思いますが(もちろんAPIからいじってね)。
昔やったけど忘れた。
13デフォルトの名無しさん:2001/05/28(月) 22:50
>>10
on error ハンドラでそのエラー番号のみ
何も表示しなければいい。
14印刷するソフトを:2001/05/28(月) 23:20
>>13

ありがとうございまーす。
コーディングは自力でやってみます!
1512:2001/05/29(火) 01:32
>14
すまん、SDKのはファイルの保存先選択ダイアログを出現させない方法だった。
16デフォルトの名無しさん:2001/05/29(火) 03:58
眠れない。。。
>>6
Private Sub ListView1_DblClick()
  Text1.Text = ListView1.SelectedItem
End Sub

>>9
?。同時に開くな
17ちゃっぴー:2001/05/29(火) 06:20
ど初心者ですんません(汗

フォームにテキストボックスを1つ作って、
テキストボックスに適当なファイルとD&Dすると、
テキストボックス内にD&Dしたファイルのパスを表示する
というものを作りたいのですが、
どうすればいいのかどうにもこうにも(T−T
18無責任な名無しさん:2001/05/29(火) 08:29
Private Sub Text1_OLEDragDrop(Data As DataObject,(中略)
Text1.Text = Data.Files(1)
End Sub
OLEDropModeを1 - 手動にしませうね
19ちゃっぴー:2001/05/29(火) 12:05
>>18
ありがとうございますできました。
こういう風に使うのかぁ(納得
20デフォルトの名無しさん:2001/05/29(火) 14:51
 教えてください!
データ元がAccessで番号か何か(No等)で一致するデータを引っ張ってくる際に
SQLを発行します。
そのときに、どのようにSQLをセットするのでしょうか?
Set 〜 を使うだろうということはわかるのですが、具体的にわかりません。
(AccessとVBはADOでつないでいます。ADOでSQLをセットするコマンド?
があるのでしょうか?)

SQL="SELECT 〜 FROM 〜 WHERE 〜 = '" & xx & "'"
このSQLで一致したデータを次にどうセットするのかで困っています。

よろしくお願いします。
21デフォルトの名無しさん:2001/05/29(火) 23:36
>>20
教えてください!
Recordsetって調べた?

よろしくお願いします。
22無責任な名無しさん:2001/05/30(水) 00:22
VBは継承が出来ない(のでオブジェクト指向じゃない)
ってよく聞く気がするのですけれどImplementsって
オブジェクト指向における継承とはまた違うのでしょうか?
23デフォルトの名無しさん:2001/05/30(水) 00:38
VBで関数電卓何行くらいで作れますか?
24無責任な名無しさん:2001/05/30(水) 00:48
先日自由課題で私が作った電卓は124行みたい
四則演算 乗数 階乗 sin cos tan log ln メモリを4つ実装
真面目に例外処理いれたらもっともっとステップ増えそうだけど
25デフォルトの名無しさん:2001/05/30(水) 21:58
>>24
Windowsのアクセサリにある二進法や十六進法などもあるやつだとどれくらいでしょうか?
26デフォルトの名無しさん:2001/05/30(水) 22:46
>>22
Implementsはインターフェースの実装です。
VB.NETでは継承にInheritsというキーワードを使います。
27デフォルトの名無しさん:2001/05/30(水) 22:48
進数表示は単に入出力の問題だからプラス数十ステップ程度では>25
28デフォルトの名無しさん:2001/05/31(木) 13:29
>>22
クラスや継承はオブジェクト指向の根本とは関係ない。
継承が無くとも委譲で十分補える。
29デフォルトの名無しさん:2001/05/31(木) 23:49
文字列のなかのある特定部分からを表示したいのですが、
どうすればよいのですか。配列にばらさないとだめでしょうか。
30デフォルトの名無しさん:2001/05/31(木) 23:55
substring>29
31デフォルトの名無しさん:2001/05/31(木) 23:56
VBを始めようと思うのですが
どこからダウンロードすればいいですか?
32デフォルトの名無しさん:2001/06/01(金) 00:02
マイクロソフトのサイトにあります。>31
3330:2001/06/01(金) 00:26
わかったからもういい
Mid
34デフォルトの名無しさん:2001/06/01(金) 05:41
32>
VBって売り物だと思うのですが、それを無料ダウンロードできるのですか?
当たり前だと思うのですが有料ですよね〜?
35デフォルトの名無しさん:2001/06/01(金) 05:49
その辺はマイクロソフトに聞いてくれ>34
36デフォルトの名無しさん:2001/06/01(金) 05:49
VBSとか
37デフォルトの名無しさん:2001/06/01(金) 13:47
VBで委譲ってどうやるんですか?
38デフォルトの名無しさん:2001/06/01(金) 14:18
A.cls

Public Sub DoAnything
 B.DosomeThing
End Sub

B.cls

Public Sub DoSomething
 A.DoAnything
End Sub
39デフォルトの名無しさん:2001/06/01(金) 14:19
解説:
A:「おまえがやれ。」
B:「いやだ。おまえがやれ。」
40 :2001/06/03(日) 00:55
VB6ってMEには対応していないのですか?
41名無しおやぢ:2001/06/03(日) 23:33
>>40

SP5なら問題ない。(MS公式情報)
あとは自分で調べなさい。
42別人だけど:2001/06/04(月) 00:36
43デフォルトの名無しさん:2001/06/04(月) 12:20
Public Const Dim csCommon(2) As String = { "common1", "common2"}
のように配列を定数として定義したいのですが、どうしたらよいのでしょうか?
44デフォルトの名無しさん:2001/06/04(月) 14:45
>>43
ありません。

バリアント型変数にArray関数でセットする、って手だけです。
ユーザー定義型にいたっては1つ1つセットしていく以外方法が
ありません。
45デフォルトの名無しさん:2001/06/04(月) 15:31
>>44
VBじゃダメなんですね
結局下記みたいになりました
Dim csCommon As Variant
Sub auto open()
csCommon = Array("common1", "common2")
ありがとうございました
46デフォルトの名無しさん:2001/06/04(月) 16:17
zipで圧縮されてるフォルダ中の、あるbmp(ファイル名既知)を読み出し
たいんですけど、どうしたらいいんでしょうか。
unzip.dllを使ってzipファイルの解凍はできたんですけど、
解凍ではなくそのbmpを一時的にpictureboxとかに表示したいんですが。
47デフォルトの名無しさん:2001/06/04(月) 16:40
>>46
どのZIPユーティリティでも一時ファイルを作成して
用が済んだら削除していると思いますが?

VBがメモリーストリームとか扱えればインメモリで行なえるかも
しれませんが、結局画像の場合データが大きいので仮想メモリ
が使われるのでパフォーマンス的には変わらないかも。
4846:2001/06/04(月) 17:12
>>47さん
回答ありがとうございました。
一時ファイル作成でやってみます。
もう一つ質問ですが、その場合zipファイルを一度全て解凍する必要が
あるのですか?目的のファイルだけを解凍(というか抽出)することは
可能なのでしょうか?
49デフォルトの名無しさん:2001/06/04(月) 20:06
>>48
それはunzip.dllのAPIドキュメント見てくれ。
アーカイブ内容をリストしたり個別に取り出す手続きが
あるはずだ。
http://www.csdinc.co.jp/archiver/
5046:2001/06/04(月) 20:44
>>49
合点。がんばってみます。ありがとうございました。
51ちゃっぴー:2001/06/05(火) 16:27
コマンドボタンをクリックしたら
Windowsを再起動するようにするにはどうしたら良いでしょうか?
52デフォルトの名無しさん:2001/06/06(水) 09:28
教えてください。とっても困っています。
VBのヘルプが突如出てこなくなっちゃいました。
「不明なエラーが発生しました」とかなんとかで・・・。
ヘルプも、VBも全てアンインストール後、フォルダも
削除し、心機一転再インストールをしたのですが、まだ
エラーが出ます。
スキャンディスクも、デフラグも異常なし。
良い方法はありませんか??
53デフォルトのやる気なし:2001/06/06(水) 10:43
>>52

実行環境(OS)もVBのバージョン(SP)も書いてなくて、的確な
回答を求めるわけ? (^^;
5452:2001/06/06(水) 14:03
>>53
すみません・・・。全く考え無しでした。
OSは、Win98で、VBは6.0です。
端末には、Office2000が入っているくらいで、
他には特に入れていません。
よろしくお願いします。
55デフォルトの名無しさん:2001/06/06(水) 14:23
windowsを再インストール。
これを機会に2000にかえましょう。
56デフォルトの名無しさん:2001/06/06(水) 14:57
一気にフォルダを削除させる動作をさせたいのですが、
下にフォルダがいくつか続く場合には、
どうしたら一気に消すように出来ますでしょうか??
dosのコマンドのdeltreeと同じ感じで
一気に消したいのです。よろしくお願いします。
57デフォルトの名無しさん:2001/06/06(水) 16:03
>>56
FileSystemObjectのDeleteFolderメソッドか、
FolderオブジェクトのDeleteメソッド。
58デフォルトの名無しさん:2001/06/06(水) 16:54
ソースを公開しているVBのプログラムってない?
ソースの書き方をいろいろ参考にしたいんだけど。

出来ればらるち〜とかfubくらいのプログラムのがいいんだけど。
5952:2001/06/06(水) 18:35
>>55
そうですね。最後の手段?!OSのインストールを
やり直してみます。
思いつかなかったです・・・。
ありがとうございます。
60デフォルトの名無しさん:2001/06/06(水) 20:43
TextBoxに書いている文字列を
ソートしたいのですが、自分でソートアルゴリズムを
作るのはだるいので、楽してやる方法はないでしょうか?

フルパスのファイル名をソートさせたいだけなので
ソートアルゴリズムや
ソート順の形式にはこだわりません。

よろしくお願いします.
61デフォルトの名無しさん:2001/06/06(水) 20:43
TextBoxに書いている文字列を
ソートしたいのですが、自分でソートアルゴリズムを
作るのはだるいので、楽してやる方法はないでしょうか?

フルパスのファイル名をソートさせたいだけなので
ソートアルゴリズムや
ソート順の形式にはこだわりません。

よろしくお願いします.
62デフォルトの名無しさん:2001/06/06(水) 20:44
2ジウ投稿ゴメソ
632ch初心者君:2001/06/06(水) 21:14
>>62
ネット漁ってソース探せば?
作る=コーディングする
ならそれしかないと思うけど
どっちの方がだるくなるかわからんけどな
64デフォルトの名無しさん:2001/06/06(水) 21:24
>>63
そのソース探す場ソがわからないので、利いたのですが。(w
だめだったかな。
65デフォルト:2001/06/06(水) 21:28
6665:2001/06/06(水) 21:31
58とか60とか、
検索エンジンで何を検索しているの(T_T)?
エロ画像ばかりじゃダメダメ。
67デフォルトの名無しさん:2001/06/06(水) 21:33
>>61
暇だから。

1.フラグを false に
2.(全て)-1の行について:n行とn+1行を比較し、基準に従って、必要ならn行目とn+1行目を入れ替えてフラグを true に
3.フラグが true なら goto 1

アルゴリズムが糞とか思うなら、自分で書き換えろ。
ところでこんなgotoの使い方好きな人いますか?

以上バブルソートらしきものでした。
68デフォルトの名無しさん:2001/06/06(水) 22:25
…つう、か

1メソッドでソォ-トしてくれる便利なものは、VBではないのか。
69デフォルトの名無しさん:2001/06/06(水) 22:26
>>61
リストボックス作っておいて、そこにテキストボックスの内容を突っ込む。
で、リストボックスの中身をソートさせて、また取り出してテキストボックスに写す
70デフォルトの名無しさん:2001/06/07(木) 00:45
GOTOって On Error の時とかしか使ってないかも。
71デフォルトの名無しさん:2001/06/07(木) 01:00
>>61
VB的な方法なら>>69だな。
ネットでクイックソートのソース拾って使うもよし。
72デフォルトの名無しさん:2001/06/07(木) 01:58
拾うのはいいけど、理解できない(ほど高級なものを拾う)とメンテ大変だよ。
73デフォルトの名無しさん:2001/06/07(木) 02:26
>>51
ExitWindowsExec API かな。
74デフォルトの名無しさん:2001/06/07(木) 10:32
>>69
の方法を見せてくれないっすか。
リストボックスにTextBoxの文字列を渡す
普通の方法がわかりません。
TextBox.Textの改行をSplitでわけて代入するの?
<<なんか不要な泥臭いコードを実行している気がする

リストボックスを動的に生成したりしてもいいものなのでしょうか?
75>>74:2001/06/07(木) 12:08
69じゃないけどね
「泥臭い」とか言う位なら、最初からソートアルゴリズム実装しなよ

> リストボックスにTextBoxの文字列を渡す
> 普通の方法がわかりません。

For Each s in Split(TextBox.Text, vbCrLf)
ListBox1.AddItem s
Next

これだけじゃん
76デフォルトの名無しさん:2001/06/07(木) 14:26
>>75
マジさんくすこ。
いや、VBの文法を把握しきれていないから

S = Split(TextBox.Text, vbCrLf)
FOR i=0 TO UBOUND(S)-1
LISTBOX1.AddItem S(i)
NEXT

とか書こうかと思っていたけど
ある意味、おんなじですか。
77デフォルトの名無しさん:2001/06/07(木) 14:41
>>76それって泥臭いですか?
泥臭いと感じないヲレは染まってますか??
78デフォルトの名無しさん:2001/06/07(木) 15:26
>>77
いえ、なんというかもっとエレガントな
   Text1.Text = List1.何とか
こんな方法があるのかとおもってしまったのです。

書いてみましたが、関数の外部にList1が必要なのは
嫌なので、関数内部で動的に生成したいのですが
どのようにしたらよいのでしょうか?

Private Sub TextSort(ByRef TextBox As TextBox)
 Dim c As Variant
 Dim i As Integer
 List1.Clear

 For Each c In Split(TextBox.Text, vbCrLf)
  List1.AddItem c
 Next

 TextBox.Text = ""
 For i = List1.ListCount - 1 To 0 Step -1
  TextBox.SelStart = Len(Text1.Text)
  TextBox.SelText = List1.List(i) & vbCrLf
 Next
End Sub

Private Sub Command2_Click()
 Call TextSort(Text2)
End Sub
79デフォルトの名無しさん:2001/06/07(木) 18:14
たのみますよ。
80デフォルトの名無しさん:2001/06/07(木) 23:30
>>78
コントロール配列への動的追加ならLoadステートメントだけど、
デザイン時に非表示で貼っておいた方がいいんじゃない?

VB使ってるのになんでそんな所にこだわるのかよくわかんない。
こだわるんだったらソート関数自作すれ。
81デフォルトの名無しさん:2001/06/07(木) 23:49
>>80
スンマソン。
コントロルの動的生成が
どこぞの言語のように簡単に出来るかと思ったもので
出来ないのね。
やっぱ、VBって...........ってちょと思ったけど、
まあいいや。非表示にして張っておくよ。

さんくすね。
82デフォルトの名無しさん :2001/06/08(金) 01:08
コレクション使え
83デフォルトの名無しさん:2001/06/08(金) 13:52
>>82
わかんないよ、ソートできるの?
84VB厨:2001/06/10(日) 10:51
a-ge-
85デフォルトの名無しさん:2001/06/10(日) 10:55
スレッドプログラムの作り方を教えてください
お願いします
86デフォルトの名無しさん:2001/06/10(日) 12:39
>>85
糞言語VBじゃ無理、諦めろ
87DataReportで累計:2001/06/10(日) 14:01
DataEnvironmentとDataReportを使うと、VBのコードを書かなくても
Accessのようにクエリーやレポートが作成できますよね。
で、DataReport 使ったときに、「累計」を表示する方法は ありませんか?

# Access だと、レポート作成の際にテキストボックスの
# RunningSum/集計実行プロパティをTrueにすると累計を
# 出してくれるのですが。。
88バカプログラマ:2001/06/10(日) 22:40
お馬鹿な質問ですが許してください。
TEXTBOXのMULTILINEプロパティやSCROLLBARSプロパティを
プログラム中で動的に変化させたいのですがどうすればよいのでしょうか?
値のみ取得可能なプロパティですというエラーが出てしまいます。
89お勧めHP:2001/06/11(月) 01:12
迷わずダウンロードしろ、API-Guide
http://www.allapi.net/php/mail/mailer.php
90お勧めHP:2001/06/11(月) 01:13
直リン駄目だった
http://www.allapi.net
91デフォルトの名無しさん:2001/06/11(月) 02:33
テキストデータ(8bit文字)をBinaryでOPENして、Print inputB$(2,Filenumber)
とすると??と表示されてしまいます。
何故でしょうか?VB5のときは大丈夫だったのに・・
よろしくお願い致します。
92デフォルトの名無しさん:2001/06/11(月) 12:14
VB6から、htmlファイルをネスケかIEのブラウザで
表示させたいのですができません。
Shell(xxxx.html)
ではダメでした。どうすればいいのでしょうか?
93デフォルトの名無しさん:2001/06/11(月) 12:44
94デフォルトのやる気なし:2001/06/11(月) 14:35
>>92
Shellを使うなら、
Shell("起動するアプリ" & " " & "開くファイル")
でないとダメ。(どちらもフルパス)

アプリケーションと拡張子との関連付けも自動判定して開くなら、
ShellExecute(API関数)を使ってください。

(他の方法もありそう。ツッコミきぼー)

- 以上 -
95デフォルトの名無しさん:2001/06/11(月) 14:48
>>93>>94
ご多忙のところありがとうございます。
ブラウザを立ち上げるにはAPIを使うしかありませんか。

もしくはVBのウェブブラウザコントロールを使いたいのですが、
使い方が分かれば教えていただけますでしょうか?
カスタムコントロールなのか、ヘルプファイル載っていないので・・・。
htmlファイルを表示するプロパティなんかあるでしょうか。
プロパティリストにはそれらしいものは無かったのですが・・・。
96デフォルトの名無しさん:2001/06/11(月) 15:56
VB6 sp5使っているんですけど、
ComboBox か ImageComboBox を
ドロップダウンさせた時に表示する行数を
変更するにはどうしたらよいですか?

デフォルトのままだと小さくて見づらい。

無理手゜すか?
97名無しさん@お腹いっぱい。:2001/06/11(月) 16:02
shellもAPIもウェブブラウザコントロールも使っちゃ駄目。
ふつー使わん。ほんと初心者スレだねここ。

ほれ
Option Explicit

Private Sub Command1_Click()
Dim IE As InternetExplorer
Dim IE As New InternetExplorer
IE.Navigate ("http://www.2ch.net/")
IE.Visible = True
End Sub


Microsoft Internet Controlsを参照設定してからな。
ついでにお気に入りとか履歴バーの有無とかも制御
できるぞ。
9897:2001/06/11(月) 16:07
書き直した。こっちがイベント取得できていいでしょ

Option Explicit
Public WithEvents IE As InternetExplorer
Private Sub Command1_Click()

Dim IE As New InternetExplorer

With IE
.Height = 600
.Width = 600
.AddressBar = False
.MenuBar = False
.ToolBar = False
.Resizable = False
.Navigate ("http://www.2ch.net/")
.Visible = True
End With
End Sub
99デフォルトの名無しさん:2001/06/11(月) 16:08
それって通常使うブラウザをMozillaとかにしてても大丈夫なの?
InternetExplorerが入っていない環境でも大丈夫なの?
(うちは入ってない。Win95SP1。)
100デフォルトの名無しさん:2001/06/11(月) 16:11
(・∀・) 100!
101デフォルトの名無しさん:2001/06/11(月) 16:13
>>97
使っていけない理由は何故なんでしょうか?

ふつー、ってのは理由にならないですよね。
避けられる事が多いのならばそれなりのデメリットがあると思うのですが。
10297:すいません間違えました:2001/06/11(月) 16:17
Option Explicit
Public WithEvents IE As InternetExplorer

Private Sub Command1_Click()

Set IE = New InternetExplorer 'ここ

With IE
.Height = 600
.Width = 600
.AddressBar = False
.MenuBar = False
.ToolBar = False
.Resizable = False
.Navigate ("http://www.2ch.net/")
.Visible = True
End With
End Sub
10397:2001/06/11(月) 16:20
>101
煽るような言い方ですまぬ。

クラスから使用したほうがイベントやメソッドで制御しやすいため。
104101:2001/06/11(月) 16:30
失礼。こっちの書き方も煽りっぽかった。

当方VBではなくCプログラマでShellExecuteを使っているので、
この関数って使ってはいけないものなのかと思ってしまったので。
105デフォルトの名無しさん :2001/06/11(月) 16:31
Mozillaじゃだめでしょ。
10697:2001/06/11(月) 16:33
>101
当方も今年度からVCに移行(DB中心だけど)させられました。
貴方よりVCど素人です。謝ります。
10797:2001/06/11(月) 16:48
108デフォルトの名無しさん:2001/06/11(月) 20:39
ぜんぶ英語ヤダ
109デフォルトの名無しさん:2001/06/11(月) 20:46
>>96です。
可能か不可能かだけでも教えてください〜。
110デフォルトの名無しさん:2001/06/11(月) 22:50
質問!⇒Microsoft Visual Basic 6.0LEARNING EDITIONについてです。
WINに付属のPAINTで、作成した画像ファイルの拡張子を
『.ICO』に変え、Microsoft Visual Basic 6.0LEARNING EDITION
で作成したプログラムで使おうと、FORMプロパティでアイコンを変
更しようと、PAINTで作成したファイルを選択したところ「プロパ
ティの値が不正です」と返されてしまい、変更完了しません。指南
書に付属しているアイコンはつかえました。PAINTで作成したファ
イルはVBでアイコンとして使えないのでしょうか?使えるのであれ
ば対処方法を教えてください。何卒御教授の程よろしくお願いいた
します。
111FAQさん:2001/06/12(火) 02:36
>>110
BMPとICOはファイルの中身が違う。
ツールを使って変換しないと無効。
ツールはVectorで探せばある。
112デフォルトの名無しさん:2001/06/12(火) 13:30
あるフォルダの中にあるファイルの中で
一番日付が新しいファイル名を取得したいのですが
どのようにしたらよいのでしょうか?
VB6でOSはWIN98です。

FileDateTimeで全てのファイルの日付を
比較する方法もあると思うのですが
もっと効率の良い方法があったら教えてください。
お願いいたします。
113デフォルトの名無しさん:2001/06/12(火) 13:42
一番日付けが新しいかどうかは、全ファイルの情報を取得して、
比較してみるしか無いんじゃないかな。
全てのファイルの日付けが同じ可能性もあるし、
日付け情報が無効な場合も有りえる。
そういう場合の細かい対処を考えると、自分でやるしか無いんではないかと。
114デフォルトの名無しさん:2001/06/12(火) 13:46
直前にアクティブだったウインドウを、アクティブにするにはどうしたらいいですか?
SendKyes で Alt + Tab を送る以外で。
115デフォルトの名無しさん:2001/06/12(火) 14:13
↓の日本語訳ってありますか?
名前付け基準/コーディング規約
http://www.xoc.net/standards/rvbanc.asp
http://www.xoc.net/standards/rvbacc.asp
116デフォルトの名無しさん:2001/06/12(火) 14:25
>>115
http://www.excite.co.jp/world/url/
やっぱ↑なのじゃダメ?
117デフォルトの名無しさん:2001/06/12(火) 14:36
>>116
ちょっとした文章なら、いいけどね
自分の英語力の無さが情けない・・・
118110:2001/06/12(火) 15:07
>>111さん。
ありがとうございます。
Vectorにtoolたくさんありました。
119デフォルトの名無しさん:2001/06/12(火) 18:49
Exeとして実行した場合
自分自身のExeの名前を取得することは出来ますか?
120デフォルトの名無しさん:2001/06/12(火) 18:49
age
121デフォルトの名無しさん:2001/06/12(火) 19:31
>>119
App.EXEName
122デフォルトの名無しさん:2001/06/13(水) 10:59
ではインタープリタで実行しているときは
そこにはどんな値が???
123デフォルトの名無しさん:2001/06/13(水) 12:26
プロジェクト
124デフォルトの名無しさん:2001/06/13(水) 14:32
Private Sub CommandButton2_Click()
 Dim S() As String

 MsgBox UBound(S)
End Sub

こうするとエラーが出てしまいますが

Sの配列の領域が定義(ReDim)されているか
否かを判断するにはどうしたらよいのでしょうか。
125デフォルトの名無しさん:2001/06/13(水) 14:46
Private Sub CommandButton2_Click()
 Dim S() As String

 'ReDim S(0)

 If S = Empty Then
  MsgBox "S定義されてない"
 Else
  MsgBox Sの要素数はUBound(S)
 End If
End Sub

こんな感じにしたいのです。
126デフォルトの名無しさん:2001/06/13(水) 14:58
W2K上でVB5.0を使っているのですが、
MicrosoftWindowsComonContorols6.0などのActiveXコントロールを
追加して、使用すると「このコンポーネントのライセンス情報が
見つかりません。デザイン環境でこの機能を使うために必要な
ライセンスがありません」となり使用できません。
解決策をご教授下さいませゴルァ
127新設!!!!!:2001/06/13(水) 14:58
128デフォルトの名無しさん:2001/06/13(水) 14:59
Private Sub CommandButton2_Click()

On Error Goto Resume
 
 Dim S() As String

 'ReDim S(0)

  MsgBox Sの要素数はUBound(S)

Exit

ERROR:
IF Err.Number=調べる
MsgBox "S定義されてない"
End Sub

こんなのは嫌かな?
129デフォルトの名無しさん:2001/06/13(水) 15:02
OSから再インストール>126

イエーい。
130デフォルトのやる気なし:2001/06/13(水) 15:04
>>128

調べるのがめんどくさい Or コーディングがめんどくさいとき、
そのテの手法?をよく使います。(要するに、手抜きじゃん)
131128:2001/06/13(水) 15:08
をいをい

MsgBox Err.Numberですぐわかるでしょ。
また、Debug.Print Err.Numberとか。
132デフォルトの名無しさん:2001/06/13(水) 15:31
ありがとうございます。
こんな感じでいいんですよね?

Function NullStrArray(S() As String) As Boolean
 Dim A As Integer
On Error GoTo ERROR:

 A = UBound(S)
 NullStrArray = False
 Exit Function

ERROR:
 NullStrArray = True
End Function

Private Sub CommandButton2_Click()
 Dim S() As String

 'ReDim S(0)

 If NullStrArray(S) Then
  MsgBox "Sは定義されてない"
 Else
  MsgBox UBound(S)
 End If
End Sub

エラーナンバーってどのように定義すればよろしいでしょうか?
133デフォルトの名無しさん:2001/06/13(水) 15:35
>>126
W2K上でVB5.0はサポートされていない。
VB6SP4以上を使用すべし。
134デフォルトの名無しさん:2001/06/13(水) 15:51
>>126です >>129 >>133サンクス

別PCのNT4.0sp6上にVB5.0sp3を新規インストールしても
同じ症状が出ました。これはVBのCDが逝ってマスカ?
135128:2001/06/13(水) 16:40
Option Explicit

Function ErrTrap(objErr As ErrObject) As Long

With Err
Select Case .Number
Case 13
MsgBox "エラー:" & .Number & vbCrLf & "内容:" & "Sは定義されてない"
Case 9
MsgBox "エラー:" & .Number & vbCrLf & "内容:" & "Sは定義されてない"
Case Else
MsgBox "エラー:" & .Number & vbCrLf & "内容:" & .Description
End Select
.Clear
End With
End Function

Private Sub Command1_Click()

On Error GoTo ERROR:
Dim S() As String
Dim ret As Long

'ReDim S(5)

MsgBox UBound(S)

Exit Sub

ERROR:
Call ErrTrap(Err)
End Sub
136デフォルトの名無しさん :2001/06/13(水) 16:47
137134:2001/06/13(水) 16:56
>>136
多謝!多謝! 逝ってきます!
138デフォルトの名無しさん:2001/06/13(水) 17:16
VBでDDEってどうやるんですか?
ヒントでも良いのでご指導ください。
139デフォルトの名無しさん:2001/06/13(水) 18:55
>>138
1.EXCELのデータの入っているセルを適当にコピー
2.VBのエディットボックスにフォーカス当てて、[編集]-[リンクのコピー]
3.EXCELに戻ってセルの値を変えてみる・・あら不思議。

LinkTopic,LinkItemのプロパティを見てヘルプも引いてみよう。
ところで向こうで暴れまくってるね。
140訂正:2001/06/13(水) 18:58
2.は[リンク貼り付け]でした。
141デフォルトの名無しさん:2001/06/13(水) 23:15
VBで、割り算を計算させて、あまりが出るようにしたいのですが、
どうやってやるのですか?
142デフォルトの名無しさん:2001/06/13(水) 23:19
>>141
Mod のことかな?
143141:2001/06/13(水) 23:23
>>142
そうです。
それの出し方が解らないのです。
144デフォルトの名無しさん:2001/06/13(水) 23:36
a - a / b * b>143
145141:2001/06/13(水) 23:40
>>144
すみません。
「変数ではなく、プロシージャを指定して下さい」と出てしまうのですが。
146デフォルトの名無しさん:2001/06/13(水) 23:49
とりあえず、エラーになる行書いてみなよ
147141:2001/06/13(水) 23:51
>>146
a - a / b * b
です。
148144:2001/06/14(木) 00:05
>>141
*は掛け算
/は割り算
の意味
t機能にbasicコードに変換してくれ
149144:2001/06/14(木) 00:06
x t機能
o 適当
150デフォルトの名無しさん:2001/06/14(木) 00:11
c = a - a / b * b
151141:2001/06/14(木) 00:13
>>144
すみません。
よくわからないんで、ソースコードを全部書いてくれませんか?
お願いします。
152デフォルトの名無しさん:2001/06/14(木) 00:15
そらー、代入もしないで、ただ剰余求めたって、エラーになるべさ。
153デフォルトの名無しさん:2001/06/14(木) 00:16
てゆうかさ、
C = A Mod B
で十分じゃん
154144:2001/06/14(木) 00:16
>>151
aとbは変数の意味。
aとbに何か数字入れて自分で試してみろ
ちなみに演算子の優先順位はこう
(a - ((a / b) * b))
155144:2001/06/14(木) 00:17
なんだ。
Modがあるのか。
156141:2001/06/14(木) 00:19
>>153
Modの使い方が解りません。
157144:2001/06/14(木) 00:20
氏ね>156
158144:2001/06/14(木) 00:22
つーかさ、VBってインタプリタじゃないの?
その場で実行できんの?
159デフォルトの名無しさん:2001/06/14(木) 00:23
>>157
それはないと思う。
初心者が、ほんとにわからなくて聞いているのかもしれないし。
あくまでここは質問スレだから。
160144:2001/06/14(木) 00:27
>159
氏ねが言い過ぎ?
じゃあVBのマニュアル最初っから読めよ>141
四則演算ぐらいわかるだろ?
161141:2001/06/14(木) 00:27
>>160
そんな物持ってません。
162144:2001/06/14(木) 00:30
あっそ
163デフォルトの名無しさん:2001/06/14(木) 00:32
■■■■終了■■■■
164デフォルトの名無しさん:2001/06/14(木) 00:35
■■■■再開■■■■
165デフォルトの名無しさん:2001/06/14(木) 00:36
■■■■再開してもいいけど、141のは終了■■■■
166141:2001/06/14(木) 00:36
>>160
何ですかそれ?
167デフォルトの名無しさん:2001/06/14(木) 00:36
でもやっぱり
■■■■終了■■■■
168デフォルトの名無しさん:2001/06/14(木) 00:37
でもやっぱり
■■■■再開■■■■
169デフォルトの名無しさん:2001/06/14(木) 00:38
要するに
■■■■終了■■■■
170デフォルトの名無しさん:2001/06/14(木) 00:39
要するに
■■■■再開■■■■
171デフォルトの名無しさん:2001/06/14(木) 00:40
結果として
■■■■終了■■■■
172デフォルトの名無しさん:2001/06/14(木) 00:40
■■■■終了■■■■
■■■■再開■■■■
だけで999まで行くスレ。いや過ぎ。

つーか、まずマニュアル入手しましょう。>>141
セイキバン購入してな。
173デフォルトの名無しさん:2001/06/14(木) 00:40
結果として
■■■■再開■■■■
174デフォルトの名無しさん:2001/06/14(木) 00:41
(・∀・)シュウリョウイイ!
■■■■終了■■■■
175デフォルトの名無しさん:2001/06/14(木) 00:41
(・∀・)サイカイイイ!
■■■■再開■■■■
176デフォルトの名無しさん:2001/06/14(木) 00:42
163=164=.....=174=175
177174:2001/06/14(木) 00:43
もうつかれた
誰か引き継ぎしてくれ
■■■■終了■■■■
178デフォルトの名無しさん:2001/06/14(木) 00:43
■■■■再開■■■■
179デフォルトの名無しさん:2001/06/14(木) 00:45
┌─────────┐
│                  │
|    シュウリョウイイ!   |
│                  │
└―――──――――┘
     ヽ( ・∀・)ノ
        ( へ)
        く
180デフォルトの名無しさん:2001/06/14(木) 00:47
1.
 (。_。) アレレ
ノ(   )ヽ ゲンキガナイヨ?
|υ|

2.
 (。_。) イジッテミヨウ
  (ヽノ) モゾモゾ
 |δ|

3.
ヽ(´▽`)ノ ワアイ
  ( ∩ )  タッタヨ!
 / ω \

4.
ヽ(*゚Д゚)ノ  ウワァ
  ( η)⌒ヾ ナニカデテキタ
  ノωヽ

5.
 (-_-) ナンダカ
 (∩∩) aメンタル…
■■■■再開■■■■
181デフォルトの名無しさん:2001/06/14(木) 00:49
このスレは終了再開スレになりました。
182デフォルトの名無しさん:2001/06/14(木) 00:50
終┃ 了┃ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃
━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛

終┃ 了┃ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃
━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛

終┃ 了┃ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃
━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛

終┃ 了┃ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃
━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛

終┃ 了┃ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃
━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛

終┃ 了┃ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃
━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛

終┃ 了┃ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃
━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛

終┃ 了┃ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃
━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛
183141:2001/06/14(木) 00:53
皆様、大変ご迷惑をおかけして、申し訳ありませんでした。
今度の週末にでも、VBの正規版を買ってきます。
皆様、本当にありがとうございました。
184デフォルトの名無しさん:2001/06/14(木) 00:54
再┃ 開┃ 再┃ 開┃ 再┃ 開┃ 再┃ 開┃
━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛

再┃ 開┃ 再┃ 開┃ 再┃ 開┃ 再┃ 開┃
━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛

再┃ 開┃ 再┃ 開┃ 再┃ 開┃ 再┃ 開┃
━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛

再┃ 開┃ 再┃ 開┃ 再┃ 開┃ 再┃ 開┃
━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛

再┃ 開┃ 再┃ 開┃ 再┃ 開┃ 再┃ 開┃
━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛

再┃ 開┃ 再┃ 開┃ 再┃ 開┃ 再┃ 開┃
━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛

再┃ 開┃ 再┃ 開┃ 再┃ 開┃ 再┃ 開┃
━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛

再┃ 開┃ 再┃ 開┃ 再┃ 開┃ 再┃ 開┃
━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛
185デフォルトの名無しさん:2001/06/14(木) 00:54
       〈 ̄ヽ
 ,、____|  |____,、
〈  _________ ヽ,
 | |             | |
 ヽ'  〈^ー―――^ 〉   |/
    ,、二二二二二_、
   〈__  _  __〉
      |  |  |  |
     / /  |  |    |\
 ___/ /  |  |___| ヽ
 \__/   ヽ_____)
186デフォルトの名無しさん:2001/06/14(木) 00:56
        !    こ
    い             ん

 ざ                   な

う         あ  あ        糞
       ゃ         あ
                       ス
     じ      ぁ  ぁ
                      レ
      e
                    は
         g       s
             a
187('∀`):2001/06/14(木) 00:57
('∀`)<終了〜
188('∀`):2001/06/14(木) 00:58
('∀`)<再開〜
189デフォルトの名無しさん:2001/06/14(木) 01:00
┌────────────┐
│      ∧∧           終 │
│ ○   (. ゚д゚)         了 │
│   ヽ/ つ日).~~        │
│ 6  (_ __)          │
│ 点                     │
└────────────┘
190(´∀`):2001/06/14(木) 01:01
 ∧__∧   / ̄ ̄ ̄ ̄
 (´∀`) < 再開〜
 (⊃  \⊃ \____
  \   )ρ
   く  く
191デフォルトの名無しさん:2001/06/14(木) 01:02
本題に戻した方がいいのでは?
VB初心者はいっぱいいるし。
このままでは、スレ乱立の危険性もある。
192デフォルトの名無しさん:2001/06/14(木) 01:02
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| 終了
\___ _____________
        |/
        ∫              ∫
   ∧∧. ∬ ..       ∧,,∧ ∬
   ( ゚Д゚ノ.っ━~      ミ゚Д゚,,,ノ,っ━~
_と´_   ノ_∀_∀_と~,,, . ~,,ノ_.
    .(_/ .),  .┷┳┷   .ミ,,,/~),  |
 ̄ ̄ ̄.し'J ̄ ̄...┃  ̄ ̄ ̄ .し'J ̄ ̄ ̄|..
                /|
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄
| 再開
\_______________
193デフォルトの名無しさん:2001/06/14(木) 01:04
                     |\
┌──────────┘- \
│                    \
|       終              >
│                     /
└──────────┐- /
      ヽ(´ー`).ノ       |/
        (  へ)
        く
                  - = ≡三                    |\
               - = ≡三  ┌──────────┘- \
               _ = ≡三    │                   \
            ―  =三三    |     了                >
                ̄ = ≡三    │                    /
               - = ≡三  └──────────┐- /
        (´ー`)        - = ≡三                     |/
      ( ヽ ヽ)
       /  >
194デフォルトの名無しさん:2001/06/14(木) 01:07
          / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧ ∧   <   終了
  (   ,,)    \______________
〜(___ノ


           / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧ ∧    <   再開
  (,,・Д・)     \_____________
〜(___ノ
195デフォルトの名無しさん:2001/06/14(木) 01:11
  ゝ‐――――∂――∂――――∂――∂――――ゝ
          /   /       /   /
          /   /       /   /
          /   /  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
         /   / < このシュウリョウってどうよ?
        /   /   \__________
        /   /       /   /
       /   /       /   /
     Λ_/Λ  /     Λ_/Λ  /  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ( /∀´)/     (´∀` ) / <ある意味終わってるよな!
    (つ   つ     ⊂/   つ   \__________
   ←λ_ ~) ~)ヽ   ←λ_~) ~)ヽ
   ヽー(__)_) ゝ  ヽー(__)_) ゝ ゝ
196デフォルトの名無しさん:2001/06/14(木) 15:20
荒らされている所恐縮なのですが

Private Sub Command1_Click()
 Dim Strs() As String

 Strs = Split("", "A")

 MsgBox UBound(Strs)
End Sub

これって-1が表示されるのですが
この現象はなんですか?
197("A")?:2001/06/14(木) 18:52
("A")?
198デフォルトの名無しさん:2001/06/14(木) 19:00
>>196
Split関数の仕様が
「引数 expression が長さ 0 の文字列 ("") である場合、Split 関数は、
要素もデータもない空の配列を返します。」

こうだから、そういうもんじゃない?

>>197
ちょっとわらた(w
199デフォルトの名無しさん:2001/06/14(木) 20:52
>Strs = Split("", "A")
この行を取ると最後の行で実行時エラーになるね。
Strsは最初から空の配列のはずだが・・・
200デフォルトの名無しさん:2001/06/14(木) 22:56
("∀")?
201佐藤浩嗣:2001/06/15(金) 10:47
Word VBAで以下のようにExcel Worksheetを開いてデータを参照するプログラムの終了後自動的にWorksheetを閉じて、Excelを終了するにはどのようなコードを記述すればよいのでしょうか?

Set ExcelObject = CreateObject("Excel.Application")
ExcelObject.Visible = True
Set ExcelBook = ExcelObject.Workbooks.Open(FileName:="c:\My Documents\Vba\dictionary.xls")
ExcelBook.Worksheets(1).Activate
202デフォルトの名無しさん:2001/06/15(金) 12:10
ExcelObject.Quit
Set ExcelObject = Nothing

#こんな所に実名、実メアド書いちゃ駄目
203デフォルトの名無しさん:2001/06/15(金) 12:20
すいません。教えてください。
文字列を画面に斜めに表示したいのですが、どうすればできますか?
204デフォルトの名無しさん:2001/06/15(金) 12:42
>203
CreateFontIndirect() API を使って論理フォントを作成して
TextOut() API を使って画面の hDC に出力する
205203:2001/06/15(金) 13:01
>204
ありがとうございます。
やってみます!
206now unanimous:2001/06/15(金) 14:25
>202
ありがとうございました。Excelが開きっぱなしでみっともなかったのですが、うまく閉じてくれました。
実名、実アドはまずいでしょうか?住所や電話番号はまずいと思いますけど?
実名は本当はハンドルかもしれませんし?
207デフォルトの名無しさん:2001/06/15(金) 14:34
いや、どうでもいいんじゃない?
君さえよければさ。
メールアドレスがSPAMで埋まっても、名前からいろいろ検索されても。
208デフォルトの名無しさん:2001/06/15(金) 15:19
どうでもいいけど、なんか冷める
209デフォルトの名無しさん:2001/06/15(金) 16:27
ADSIでActiveDirectoryとExchangeServerを操っている人いない?
210デフォルトの名無しさん:2001/06/15(金) 18:59
申し訳ございません。どのようにお詫びしてよいかわかりませんが、今後十分注意いたします。どうぞお許しくださいますようお願いいたします。
211デフォルトの名無しさん:2001/06/15(金) 19:45
>>210
なにをお詫びしているんだ?
ジツアド晒した事?
自分が困るだけだから、ワビル必要はあるまい。

2chはちょっと痛い場所だから
なれないうちは
他の親切な場所で質問するとよいよ。
212デフォルトの名無しさん:2001/06/15(金) 20:01
親切な人間の多いスレだな(w
213デフォルトの名無しさん:2001/06/15(金) 20:11
>>212
初心者スレだからな。

糞スレたててたら、ぶち頃しだけどな。
214デフォルトの名無しさん:2001/06/16(土) 00:12
>>209
なぜ最後だけ小文字?
215浦島次郎:2001/06/16(土) 02:41
ずっとFreeBSDってOSを使っていたのですが、
今年になってMACを購入しまして、Windows98を使っています。
先日、VisualBasicなる物を知りましたが、このBasicの対象としている
開発アプリケーションはゲームなのでしょうか?仕事で使うようなシステム
なのでしょうか?どんな事に不向きな言語なのでしょうか、教えて下さい。

今、作りたいプログラムは、NC用のエディタです、数万行程度のNC用のプロ
グラムをエミュレートする機能も付け加えてみたいと考えています。
恥ずかしいのですが、言語はCとアセンブラしかできません(C++も駄目です)
こんなレベルの私でもVBを使いこなせるでしょうか。宜しくお願いします。
216デフォルトの名無しさん:2001/06/16(土) 02:44
NCってなに?
つーか、
>今年になってMACを購入しまして、Windows98を使っています。
ネタですか?
217浦島次郎:2001/06/16(土) 02:48
説明不足でごめんなさい、ネタじゃないんですVirtualPCでWindows98つかってます。

NCはコンピュータ制御の旋盤です。
218デフォルトの名無しさん:2001/06/16(土) 02:54
>>217
CとASM知ってるんならVBはやっても身にならないよ。
完全にWindows依存の言語処理系だし。
UNIX経験があるなら、まだDelphiかKylix
(どっちも言語はOOPascal)かC++Builderの方がお勧め。
エディタ作るんならなおさら。
コア部をCやASMで書いて、GUI部分はDelphi/kylixを使うとか。
とにかくVBの事はすっぱり忘れた方が良いのは確か。
219デフォルトの名無しさん:2001/06/16(土) 02:57
あ、GUI部をVBで書くって手もあるけど、
余計な物(OCXやVBランタイム。UNIXでいうsoライブラリ)を
インストールしなくちゃならない。
220浦島次郎:2001/06/16(土) 03:03
>>218
そーなんですか、全然知らない世界だったもので、色々と資料見たの
ですが見た目、同じに見えまして。(^^;;
C++BuilderとDelphi/Kylixを調べてみます。有難うございました。

#アセンブラは、MicrosoftのMASMとかまだあるのでしょうか・・。
221浦島次郎:2001/06/16(土) 03:05
VBにもシェアードライブラリが必要なんですか、参考になります。
C++BuilderやDelphi/Kylixにはsoは必要ないのでしょうか?
222デフォルトの名無しさん:2001/06/16(土) 03:15
>>221
>#アセンブラは、MicrosoftのMASMとかまだあるのでしょうか・・。
昔はン万円もしたMASMは現在マイクロソフトのサイトに行って、
DDKというパッケージを取ってくれば、その中に入っているので
タダで入手できるよ。

>C++BuilderやDelphi/Kylixにはsoは必要ないのでしょうか?
少なくともVBランタイムのインストールの様な物は無いです。
1つの実行ファイルが作られる筈。
(ランタイムを別個のファイルにもできるけど)

CやASMで作ったモジュールをGUIモジュールと結合したい場合、
さっき言ったDLLという(soと似た)形式を作ってリンクする。
223浦島次郎:2001/06/16(土) 03:22
MASMが無料になっていたなんて、知りませんでした。

今、検索して来ましたが、C++Builderってのが良さそうなので
これで挑戦してみます。
(Borlandなんですね、古い人間なんで名前だけで安心感がある f(^^;)
ついでに、Delphiってのも調べてみたらTurboPascal?なんですね、
インラインアセンブラも書けるみたいだし、こっちも良さそう. (^_^;;

とても参考になりました。
224浦島次郎:2001/06/16(土) 03:25
結局、VBの話しじゃなくなってしまいました申し訳ありませんでした。
225デフォルトの名無しさん:2001/06/16(土) 15:07
最近エクセルでVBAを始めたのですが、参考になるようなソースコードが
大量に落ちている場所はありませんか?
自分でも捜しているのですが、あまりいいのが見つかりません.
お願いします。
226デフォルトの名無しさん:2001/06/16(土) 19:19
すれちがいで申し訳ない。

VBSでIEの右クリックメニューを色々いじりたいんだけど、
どこでリファレンスが手に入るか分からないのですが。

知ってたら誰か教えて〜。方々探したけれど見つからない。
227デフォルトの名無しさん:2001/06/16(土) 23:45
>>215
制御屋さんにはCQ出版のInterfaceって雑誌がお勧め。
(ちょっと前だったらDelphi/BCBの連載やってた。)
228デフォルトの名無しさん:2001/06/17(日) 22:27
>>225
Excelファンクラブ
229デフォルトの名無しさん:2001/06/18(月) 10:59
CreateObjectで作成したオブジェクトから
イベント取得ってできます?

おれには無理だ・・・。
230D使いβ:2001/06/18(月) 20:26
>>229
WithEventsキーワードを使うよん。

Option Explicit

Public WithEvents Exl As Excel.Application

Private Sub Command2_Click()
 Set Exl = CreateObject("Excel.Application")
 Exl.Visible = True
End Sub

Private Sub Exl_NewWorkbook(ByVal Wb As Excel.Workbook)
 MsgBox "新しいワークブック作ったよ。"
End Sub
231VBびぎな:2001/06/18(月) 23:25
>>229

CraeteObjectで作成しているCOMも自分で作ってるなら、

自分IFのオブジェクトを渡して、
そのオブジェクトを使ってコールバック関数のように使うのはいかが?

ただ、呼び元もCOMじゃないといかんとは思うけど
232初心者:2001/06/18(月) 23:36
VB始めたばかりの初心者です。
お教え願いたいことがあるのですが,
VB6を使っているのですが、メッセージボックスに表示させる文字のフォントサイズって
変更できるのでしょうか?

色々な本で探したのですが載ってないのです。
どうかお教えください。
233VBびぎな:2001/06/19(火) 00:25
>>232
メッセージボックス用のフォームを作って。
それを使った方が簡単だと思いますよ。
234デフォルトの名無しさん:2001/06/19(火) 00:30
235D使いβ:2001/06/19(火) 00:33
>>231
イベントの送出もEventキーワードで出来たはず。
Public Event MyEventProc
として、
RaiseEvent MyEventProc
で実際に通知します。

>>232
[コントロールパネル]-[画面のプロパティ]

ってか、ダイアログ自作した方が早くない?
236VBびぎな:2001/06/19(火) 01:06
>>234
あ・・多分、私勘違いしましたね・・・

「プロジェクト」→「参照設定」とかで、参照設定しないで、
Set oObj As Object
という風に定義したオブジェクトに対して
Set oObj = CreateObject("なんかのProgID")
で作成して。
この作成したオブジェクトからイベントを取得する方法だと思ったんですよね。

勘違いしたようで、どうも、スマソ。
去ります。
237デフォルトの名無しさん:2001/06/19(火) 05:30
VB初めて二日目なんですけど、フォルダ選択ダイアログってどうやって出すんですか?
いろいろコンポーネントをフォームに付けたんですけど、できませんでした。
238237:2001/06/19(火) 07:03
ネットで検索したらWinAPIと使うとできるってありました。
239232:2001/06/19(火) 09:13
やっぱりダイアログを自分で作った方が早いんですね
Windows自体のシステムフォント自体を変えるのは嫌なので

どうもありがとうございました
240デフォルトの名無しさん:2001/06/21(木) 00:10
msgboxで、メッセージとOKボタンのみ表示させてるのですが、ボタンを
押さないと次の処理に進みません。
OKボタンを押さなくても次の処理に進んでほしい場合、どんな手を使っ
てますか?よろしくお願いします。
241デフォルトの名無しさん:2001/06/21(木) 00:12
>>240
じゃあ何故MsgBoxを表示させるのか?
242デフォルトの名無しさん :2001/06/21(木) 00:47
糞スレをsageるためにもだれか教えてやってくれ。

http://piza.2ch.net/test/read.cgi?bbs=tech&key=993048321&ls=50
243237:2001/06/21(木) 07:59
私の使用するアプリなんかで、MsgBox の「OK」ボタンとかにに自動的に
マウスカーソールが移動しますけど、その機能って VB で出来ますか?
Win2000 使用していてマウスプロパティで「規定のボタンに移動」をチェックしていても
自作のダイアログボックスの「OK」とかに移動しません。
244デフォルトの名無しさん:2001/06/21(木) 09:33
>>240
タイマー付きのモードレスのフォームを自作するのは?
245デフォルトの名無しさん:2001/06/21(木) 09:39
>>243
GetWindowRectと
SetCursorPosの合わせ技
246(>Д<)マズー:2001/06/21(木) 12:55
すみません。
EXCELのマクロで質問させてください
EXCEL4.0の式で

=SELECT(OFFSET(ACTIVE.CELL(),,):OFFSET(ACTIVE.CELL(),,1))

というのはVBではどういう式になるのでしょうか?
お願いします。
247デフォルトの名無しさん:2001/06/21(木) 14:30
誰か教えてください。(TT)

VBから、あるMDBに現在接続している人数を取得することは可能でしょうか?

テーブルに接続フラグみたいなものもてば出来るのですが、
この方法以外でなにかありましたらお願いします。
248デフォルトの名無しさん:2001/06/21(木) 14:57
>>247
net fileコマンドをリダイレクトしてロック数を調べる。
*実際にロックされるのは*.ldbファイルの方。
249デフォルトの名無しさん:2001/06/21(木) 17:59
>>248
おぉぉ!今までldbって何だぁって思ってた。
ありがとうございます。
バカですいませんでした。(TT)
250デフォルトの名無しさん:2001/06/21(木) 18:04
>>241
MsgBoxもWinAPI32なんですってね
ぜひバイナリが知りたいです
251237:2001/06/21(木) 23:21
>>243
ありがとうございます。
ネットで検索してみます。
252デフォルトの名無しさん:2001/06/22(金) 03:53
>>250
Win32APIだよ。
それと「バイナリが知りたい」って、意味わからんけど。

ネタニマジレス?
253デフォルトの名無しさん:2001/06/23(土) 23:35
age
254デフォルトの名無しさん:2001/06/24(日) 00:21
ウインドウのXY軸を獲得したいのですが、可能でしょうか?
255デフォルトの名無しさん:2001/06/24(日) 00:33
無理です>254
256デフォルトの名無しさん:2001/06/24(日) 00:39
>>254
う〜ん、イマイチ日本語が分からない。
ウインドウを斜めに傾けたいって事なんだろうか。
257254:2001/06/24(日) 00:54
XY軸っていうのも変ですよね・・・ スイマセン
マウスの位置を獲得するように、ウインドウの位置を獲得したいのです。
258デフォルトの名無しさん:2001/06/24(日) 01:09
XY座標っすね。
Me.Left, Me.Top でいいんじゃないかな?
259254:2001/06/24(日) 01:44
ありがとうございます! 獲得できました。
260237:2001/06/24(日) 01:55
私が得をする情報をタダでください。
それによって私は大変な恩恵に預かりますが、あなたには何の
メリットもありません。
でも、いいじゃないですか? どうせ情報なんてタダでしょ?

とても困っているので、情報を知っている人は私を助けなければ
いけません。これは義務です。
初心者にも分かるように説明してください。
私は、ごく普通の人間なので、パソコンのわけの分からない知識は
ありません。勉強するつもりもありません。時間の無駄です。
検索するなんて面倒です。どうしてそんな面倒な事するの?
知ってる人に聞けばいいじゃん。どうせタダだし。

マルチとか質問スレというのはヲタクのルールです。
私は普通の人間なのでヲタクのルールなど知ったこっちゃありません。
早く教えてください!
早く教えろ!
早く!
これだけ言ってもまだ教えねーのか?!
261254:2001/06/24(日) 02:44
↑帰ってくれ
質問したとき、返答が返ってこなくなる。
262デフォルトの名無しさん:2001/06/24(日) 04:35
http://yasai.2ch.net/test/read.cgi?bbs=win&key=991308935からの■お願いです■

400 名前:名無し~3.EXE 投稿日:2001/06/23(土) 17:58
丁度、400 だ(・∀・)イイ!!。
http://namihei.zone.ne.jp/upup/up/390.lzh
必ず、Readme.txt を参照して下さい!

401 名前:     投稿日:2001/06/23(土) 22:51
503で落ちてこないです・・・

402 名前:     投稿日:2001/06/23(土) 22:56
落ちてきました!
最前表示ってのもいいです!

403 名前:名無し~3.EXE 投稿日:2001/06/23(土) 23:46
誰か引継ぎ?する人っているの??

404 名前:名無し~3.EXE 投稿日:2001/06/24(日) 00:07
あげ

405 名前:名無し~3.EXE 投稿日:2001/06/24(日) 04:06
改造者もとむあげ

406 名前:405 投稿日:2001/06/24(日) 04:11
消えていたみたいだからあげ直しします。
http://www.makani.to/akutoku/bbs/upload/dat/519.zip
ZIPのパスは半角小文字でkubotaです

407 名前:405 投稿日:2001/06/24(日) 04:12

パスはkubotarだった

************************************
>>261
それはコピペです。
このプログラム板の数箇所に適当な名前ではってあります(煽り?)。
263256:2001/06/24(日) 07:36
私が得をする情報をタダでください。
それによって私は大変な恩恵に預かりますが、あなたには何の
メリットもありません。
でも、いいじゃないですか? どうせ情報なんてタダでしょ?

とても困っているので、情報を知っている人は私を助けなければ
いけません。これは義務です。
初心者にも分かるように説明してください。
私は、ごく普通の人間なので、パソコンのわけの分からない知識は
ありません。勉強するつもりもありません。時間の無駄です。
検索するなんて面倒です。どうしてそんな面倒な事するの?
知ってる人に聞けばいいじゃん。どうせタダだし。

マルチとか質問スレというのはヲタクのルールです。
私は普通の人間なのでヲタクのルールなど知ったこっちゃありません。
早く教えてください!
早く教えろ!
早く!
これだけ言ってもまだ教えねーのか?!
264デフォルトの名無しさん:2001/06/24(日) 09:14
!kubotatないぞ
265デフォルトの名無しさん:2001/06/24(日) 14:30
http://namihei.zone.ne.jp/upup/up/012.lzh
!kubotar です。ソース付です。
わたしも初心者で超へたれですが、少し改造してみました。
266デフォルトの名無しさん:2001/06/24(日) 18:51
age
267>:2001/06/25(月) 15:37
カレントプロセスの名前を知りたいッス

GetClassNameで親プロセスのハンドルを渡してやりたいのですが、
親プロセスのハンドルを抜くAPIってないですか?
268デフォルトの名無しさん:2001/06/25(月) 16:13
http://homepage2.nifty.com/software/vbunit/translate/tutorial-1.html
ここにあるチュートリアル通りやったのにうまくいきません。

RunVBUnitTutorial.exeを作成しようとすると、
「スタートアップフォームまたはSub Mainが必要です」
とか出ますが、チュートリアル通り、modMainというクラスを作成してそこに
Public Main()とか作成したのになぜかコンパイルできず。

VBUnit2のインストール(regsvr32)も出来ていて、きちんと参照設定されているし
何が悪いのかさっぱり分かりません。
269久遠:2001/06/25(月) 16:13
質問です。
C++でクラスを使ったDLLを作りました。
それをVBで読み出したいのですが・・・
Declear宣言の仕方がよくわかりません。

ご教授願います。
270デフォルトの名無しさん:2001/06/25(月) 16:21
>>269
それをやるならCOMにすべきです。
271デフォルトの名無しさん:2001/06/25(月) 17:23
>>267
GetCurrentProcess
272デフォルトの名無しさん:2001/06/25(月) 17:25
>>269
DEFファイルとextern "C"定義
273デフォルトの名無しさん:2001/06/25(月) 17:39
274デフォルトの名無しさん:2001/06/25(月) 17:46
>>272
「クラスを使ったDLL」て書いてあるじゃん。
275デフォルトの名無しさん:2001/06/25(月) 20:06
>>269
クラス自体をエクスポートしたいのか?
だったらやはりCOMじゃないか?
276デフォルトの名無しさん:2001/06/26(火) 20:41
>>274
すまん。見落とした
じゃ、"ATL COM AppWizard"でさくっとCOM作成
277デフォルトの名無しさん:2001/06/27(水) 16:44
VB4.0(32)で作成した EXEファイル(3.2M)を実行中していたら
下記のエラーが出てしまいました。

(EXEの名前) のスタックエラーです。
モジュール KERNEL32.DLL アドレス :0137.....
          ・
          ・

このようなエラーが出るということは
何かがいけなかっただけなのでしょうか?
278デフォルトの名無しさん:2001/06/27(水) 17:21
>>277
何の関数をcallした時に発生したんすか?
279デフォルトの名無しさん:2001/06/27(水) 18:03
Visual BasicのフォームでExcel worksheetにリストした複数のテキストファイルを新規Word文書に順次コピーして1つのファイルにまとめたいのですが、Visual BasicからWord文書を、「すべて選択、コピー、閉じる、文書1をアクティブ化して、貼り付ける」ところのコーディングを教えていただけないでしょうか?

y = 1
wdName = "filler"
Do While wdName <> ""
wdName = ExcelBook.Worksheets("Sheet1").Cells(y, 1)
Set WordDoc = WordObject.Documents.Open(filename:=File1.Path & "\" & wdName)
Selection.WholeStory 'Word VBAなのでエラーになる
Selection.Copy '同上
ActiveWindow.Close '同上
  Windows("文書 1").Activate '同上
Selection.Paste 'この代わりに下記のコードで動くが無駄がある?

WordDoc.Paragraphs(1).Range.Paste 'Paragraphs(1).Rangeが不要では?
y = y + 1
Loop
280デフォルトの名無しさん:2001/06/27(水) 23:40
VBを最近勉強し始めたものです。
現在、練習として電卓の作成を行っています。
マウスでのクリックでの動作はできるようになったんですが、テンキーからの入力がうまくいきません。
KeyDownを使って、Select case Keycodeで振り分けました。
数字と+や-などの演算子はうまく動作するのですが、
Enterキーを『=』として、使いたいのですが、うまくいきません。
フォーカスがあるボタンを押してしまいます。
あまり、うまく説明できていないかもしれませんが、どなたかわかるかた教えてください。
お願いします。
281デフォルトの名無しさん:2001/06/28(木) 12:45
>>280
ボタン自体にフォーカス行くのがまずいのなら
ボタンClickイベント処理後にどっかにフォーカス逃がせば?
282デフォルトの名無しさん:2001/06/28(木) 20:21
>>279
WordDoc.を付ける
283デフォルトの名無しさん:2001/06/28(木) 23:08
初めまして。過去にあった質問ならすみません。

SUB MAIN()

END SUB

(SUB MAIN)で始まるモジュールをexeファイルにして
バッチファイルから引数を二つ渡して実行したいのですが
どのようにすれば良いのでしょうか?バッチ上での
記述とVBでの記述を教えて下さい。お願いしますm(__)m。

バッチの例

テスト.exe 引数1,引数2
284初心者:2001/06/28(木) 23:34
MSCommコントロールを使ってPC←→機械の間でRS232Cケーブルでデータ
をやりとりするプログラム作成しているのですが、PCから機械にデータ
を送る時にCRLF(復帰改行)が消えてしまうのですが、なぜなのでしょうか?

送信の仕方は普通に

Do
Open "FD" For Input As #1 'ファイルを開く
Line Input #1, Buffer 'ファイルを1行変数に入れる
MSComm1.Output = Buffer '変数を出力
Loop Until EOF(1) = true

という風に送っているのですが、文字データだけが送信されて改行コードは送られません。
なにか方法がありましたらお教えください。 お願いいたします。
285ビギナーず:2001/06/29(金) 00:05
>>283
Command
286ビギナーず:2001/06/29(金) 00:06
>>284

MSComm1.Output = Buffer & vbCrLf '変数を出力
287デフォルトの名無しさん:2001/06/29(金) 00:24
283>>285

ありがとう。明日会社で調べます。では。

ちなみに

vbCrlf=CHR(10) 6 CHR(13)

ですか?前、似たようなことをやったような
288デフォルトの名無しさん:2001/06/29(金) 00:25
vbCrlf=CHR(10) 6 CHR(13)

   ↓

vbCrlf=CHR(10) & CHR(13)
289初心者=284:2001/06/29(金) 00:33
お返事ありがとうございます。
無理やり改行コードを足してやればいいだけなんですね。
本当に助かりました m(__)m
290ビギナーず:2001/06/29(金) 01:15
>>288
vbCrlf=Chr(13) & Chr(10)

おしい
291shige:2001/06/29(金) 03:11
        ,, .: 。
   \( ゚´3゚)- = 。 ゚
   (   )` :: . ペッペッ
   ノ \

VB使いってクズだね(ワラワラ
rubyの足元にも及ばないね。
29265535点満点:2001/06/29(金) 03:17
>>291
2点。
もうすこし上手く煽ろうね。
293デフォルトの名無しさん:2001/06/29(金) 10:27
Exchange 2000 Serverでアドレス一覧の追加、変更、削除がしたいのですが
やりかたがわかりません。
MSDNライブラリの[Finding Exchange AddressLists with ADSI」で
アドレス一覧の名前とクエリーは取得できることはわかりました。
だれか知りません?
294テリー:2001/06/29(金) 13:44
特定のexcelのファイルを、セキュリティーを目的として、独自の
ランチャープログラムを経由して開きたいのですが、
ランチャープログラムから、そのシリアル番号を引数として、
excelに渡したいのです。
excelのVBAで、そのシリアル番号を検証して、ファイルを
開かせる予定です。

引数をexcelに渡す方法についてなにか方法をご存知でしたら、
教えていただけませんか?
295デフォルトの名無しさん:2001/06/29(金) 14:49
ApplicationオブジェクトのRunメソッドを使用する。
296テリー:2001/06/29(金) 15:03
>ApplicationオブジェクトのRunメソッドを使用する

初心者なので、引数をexcelに渡す方法について、
もう少し詳しく教えてください。
297デフォルトの名無しさん:2001/06/29(金) 15:39
>>296
Excelのヘルプを見たまえ
298デフォルトの名無しさん:2001/06/29(金) 15:47
ACCESS2000(ADO)でSQLサーバにストアドで
データをアップデート
使用としたときに
途中でネットワークのエラーでおちてしまうのですが
何が悪いのでしょうか?
アップデートするデータは、10000件で
8000件ぐらいで落ちてしまいます。
申し訳ないのですが、分かる方いたらよろしくお願いします。
299デフォルトの名無しさん:2001/06/29(金) 16:11
>298
VBの質問に見えんが..
ADOが同期型になっておらず、
且つ
参照作業が直後に含まれいる。
てなことぐらいしか思いつかん。
300298:2001/06/29(金) 17:14
>>299
返答ありがとうございます。
スレ違いで恐縮です

>ADOが同期型になっておらず

この内容がちょっとよく分からないのですが
教えていただけないでしょうか
教えてクンんで恐縮ですが
よろしくお願いします。
301テリー:2001/06/29(金) 17:42
>297 名前:デフォルトの名無しさん 投稿日:2001/06/29(金) 15:39
>>296
>Excelのヘルプを見たまえ

えーヘルプを見てもわからないから、質問させていただいて
いるのですが、助けてください。
302295:2001/06/29(金) 17:51
>えーヘルプを見てもわからないから、質問させていただいて
いるのですが、助けてください。

「該当する項目をヘルプで見つけられない」
「見つけたが理解できない」

のどちらですか?

それと他の場所でも質問されてますね。どっちで答えていいのか
迷います:-)
303デフォルトの名無しさん:2001/06/29(金) 17:55
>>300
非同期:ストアドのコマンド投げっ放し
同期:投げた処理が終了して戻ってから次へ

ADOについてはココの adAsyncExecute 見て下さい。
http://www.e-soshiki.com/kenkyu/reports/ADO.htm
304テリー:2001/06/29(金) 17:59
>302

>「該当する項目をヘルプで見つけられない」
まずこのレベルに該当します。

>「見つけたが理解できない」
従いこれも該当します。

もう少し詳しく教えていただくと、
こんな感じで出来るでしょうと、ソフト屋さんに
説明できると思ったもので。


>それと他の場所でも質問されてますね。どっちで答えていいのか
>迷います:-)

あー失礼しました。こちらで教えていただけますか?
他は削除します。
305デフォルトの名無しさん:2001/06/29(金) 18:01
>>294
よくわからんがVBAで認証をしてもVBAを無効にしたら
開けちゃうのでは?
306テリー:2001/06/29(金) 18:07
>305
元のエクセルファイルはパスワード設定していて
開けないのですが、よりセキュリティーがかかっていると
見せたいのです。
307デフォルトの名無しさん:2001/06/29(金) 18:08
>>304
VBEditerの画面のヘルプで検索しろ!
308テリー:2001/06/29(金) 18:13
>307
ここは、初心者質問スレ だったので、質問したまでです。

>ヘルプで検索しろ!

その程度の回答が帰ってくるのが、 初心者質問スレ
ということでしたか。判りました。
引っ込みます。
ありがとうございました。
309デフォルトの名無しさん:2001/06/29(金) 18:15
>>306
見せかけだけってこと?
変なのー
310shige:2001/06/29(金) 18:17
ぷぷっ
VBだってさ。
ruby>>>>>>>>>>>>>>>>>>>>>>>>>>VB
311デフォルトの名無しさん:2001/06/29(金) 18:21
デフォルトの名無しさん>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>shige
312デフォルトの名無しさん:2001/06/29(金) 18:22
2ch>>>>>>>>>>>>>>>>>>>>>>>>>yahoo
313298:2001/06/29(金) 18:45
>>303
ご返答ありがとうございました。

>>ADOが同期型になっておらず
先程教えて頂いたURLを参照したのですが
adAsyncExecuteでは非同期になってしまうんじゃないでしょうか?

教えてくださいばかりで申し訳ありませんが、何卒よろしくお願いいたします。
314295:2001/06/29(金) 18:57
ExcelオブジェクトのリファレンスはVisual Basic Editorのヘルプ
からたどれます。つまりExcel本体のヘルプからはたどれません。
デフォルトのインストールだとこのヘルプファイルがインストール
されないので、その場合は追加インストールする必要があります。
315デフォルトの名無しさん:2001/06/29(金) 21:58
>>313
基本的にデフォルトが同期で非同期が明示的な指定ですね。
別に同期になってるんなら別の原因なんじゃないでしょうか。
これ以上はわかりません、すいません。
-----------------------------------------------------------------
昔、RDOのとき特定のバージョン使用のときにデフォルトが非同期になってしまうというアホな状況がありました。
RDO3.0+DB2(バージョン忘れた)でSQLAPIでむりやり同期指定した記憶があります。結構大騒ぎ
でもこれはイレギュラーなことなんで..大体RDOはクサかった、ADOは安定だと思われ
-----------------------------------------------------------------
316デフォルトの名無しさん:2001/06/30(土) 01:09
283>>285

どうもありがとうございました。見事に解決できました。
引数は自分で分解すれば良いだけだったんですね(^^;
朝一で実行の必要があったので、マジ助かりでした。謝謝
317298:2001/06/30(土) 11:09
>>315
色々アドバイス頂きありがとうございました。
頑張ってみます。
318デフォルトの名無しさん:2001/06/30(土) 12:29
Outlookのフォームに、VBSで

Function Item_Read()
  Set myInspector = Application.ActiveInspector
  MsgBox "アクティブなアイテム: " & myInspector.CurrentItem.Subject
End Function

としたのですが、
myInspectorオブジェクトがないと怒られてしまいます。
でも、
  Set myInspector = Application.ActiveInspector
  MsgBox "アクティブなアイテム: " & myInspector.CurrentItem.Subject
の2行はVBSでのActiveInspectorの例としてwindowsHelpに載っていたもの
をコピペしただけなのに・・・
なぜなのでしょう?教えていただけたら幸いです。
319デフォルトの名無しさん:2001/06/30(土) 19:10
age
320デフォルトの名無しさん:2001/06/30(土) 23:52
>>318

Set myInspector = new Application.ActiveInspector
じゃなくって?
321アリスハァハァ:2001/07/01(日) 00:29
質問です。
Visual Basicの体験版ってどこで手に入りますか?
322318:2001/07/01(日) 15:06
>>320
そしたら今度はクラスが足りません。"Application"と怒られました。
そこで、
Function Item_Read()
Set Application = CreateObject("Outlook.Application")
Set myInspector= new Application.ActiveInspector
MsgBox "アクティブなアイテム: " & myInspector.CurrentItem.Subject
End Function
と足したら、
「プロパティが読み取り専用です」行番号2
と怒られました。
厨房ですまんです。「プロパティが読み取り専用です」でgoogle検索しても0件。。。
カンチガイしてるんでしょうか?
323デフォルトの名無しさん:2001/07/01(日) 15:18
>>322
じゃー。↓はどう?
Outlookの環境ないから検証はしてないっす。

Function Item_Read()
Set Application = CreateObject("Outlook.Application")
Set myCurrenItem= Application.ActiveInspector.CurrentItem
MsgBox "アクティブなアイテム: " & myCurrenItem.Subject
End Function
324318:2001/07/01(日) 15:29
>>323 ありがとうございます。
んーでも、同じです(泣)。
(「プロパティが読み取り専用です」行番号2 と言われる・・・)
325デフォルトの名無しさん:2001/07/01(日) 15:54
>>323
多分、Applicationが読取専用なんすね。

Set m_App = CreateObject("Outlook.Application")
とかローカル用の定義にかえてみては?
326デフォルトの名無しさん:2001/07/01(日) 15:56
Application って予約後では?
327デフォルトの名無しさん:2001/07/01(日) 21:02
予約後じゃねえよ。
単なる定義済みグローバル変数駄。
328デフォルトの名無しさん:2001/07/01(日) 22:26
圧縮ソフトみたく、
エクスプローラー右クリックした時に表示されるコンテキストメニューに
「書庫を作成」というメニューを表示させて、選択されたら処理するような
サンプルとか知りませんか?
329デフォルトの名無しさん:2001/07/02(月) 21:44
電卓作ってるんだけど
1+1=2ってだすプログラムの方法教えてください。
勉強はじめたばっかでわかりません
330デフォルトの名無しさん:2001/07/02(月) 22:08
電卓はサンプルプログラムが付いてるぞ。。<VB
331デフォルトの名無しさん:2001/07/02(月) 23:26
コントロール配列使って、電卓のボタン押したとき、その数字を画面に表示させたいんだけど・・
できないよ〜〜
332デフォルトの名無しさん:2001/07/02(月) 23:28
>>331
なんで?
333デフォルトの名無しさん:2001/07/02(月) 23:30
>>332
今練習でやってるの・・・教えてケろ〜〜
334デフォルトの名無しさん:2001/07/02(月) 23:32
>>333
必殺
わからないところがワカラン
335デフォルトの名無しさん:2001/07/02(月) 23:34
>>334
とりあえず0〜9までのボタン作って
それクリックしたら、その数字が、テキストボックス1に出るようにしたいの
コントろ−る配列を使って
336デフォルトの名無しさん:2001/07/02(月) 23:44
>>335
0.フォームにテキストボックスを置く(名前:Text1)
1.フォームにボタンを置く
2.そいつを Ctrl+C でコピーに吸い取る
3.フォームに春
4.配列にするか?と聞かれてハイ
5.どれかボタンを2度叩く
6.コーディング画面にハンドラが出る
7.以下のコード
If Index = 0 Then
Text1.Text = "0"
ElseIf Index = 1 Then
Text1.Text = "1"
' ElseIf Index = 2 Then
' Text1.Text = "2"
End If

こんな感じかな
337デフォルトの名無しさん:2001/07/02(月) 23:49
>>336
ありがとう〜神様
338デフォルトの名無しさん:2001/07/02(月) 23:54
>>336
あと足し算頑張って作るよ。
でもどうやって
1回目に表示させた数字と2回目(プラスを押したあと)に表示
する数字を足すんだろ。両方ともテキストボックス1にしか表示させないから・・
困る
339デフォルトの名無しさん:2001/07/03(火) 00:04
グローバル変数にコイツラを持っておく
Dim Ans As Integer ' 現在の答え
Dim Enzansi As Integer ' 前回押された演算子

・・・
作り方によりけりだね、がんばってちょうだい
340デフォルトの名無しさん:2001/07/03(火) 01:01
だから、電卓のサンプルプログラムはVBのCDのなかに入ってるだろうッ。
341デフォルトの名無しさん:2001/07/03(火) 01:51
>>340
必殺「友だちから借りました」ってやつなんだろ。
でなきゃ「学校からもってきました」かね。
342デフォルトの名無しさん:2001/07/03(火) 02:59
>>328

SendToにいれるのは駄目?
343デフォルトの名無しさん:2001/07/03(火) 15:43
すんません、教えて下さい。
文字列を切り離したい時はどーしたらいいのでしょうか?
例えば、変数に"aaa/bbb/cccc/"って入ってる時に、"/"の部分で切り離すようにしたいのです。
結果としては、aaa,bbb,ccccって感じで。
cgiだったら、簡単にできる関数が用意されてるみたいなんですが、VBにもあるのでしょうか?
宜しくお願いします。
344デフォルトの名無しさん:2001/07/03(火) 17:27
>> 343
Replace()
区切り記号に "/" を指定すれば配列にバラせるよ
345デフォルトの名無しさん:2001/07/03(火) 17:29
ごめん、何寝ぼけてんだ俺
Replace じゃなくて Split だよ
こんなひどいマジボケは生まれて初めてだ詩嚢
346デフォルトの名無しさん:2001/07/03(火) 20:59
そんなになげかんでも...
347デフォルトの名無しさん:2001/07/03(火) 23:51
>>342
それだと「送る」に入るだけで、
メニューには乗らないねー。

しかし、VBで実現できるのか?
348343:2001/07/04(水) 09:07
>345
どーも、ありがとーございます。
やってみます。
349デフォルトの名無しさん:2001/07/04(水) 09:53
ツッコミが入る前に気がついてよかったじゃないか。
350デフォルトの名無しさん:2001/07/05(木) 12:53
10進法を 2進法とかに変えるプログラム教えてください
351デフォルトの名無しさん:2001/07/05(木) 13:02
>>350
BIN()
352デフォルトの名無しさん:2001/07/05(木) 13:43
VB6では「利用可能なアドイン」に表示されるアドインが
Office2000VBAでは表示されません
Officeのオプションで、何か追加しなければいけませんか?
353デフォルトの名無しさん:2001/07/05(木) 14:22
>>336

こんな、典型的な宿題厨房に回答する必要ないぞ。
354デフォルトの名無しさん:2001/07/05(木) 14:52
ウインドウの右上に「最小化」「元の大きさに戻す」「閉じる」ってボタンがありますよね。
それを表示させないようにする事はできるんですか?

又、「閉じる」ボタンを押した時にどういう動きをさせるかってのは、どうすればいいんですか?

ご存知の方がいらっしゃいましたら、教えて下さい。
宜しくお願いします。
355ビギナーず:2001/07/05(木) 15:48
>>354

>ウインドウの右上に「最小化」「元の大きさに戻す」「閉じる」ってボタンがありますよね。
>それを表示させないようにする事はできるんですか?
ControlBoxをfalse

>又、「閉じる」ボタンを押した時にどういう動きをさせるかってのは、どうすればいいんですか?
どういう動きをさせるかというのはどういうことでしょ?
ウィンドウにWM_CLOSEをPOSTするってこと?
356デフォルトの名無しさん:2001/07/05(木) 15:53
>>353
カウンセリングも技術のうち
357354:2001/07/05(木) 16:11
>>355

>ControlBoxをfalse
すみません、僕の説明が不充分でした。
これは知ってるんです。
でも、このやり方だと、全部消してしまう事になっちゃいますよね。(確か)
そうじゃなくて、3つのボタンのうち一つだけ表示させるとか、そういう感じです。


>どういう動きをさせるかというのはどういうことでしょ?
>ウィンドウにWM_CLOSEをPOSTするってこと?
「×」ボタンでウインドウを閉じようとした時に、例えばメッセージボックスを表示させるとかそーいう事です。
358デフォルトの名無しさん:2001/07/05(木) 18:10
>>353

宿題を教えたって誰も得せん
359デフォルトの名無しさん:2001/07/05(木) 18:57
初心者質問スレ
でガタガタ言うのはやめましょう。スレ違い
360343じゃないけど…:2001/07/05(木) 20:49
>>345
ありがとう、ちょうどこういうの探してたんだ。
マジで助かったよ
361デフォルトの名無しさん:2001/07/06(金) 00:56
>>357
最小化と最大化はどっちか表示されてると両方表示されるんじゃなかったっけ?
どっちかをDisableにするのは簡単
362デフォルトの名無しさん:2001/07/06(金) 02:24
>>357 こうか?
Private Sub Form_Unload(Cancel As Integer)
  MsgBox "逝ってよし"
End Sub
363357:2001/07/06(金) 09:14
>>361
では、「×」ボタンを非表示、又はクリックしても何も動作しないようにするには、どうするのですか?

>>362
ありがとうございます。
では、そのメッセージボックスに「はい」「いいえ」の選択肢を設けて、「はい」を選んだらそのまま閉じる。(これはできました。)
「いいえ」を選んだら、元の画面に戻るというようにする事は可能でしょうか?
364ビギナーず:2001/07/06(金) 09:40
>>357
そういうことね

Unloadイベントのcancelパラメータに0以外の値を設定したら、
フォーム消えないっすよ
365363:2001/07/06(金) 11:41
>>364
おおっ、できました!
感動です。
ありがとーございます!
366デフォルトの名無しさん:2001/07/06(金) 14:17
オプションボタンっていくらTAB_STOPをfalseに設定してても、
フォーカスを受けた時とかに自動的にtrueになるんですけど、
falseのままにする方法とかあります?
367デフォルトの名無しさん:2001/07/06(金) 21:48
エクスプローラーみたいに、ウインドウを、まん中のバーでリサイズ可能な
ペインに分割することはできますか?

Lineコントロール使って分割っていうのは、できれば避けたいです。
ぶかっこうなので。
368ビギナーず:2001/07/07(土) 01:47
>>366
フォーカスを受けたらfalseにすれば?
369デフォルトの名無しさん:2001/07/07(土) 07:21
VBつかい バカ以上の事 出来ないね(五・七・五)

(げらげら)
370デフォルトの名無しさん:2001/07/07(土) 17:43
あの,ちょっといいでしょうか?
VBを初めて3日です。初めて作ったものを,
exeにして実行できるようにしたのですが,
アイコンを変えたいんです。
アイコンは用意してありますが,
どうやったらいいんでしょうか?
お助けください。マジレス希望です!
37146:2001/07/07(土) 19:34
>>370
プロパティウィンドウのformのIconをクリック、好きなアイコンを選ぶ
だけ。
372370:2001/07/08(日) 01:10
>>371
できました!感激です!
どうもありがとうございました!
373デフォルトの名無しさん:2001/07/10(火) 10:03
つまらない質問かもしれませんがおねがいします
VBで印刷がうまくおこなえません
フォームを印刷するとき、印刷用紙のサイズに合わせるにはどうすればいいでしょうか?
サンプルコードなどを頂けたら、助かります
374デフォルトの名無しさん:2001/07/10(火) 10:13
>>367
アプリケーションウィザードでエクスプローラスタイルで
作成すれば、それをサンプルにできるよ。
375D使いβ:2001/07/10(火) 18:36
>>373
Form1.PrintFormじゃなくて、
Printer.PaintPicture Form1.Image, x, y, w, h
を使うといいかも。

拡大率はFormとPrinterのScaleHeightまたはScaleWidthから
求めればいい。
376VB初心者:2001/07/11(水) 14:29
MSCommを使用して機械とパソコン間でデータをやりとりするプログラムを書いているのですが
ハイパーターミナルでデータ送信命令のコマンドを打つとちゃんとデータを送ってくるのに
MSCommで同じように命令を送ると何の返事も返ってきません。
MSCommとハイパーターミナルではやり方が違うのでしょうか?
もちろんMSCommの設定とハイパーターミナルの設定は同じようにしております。
下にコーディング例を書いておきます。
なにか原因があればご教授ください。 お願いいたします。
377VB初心者:2001/07/11(水) 14:30
376です お願いいたします

Private Sub Start_Cmd_Click()

' MSCommコントロールの初期設定

MSComm1.CommPort = 1 '通信ポートNo指定
MSComm1.Settings = "9600,e,8,2" '通信条件設定
MSComm1.Handshaking = comNone 'フロー制御無し
MSComm1.PortOpen = True 'ポートを開く

MSComm1.InputLen = 0
MSComm1.OutBufferCount = 0

Dim Buffer As String
Buffer = "@READ B<SOFT>" & vbCrLf

MSComm1.Output = Buffer 'データ読み出しコマンド送信

Do 'データ送信終了まで待機
Loop While MSComm1.OutBufferCount >= 1

MSComm1.Output = "" 'データ受信待ち受け処理

Do Until MSComm1.InBufferCount > 0 'データが入ってくるまで回れ
Loop

Do Until MSComm1.InBufferCount = 0 'データがなくなったら抜けろ
If MSComm1.InBufferCount = 0 Then
Sleep (1000)
End If

Buffer = Buffer & MSComm1.Input

If MSComm1.InBufferCount = 0 Then
Sleep (1000)
End If
Loop

End Sub
378デフォルトの名無しさん:2001/07/11(水) 15:08
>>376
MSCommに慣れるためにパソコン同士をつないでテストプログラムを
作ってみてはいかがでしょう?
379デフォルトの名無しさん:2001/07/11(水) 15:27
>>376
MsCommのサンプルだったら、ネット上にアホほど
転がってるでしょ。
>>378も言ってるけど、COMポートが二つあるPCなら、
自分同士で通信のテストできるよ。
380VB初心者:2001/07/11(水) 15:39
お返事ありがとうございます。
既にテスト用のプログラムも作りましたし、
Vector等でテストプログラムを取ってきて使っております。
それでPCを2台繋いだ状態でテストすると完璧に送受信できているのですが
実際に機械に繋いで動かすと全然動かないのです。
それで、ハイパーターミナルとMSCommでは何か違うことをしなければいけないのか
(例:文字列を送る時に文字コードで送るとか)
と思いましてお聞きした次第です。
381デフォルトの名無しさん:2001/07/11(水) 15:47
>>380
vbCrLf でいいですか?
382デフォルトの名無しさん:2001/07/11(水) 15:55
>>380
LoopにDoEventsがないけどいいですか?
383VB初心者:2001/07/11(水) 17:14
>vbCrLf でいいですか?

 復帰改行はCRLFとなっているので vbCRLFと書いたのですが
 & Chr$(13) & Chr$(10) の方がよいのでしょうか?

>LoopにDoEventsがないけどいいですか?

 OnCommイベントを使わずボーリング型で受信しているので
 DoEvents は必要ないと思ったのですがいるのでしょうか?
 変に使用するとおかしくなるかなと思い使用したなかったのですが

普通はハイパーターミナルで動作すればMSCommでも動作すると考えてよろしいのでしょうか?
他にもデータが入ってこない理由が考えられましたらお教え願います
m(__)m
384デフォルトの名無しさん:2001/07/11(水) 17:21
>>383
ソースでいうとどこの行まで実行されているかわかりますか?
どこかのループで永久ループしてるのでしょうか?
それとも応答を待たずに終了してしまうのでしょうか?
385デフォルトの名無しさん:2001/07/11(水) 17:22
>>383
DoEventsは入れた方がいいと思います。
386VB初心者:2001/07/11(水) 17:52
Do Until MSComm1.InBufferCount > 0 'データが入ってくるまで回れ
Loop

↑ここでループしています。
受信データがゼロのまま変化していないということですよね。

Do Until MSComm1.InBufferCount > 0 'データが入ってくるまで回れ
   DoEvents
Loop

って、やった方がいいのでしょうか
387デフォルトの名無しさん:2001/07/11(水) 18:00
>>386
VBのヘルプにはDoEventsが入ってますよ。
InBufferCountの内容がメッセージで制御されているのであれば
DoEventsが必要でしょうね。実はMSComm使ったことないんです。
388デフォルトの名無しさん:2001/07/11(水) 18:29
>>386
やはりヘルプでもDoEventsが評価より先にあるのでDoEventsは必要な気がします。
389初心者=386:2001/07/11(水) 21:34
わかりました。
一度DoEventsを付けて確認してみます。
なにしろ接続先の機械が自社にないので1週間に1度しかテストできないのです。
代わりにモデムに対してATコマンドを送ってデータ送受信できるかテストしてみようと思います。
390デフォルトの名無しさん:2001/07/12(木) 09:05
>>389
すみません。DoEvents関係なさそうです。
ポートの設定が接続先の機械と一致していない可能性の方が高そうです。
391デフォルトの名無しさん:2001/07/12(木) 09:57
>>389
MSCommでやるよりAPIでやったほうが細かく設定できるので
試してみてはいかがでしょうか。
http://www8.freeweb.ne.jp/school/speana_1/vb/vb_2/vb_2.htm
392Mr.厨:2001/07/12(木) 15:09
Visual SourceSafe に登録しますかと聞かれたので、登録したところ
コードの編集が一切できなくなってしまいました。どうしたらいいのでしょうか。
SourceSafeから登録解除すればいいのでしょうが、よくわかりません。。。
393VB厨房:2001/07/12(木) 15:18
>>392
IDE上のプロジェクトウィンドウにある編集したいオブジェクトの上で
右クリック。
チェックアウトしてから編集すべし
394Mr.厨:2001/07/12(木) 15:29
ありがとうございました。できました。
395デフォルトの名無しさん:2001/07/12(木) 16:33
VBからほかのソフトを起動し、さらにそれを操作するということは可能でしょうか?
396デフォルトの名無しさん:2001/07/12(木) 16:44
>>395
もう少し具体的に書きましょう
397 :2001/07/12(木) 16:59
>>395
可能です
398デフォルトの名無しさん:2001/07/12(木) 17:10
PictureBoxで表示されている画像を
AccessのOLEオブジェクト型のフィールドに対して
adoでデータのi/oを行いたいのですが
どなたか方法を教えていただけないでしょうか?
399デフォルトの名無しさん:2001/07/12(木) 17:15
>>398
savepictureで画像をファイルに保存して、そのファイル名を
Accessに登録する。OLEオブジェクト型は使わない。
っていうのはどう?
400デフォルトの名無しさん:2001/07/12(木) 17:23
>>399
Replyありがとうございます。
ファイルパスをデータベースに保存するということですよね。
確かに考えましたが、画像ファイルが何らかの理由で削除される
場合があるので出来ればMDBで管理したいですね。
401デフォルトの名無しさん:2001/07/12(木) 20:19
Module上で指定したtxtデータをForm上のTextBoxに出力する場合、
どのように表記すればよいのでしょうか。
402デフォルトの名無しさん:2001/07/12(木) 20:23
Form1.Text1.Text = "aaa"
403401:2001/07/12(木) 20:40
>>402
ありがとうございました。
404初心者=386:2001/07/12(木) 21:53
>>391
そのAPIで一度試してみます
ご返答ありがとうございました m(__)m
405Mr.厨:2001/07/12(木) 22:03
ビジュアルスタジオインストーラでVBインストーラを作ったとき、
[スタート]メニューの[プログラム]のところにショートカットを作りたい
のですが、どうしても[スタート]メニューの直下になってしまいます。
これはなんとかできますでしょうか
406デフォルトの名無しさん:2001/07/13(金) 04:05
エクスプローラのような右と左を分けるツマミは何で作るのでしょうか?
407デフォルトの名無しさん:2001/07/13(金) 07:43
>>1
ネットにサンプルがいっぱいあるだろう?
書籍くらい買えよヴォケ!
とりあえず、回線切って首吊ってくれ!
それが君のためだ!
408デフォルトの名無しさん:2001/07/13(金) 08:10
↑ワラタ
409デフォルトの名無しさん:2001/07/13(金) 08:36
410デフォルトの名無しさん:2001/07/13(金) 08:54
411デフォルトの名無しさん:2001/07/13(金) 08:57
>>400
>>399の方がいいと思うよ。後々のことも考えると。
412デフォルトの名無しさん:2001/07/13(金) 10:03
MAPIMessagesでOutLookのアドレス帳からアドレスグループを指定し、送信するというのは可能なのでしょうか?
参照できるだけなのでしょうか?
ご存知の方がいらしたらお教え下さい。
413Mr.厨=405:2001/07/13(金) 12:27
>>410
すいません。ディストリビューションウィザードではなくて、
ビジュアルスタジオインストーラの方でのやり方が知りたいのです。
414デフォルトの名無しさん:2001/07/13(金) 12:34
>>413
すまそ。
415デフォルトの名無しさん:2001/07/14(土) 02:01
SStabで質問です。

・タブを複数表示させるとき、ずれちゃう
・Updownコントロールを使ってタブだけ移動させるのってどうやるか

どちらかのお答えを頂けないでしょうか。
たくさんのタブを、限られたウィンドウ内に納めたいのです。
よろしくお願いします。
416デフォルトの名無しさん:2001/07/14(土) 02:58
>>406
境界部分に不可視の imageなどを貼って、
それの MouseDownなどでチェック。
417教えていただけないでしょうか?:2001/07/14(土) 10:56
LANで自分の共有ファイルに対するアクセス(どのファイル、フォルダーに対するものか、誰から(IP、コンピューター名)を出すのって難しいんですかね?
知っていたらご教授ください。お願いします。
418:2001/07/14(土) 11:32
win2k VB6.0 access2k で質問です。
VBで、アクセスのパスワード設定してあるデータベースを実行したいのですが、
本とか見ると、データベースを開く、とかはあったのですが、
よろしくお願いします。
419デフォルトの名無しさん:2001/07/15(日) 16:10
LoadPictureでgif形式の画像を読み込んで、
SavePictureでbmp形式で保存するのは、
特許とかの問題は大丈夫なんでしょうか?
420デフォルトの名無しさん:2001/07/15(日) 16:23
>>419
何十万かくらい払えば問題ないはず。
http://www3.cds.ne.jp/~marimo/agree-png/
ここ参照。
421デフォルトの名無しさん:2001/07/16(月) 18:18
age
422アワアワ:2001/07/16(月) 18:56
ExcelVBAについて質問があるんですけど。。
ヘッダー編集のページ数をゼロ詰で表示する方法を
教えてください。
423デフォルトの名無しさん:2001/07/16(月) 18:58
あわくってるだいじょぶ?
424デフォルトの名無しさん:2001/07/17(火) 02:23
同じフォームを何個も連続で表示する方法を知ってる方いらっしゃったら教えて下さい。
どうしても1つしか表示できません・・。
以前知り合いが画面中にランダムで50個ぐらいフォームが表示されるプログラム
作ってるの見て面白そうだったので。
だいぶ前の話なので知り合いも忘れてしまっててあてになりませんでした。
425デフォルトの名無しさん:2001/07/17(火) 07:03
for i=0 to 50
  dim Fm as new Form2
  Fm.show vbModeless
  set Fm=nothing
next i

こんなんで出来ないかな。
Nothing前に位置を変えてやればランダムに見えるでしょう。
Form_Loadあたりに突っ込む。
Form2も追加しておくこと。
即興なので、バグあるかも。
426VB初心者:2001/07/17(火) 09:03
機械からデータを読み取ってファイルに書き込むというプログラムを作成しているのですが、
読み取る時にデータを受信し終わるまでデータを1つの変数に溜め込んでから一気に書き込む
という、方法だと途中でテータが「??????」という具合に壊れてしまいます。
そこで受信バッファがパンクしてデータが壊れたのかなと考え、一回読み取る毎にファイルに書き込む
という方法に変更しました。これだとデータ自体は正常に書き込めるのですが、元データには改行が入
ってない部分でCRLFが入ってしまいます。
どのようにすれば正常に受信して書き込むことができるのでしょうか?
長くなって申し訳ありません。

---変更前--------------------------------------------------------------------------
  Open FD For Output As #1 'ファイルを書出しモードで開く

Do Until MSComm1.InBufferCount > 0 'データが入ってくるまで待つ
Loop

Do Until MSComm1.InBufferCount = 0 'データがなくなったら抜けろ
If MSComm1.InBufferCount = 0 Then
Sleep (500) 'データが溜まるまで待つ
End If

Buffer = Buffer & MSComm1.Input

If MSComm1.InBufferCount = 0 Then
Sleep (500) 'データが溜まるまで待つ
End If

DoEvents
Loop

Print #1, Buffer
Close #1


---変更後--------------------------------------------------------------------------

  Open FD For Append As #1 'ファイルを追加モードで開く

Do Until MSComm1.InBufferCount > 0 'データが入ってくるまで待つ
Loop

Do Until MSComm1.InBufferCount = 0 'データがなくなったら抜けろ
If MSComm1.InBufferCount = 0 Then
Sleep (500) 'データが溜まるまで待つ
End If

Buffer = MSComm1.Input
Print #1, Buffer

If MSComm1.InBufferCount = 0 Then
Sleep (500) 'データが溜まるまで待つ
End If

DoEvents
Loop

Close #1
427424:2001/07/17(火) 11:47
>425
うまくできました。
どうもありがとうございます。
428 :2001/07/17(火) 12:56
オラクルのDB更新時にバインド配列を使って一括で更新したいのですが、
やり方が分かりません。
できれば、ストアドプロシージャを用いずに更新したいのですが・・・。
429デフォルトの名無しさん:2001/07/17(火) 13:26
>426
Print #1, Buffer;
セミコロンを付加してみてください。
430デフォルトの名無しさん:2001/07/19(木) 00:26
素朴な疑問なのですが、
Private Sub Command1_Click()
  Do
    DoEvents
  Loop
End Sub

とすると、×ボタンを押してFormを閉じることができますが、
Do Loopが実行されているらしく、タスクマネージャに残ってしまいます。
なぜFormがUnloadされているのに、Command1_Clickは実行されているのでしょうか。

また、このときCommand1を再度クリックすることができますが、
これは、新しいスレッドで実行されているのでしょうか。
(ちなみに私の環境では、28回クリックすると、操作不能になりました。)
431430:2001/07/19(木) 00:27
sageてしもた。
432デフォルトの名無しさん:2001/07/19(木) 00:29
アホですな(w
433デフォルトの名無しさん:2001/07/19(木) 13:53
VBScriptでやっていることをVisualBasicで統合しようと思うのですが
どうすればよいでしょうか?
434デフォルトの名無しさん:2001/07/19(木) 15:49
ぁのぅ、

毎日MPEG1動画が吐き出される環境(Win2k)があるのですが、
それを自動的にMediaEncoderを使ってwmvニコンバーとして、もとの
MPEG1動画を削除したいのですが、

どうも、VBScriptというのを使うとできるみたいなんですが、それはどうやったらインストロールできますか?

ぼくはCとパールしかできないのですが、VBスクリプトというのは難しいですか?

Windowsでは自動化というのは難しいんでしょうかね。

でもうにっくすではwmvにで機内誌。
435デフォルトの名無しさん:2001/07/19(木) 15:57
現在、VBScriptを使ってのWebデータ管理をしています。
ブラウザから書き込んだ内容をVBScriptを使用して参照したり、書き込んだりといった内容です。
これだとHTMLコードが混ざっていたりしますので、VisualBasicコードのみを管理したいという点で
VBの部分を独立させたいという企画なのです。
が、まったくどうしていいのかわかりません…
ご存知でしたらよろしくお願いします。
436デフォルトの名無しさん:2001/07/19(木) 16:11
>>434
Win2kなら、インストロール済みじゃねーの
437デフォルトの名無しさん:2001/07/19(木) 16:46
>>434
拡張子は.vbsだYO!
438デフォルトの名無しさん:2001/07/19(木) 16:51
YO!
439デフォルトの名無しさん:2001/07/19(木) 17:16
トロール船
440デフォルトの名無しさん:2001/07/19(木) 17:19
せんだみつお
441デフォルトの名無しさん:2001/07/19(木) 17:20
おにぎり
442デフォルトの名無しさん:2001/07/19(木) 17:21
りんご
443デフォルトの名無しさん:2001/07/19(木) 17:23
ごはん
444434:2001/07/19(木) 17:56
ううん、誤字脱字が多くてごめんなさい。
VBスクリプトって使ったことないのですが、全く初心者はどこに行って勉強すればよいですか?
445434:2001/07/19(木) 18:03
ええと、Win2k何ですが、WindowsScriptingHostって、どうやったら起動するのですか?
446デフォルトの名無しさん:2001/07/19(木) 18:05
>>445
test.vbsというテキストファイルを作る。
中身は
MsgBox "Test!"
でいいな。test.vbsをクリック!
どうだい?
要は、バッチファイルだ。
447434:2001/07/19(木) 18:30
うわーありがとうございます。
このスクリプトのリファレンスって、どこにあるのですか?
これって、たとえばDOSコマンドとかも使えるのですか?
シェルスクリプトみたいなのと思っていいのかな。
448デフォルトの名無しさん:2001/07/19(木) 18:48
>>447
簡単だろ。
ブラクラとかも簡単に作れるよ。
練習だと思って、一つ作ってみな。
とりあえずAドライブ奥歯がたがたいわせるのつくったれや
449デフォルトの名無しさん:2001/07/21(土) 05:20
VisualBasic6.0で聞きたい事があります。
C++でいうSTLのようなものは無いのでしょうか?
自分でリスト構造等を作るのが面倒なので、もしあれば使いたいなぁ、と。
450デフォルトの名無しさん:2001/07/21(土) 22:17
>>449
oremohosii
451449:2001/07/21(土) 23:16
>>450
少なくとも標準では、付いてないのでしょうかね…。
452デフォルトの名無しさん:2001/07/21(土) 23:37
C++使えよ(w>449
453449:2001/07/22(日) 00:08
>>452
そうしたいのはやまやまなのですけど、のちほどそのプログラムの修正を
することになると思われる人が、VBしか使えない…。
454デフォルトの名無しさん:2001/07/22(日) 03:32
>>453
そんな奴に気を遣う必要なし。
455449:2001/07/22(日) 04:16
>>454
ま、つくっちゃえば、こっちのものなんですけどね。
C++でやっちゃうか。
456わからん:2001/07/22(日) 23:10
VB6でmscommを使用して周辺機器の制御をしようとしてます。
RS-232CのER信号の内容を取得したいのですが出来ずに困っております。
値が変わってもイベントが発生しません。
どなたか御存知ないでしょうか?
457デフォルトの名無しさん:2001/07/23(月) 16:28
Stringをテキストファイルに読み書きする
もっとも簡単な方法ってなんですか?
458gh:2001/07/23(月) 17:08
当方CとJavaを勉強中っす(C、一年半くらいでJava半年くらい)。
いまの状態からVBやり始めたらどんくらいで
つかえるようになりますかねえ?
459デフォルトの名無しさん:2001/07/23(月) 17:26
多分3日ぐらいで、そこそこ使えるようになるんじゃ…。
460gh:2001/07/23(月) 17:32
>>459
よく「簡単だ」って聞きますけど
ホントにそんな簡単なんですか?
Cとかだってそこそこつかえるまでに
いろいろおぼえなきゃいけないことあるし。
ちょっと参考書でもかって、やってみようかな・・・
461デフォルトの名無しさん:2001/07/23(月) 17:54
そのうち無料になるDelphiの方がいいんじゃないか?
簡単だし、奥は深いし。

VBは浅いよ。
462デフォルトの名無しさん:2001/07/23(月) 18:12
Delphiまだかな。すごく楽しみに待ってるよ。
463gh:2001/07/23(月) 18:13
すみませぬ。
Delphiってのはどういうことに使われてるんですか?
464デフォルトの名無しさん:2001/07/24(火) 07:55
465デフォルトの名無しさん:2001/07/24(火) 13:25
457
です。助けてください。

Open FileName For Input As #2
Do While Not EOF(1)
Input #2, S
Loop
Close #2

こういうことをしても正しく動作していないみたいなのです。
466デフォルトの名無しさん:2001/07/24(火) 13:48
>Do While Not EOF(1)

EOF(2)じゃなくて?
467デフォルトの名無しさん:2001/07/24(火) 13:52
>>465
行単位に読み込むならLine Inputの方がよくない?
468VB厨房:2001/07/24(火) 14:07
#2 じゃ無く FreeFile で取れやゴルァ
469(○ω○):2001/07/24(火) 15:40
>>465
ファイル読み込むだけならこんなんどぅでっか?
お気楽極楽が信条だス。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
Private Function FncBln_Read_SequentialFile(Astr_FileName As String, _
ByRef Astr_DataArea As String) As Boolean
Dim str_Buff As String '一時使用領域
Dim str_Data As String '一時使用領域
Dim str_FileName As String 'ファイル名称用領域
Dim val_FileNo As Variant 'ファイルナンバー取得用

On Error GoTo ErrProc
FncBln_Read_SequentialFile = False

'------------------------
'初期処理
'------------------------
str_FileName = Astr_FileName 'ファイル名はこれ
str_Data = ""

val_FileNo = FreeFile '使用可能なファイル番号取得
Open str_FileName For Input Access Read As #val_FileNo

'------------------------
'ファイルデータ取得
'------------------------
On Error GoTo ErrProc2
Do
'ファイルへ読み込み
Line Input #val_FileNo, str_Buff

'データため込み
str_Data = str_Data & str_Buff & vbCrLf

Loop
ErrProc2:

'後始末
Close #val_FileNo 'ファイル番号の解放

'------------------------
'データ返還
'------------------------
Astr_DataArea = str_Data

'------------------------
'正常終了処理
'------------------------
FncBln_Read_SequentialFile = True

Exit Function
ErrProc:
Close #val_FileNo '万が一のためのファイル番号の解放
End Function
470デフォルトの名無しさん:2001/07/24(火) 16:36
みなさんありがとう。こんな風にしてみました。

Public Function Read_File(ByRef S As String, ByVal FileName As String) As Boolean

On Error GoTo Error_Handle
Dim Str As String
Dim FileNumber As Integer
FileNumber = FreeFile

Open FileName For Input As FileNumber
Do While Not EOF(FileNumber)
Input #FileNumber, Str
S = S & Str & vbCrLf
Loop
Close FileNumber

Read_File = True

Exit Function

Error_Handle:
Close FileNumber
Read_File = False

End Function
471デフォルトの名無しさん:2001/07/26(木) 08:19
>>470
バグあるみたいだよ。
472デフォルトの名無しさん:2001/07/26(木) 09:33
教えてクンで悪いんだけど、
VBAでGP-IBを制御してオシロの画像をファイルに保存したいんだけど
どーすれば良いんだろう??
473デフォルトの名無しさん:2001/07/27(金) 08:15
質問します。
RichText1に"<HTML>"と入力した時、
自動的に<HTML>の文字を赤い色にしたいのですが、
つまり、タグの色分け表示をしたいのです。
ヒントだけでもお願いします。
474デフォルトの名無しさん:2001/07/27(金) 11:45
>>473
それ無理なんだ。VBではできないんだ。VCじゃなきゃね。
475デフォルトの名無しさん:2001/07/27(金) 12:13
え、
できないんですか。
残念です。レスありがとうございます。
476質問です…:2001/07/27(金) 16:22
ASP を利用してCOM コンポーネントを呼び出し、IIS上で利用しています。
(具体的に言うとこんなことをしています↓)
http://www.microsoft.com/japan/developer/thisWeek/vbcom/ryo990428.asp

ここで一度ASPを表示(実行)させると、その後ずっとDLLファイルがずっと共有状態で
コンパイル時の上書きや、削除が出来なくなります…
再起動すれば共有状態がなくなり、コンパイルが出来るようになるのですが
サーバーマシンなので頻繁に再起動できません(;´д`)
どうすれば再起動せずにコンパイルできますでしょうか…?
477デフォルトの名無しさん:2001/07/27(金) 16:36
>>476
IISを再起動させればいいような
よく分からないけどさ
478デフォルトの名無しさん:2001/07/27(金) 16:40
>>476

サービス一回止める。
479初心者まる:2001/07/27(金) 17:51
むちゃむちゃしょうもない質問で申し訳ないのですが
ExcelでVisual Basic Editorを立ち上げると左に出てくる
プロジェクトとプロパティのフォントがおかしくて何が書いてあるか
全然わかりません。
どうやったらこれ、直るんですか?

VBとあまり関係なくて申し訳ないのですが困ってます。教えてください。
480デフォルトの名無しさん:2001/07/27(金) 18:06
>>479
フォントないんだよ、多分。
windowsの[画面のプロパティ]直せない?
481479:2001/07/27(金) 18:25
自分で書いて、自分でわかりました。
よくある症状みたいで、修正プログラムありました。
ついでに一応書いておきます。
http://www.asahi-net.or.jp/~zn3y-ngi/YNxv9cz1.html
482480:2001/07/27(金) 18:30
>>481
うわ、バグなのか。
また一つ賢くなった
483デフォルトの名無しさん:2001/07/28(土) 13:15
現在Windows95+ACCESS200でプログラムを書いているのですが
ACCESSのVBAでフロッピーのドライブ名を知る方法はないでしょうか?
PC/AT互換機だけならAドライブ決めうちでいけるのですが
なにせターゲットの機械はPC/ATと9821が混在しているので
決めうちが出来ません。

どなたかお教え願えないでしょうか?
484デフォルトの名無しさん:2001/07/28(土) 16:59
例えばExcelのファイルを開いたときや閉じたときに自動的に働くイベント
プロシージャ(例えばWorkbook_BeforeClose)は、Excel97では"ThisWorkbook"に
記述しますが、Excel95の場合はどうやって記述すればいいのでしょうか?
都合でどうしても95を利用しないといけないんですが、どなたかわかりましたら
教えていただけないでしょうか?
485デフォルトの名無しさん:2001/07/28(土) 22:17
Windows2000環境で、ディストリビューション ウィザードで作成した
setup.exeを使ってインストールしようとすると「Path or File Not Found」
というメッセージが出てセットアップが中断されてしまいます。
Windows98SE環境だと問題なくセットアップできるのですが・・・
何が問題なのでしょうか?
ちなみに、VB6SP5です。
486あう:2001/07/30(月) 01:11
VBで、FindWindowで取得したウィンドウの左上を(0,0)として
そのウインドウ上の任意の長方形画面を取り込みたいんですが、
どの関数を使えばいいのでしょうか?
(昔のBASICで言うところのGET@みたいな事をしたい)
487デフォルトの名無しさん:2001/07/30(月) 04:27
>>486
GetDCでデバイスコンテキスト取得してBitBltすれ。
488超初心者:2001/07/30(月) 10:30
N88-BASICで ミリセカンド単位で時間計測することってできるのでしょうか?
print "5000回まわします"
print time$
for i = 1 to 5000:next i
print time$
print "5000回まわりました"
こういう文を書いたのですが、これだと1秒単位でしか計測できないのです。
初心者な質問で申し訳ありません。
489デフォルトの名無しさん:2001/07/30(月) 11:06
>>488
スレ違いだがマジレス。
「できません」
以上。
490デフォルトの名無しさん:2001/07/30(月) 11:23
つうか初心者だからってN88-BASICとは・・・
491あう:2001/07/30(月) 13:42
>>487
ありがとうございます。違うフォームへのコピーはできました。
ところで、BitBltで取得した画像をBMP形式などでファイルに保存したり、
Open, InputB で配列に読み込んだ画像との比較をしたいのですが、
どのようにすればいいのでしょうか?
デバイスコンテキストに格納されたはずの画像データを
どうやってアクセスするのか、さっぱり・・・
492超初心者:2001/07/30(月) 13:45
やはり、N88ではそこまで細かい時間の取得は無理なんですね。
どうもありがとうございました。
493あう:2001/07/30(月) 14:15
>>491
事故レスです。
Imageを使ってやろうとしてうまくいかなかったのですが、
Pictureを使うことによって実現できました。
494デフォルトの名無しさん:2001/07/30(月) 20:44
TreeViewの各Nodeの頭にチェックボックスをつける事は可能でしょうか。
一括削除とかしたいのですが。
495ハイパー初心者さん:2001/08/01(水) 11:48
ControlEx.ocxと言うコンポーネントをご存知のかたいらっしゃらないでしょうか。
TextExのMaskプロパティがさっぱり解らないので、教えていただきたいんですが。

もしくは、MaskEdBoxを使ったとき、Maskの桁数を2〜3桁みたいに、変動させる事は出来ないでしょうか。
どなたか教えてください。
496デフォルトの名無しさん:2001/08/01(水) 13:04
可変ウィンドウでサイズ変更しているときに、あるサイズ(たとえば1000)よりも
小さくならないようにするにはどうしたらいいでしょうか。
自分なりに、Form_ResizeでMe.WidthやHeightが1000より小さかったら
1000にするというやり方でとりあえず実現しましたが、ちらついてしまうのです。
なにか他にいい方法があるでしょうか
497デフォルトの名無しさん:2001/08/01(水) 13:07
>>496
サブクラス化
498超初心者:2001/08/01(水) 13:16
少々スレ違いですが詳しい方がおられると思うので質問いたします。
EPSONのPC286上で動いているN88-BASICでフォーマットされたフロッピーディスクのデータをWindowsで読込みたいのですが可能でしょうか?
PC9801シリーズのMS-DOS上でなら読めるかと思い試したのですが認識できませんでした。
何かスムーズに読み込める方法があればお教えください m(__)m
499デフォルトの名無しさん:2001/08/01(水) 13:43
>>496
http://www.galliver.co.jp/writing/susume_vb/tre908/
そのまま、ずばりがあった。
500 :2001/08/01(水) 14:05
アクティブレポートで印刷する時について質問です。
一枚の紙に、罫線付きで20行出すとします。
しかし、データ的には15行しかないとします。
その場合、残りの5行も罫線付きの空白行として印刷したいのですが、どうしたらいいでしょうか?
お願いします。
501デフォルトの名無しさん:2001/08/02(木) 01:05
>>500
こんなところで質問する前に下らん見栄えにこだわる客を説得して
工数削減に努めろよ。
いーじゃん、一行だけの紙が有っても。
502デフォルトの名無しさん:2001/08/02(木) 04:34
503496:2001/08/02(木) 12:25
ありがとうございます。できました。
ただ、私には難しいやり方ですね。
504デフォルトの名無しさん:2001/08/02(木) 13:31
すいません。質問です。
TRIM関数で「プロジェクトまたはライブラリが見つかりません。」
というエラーが出るのですが、TRIM関数のライブラリの名前を
教えてもらえないでしょうか。

よろしくお願いします。
505>>504:2001/08/02(木) 14:28
それ ACCESS の VBA かい?
だったら
http://www.microsoft.com/japan/support/kb/articles/J053/7/34.htm
が原因じゃないかな
506七士:2001/08/02(木) 17:23
あほな質問で悪いのですが、VBのcommandボタンの四角が嫌なのです。
なので、巧い方法あります?
pictureBoxのFlagを使うのは気に喰わないです。
507オルセン:2001/08/02(木) 19:49
INETコントロールでFTPサーバーからファイルをEXECUTEメソッドでGETするプログラムを
作ったんだけど、インストールパッケージからセットアップしたら正常に動作しません。

VB6.0の開発環境とコンパイルしてEXEにしたものを起動した時には問題ないのですが。

原因と対処方法をご存知の方いませんか?
508デフォルトの名無しさん:2001/08/02(木) 22:09
ビジュアルスタジオインストーラでインストーラを作ったとき、
[スタート]メニューの[プログラム]のところにショートカットを作りたい
のですが、どうしても[スタート]メニューの直下にしか作れません。
これはなんとかならないのでしょうか
509デフォルトの名無しさん:2001/08/02(木) 22:31
510デフォルトの名無しさん:2001/08/02(木) 22:47
>>508
どうしてもビジュアルスタジオインストーラ使いたいの?
511デフォルトの名無しさん:2001/08/03(金) 01:42
MDIとインスタンス関連の質問です。

Privert Sub MDIform_Load()
Dim newForm As New Form1
newForm.show
End Sub

で、Form1のInitialize、Load、Resizeそれぞれに
Form1.Caption="Initialize" など、キャプションを
書き換えるコードを記述してみた。

これを実行すると、MDI子フォームが2個できて1つはキャプションが書き換えられる。
悪いのはForm1.Captionと書くからと言うのはわかる。(Me.CaptionならOK?)

MDIのLoadイベントのインスタンスはどの時できてるのでしょうか?
動きをみている限りはまず
MDIformのLoad
   ↓
Form1のInitialize→この時Form1がないのでオブジェクト表示させてる?
   ↓
Form1のLoad   →この時Initializeで表示させたForm1に対してCaption変更?
   ↓
Form1のResize  →Loadイベントに同じ?
   ↓
MDIFormのLoadで生成しようとしたForm1が生成される?
といった感じで理解できるのですがこれで良いのでしょうか?
気になるのはMDI子フォームは、Formsコレクションで生成した順番に
ここを区別できるのはわかるのですが、Form1ではないんですか?
いったい、どのように取り扱われているのですか?
512デフォルトの名無しさん:2001/08/03(金) 09:32
>>505
参照先を正しく設定したら動きました。
さんきゅでした!!感謝!!
513508:2001/08/03(金) 12:22
>>508 は無理だ、ということでしょうか
514デフォルトの名無しさん:2001/08/03(金) 18:56
>>508
出来るよ。
裏技っぽいやり方だけど。
515508:2001/08/03(金) 20:07
それを教えてください
516514:2001/08/03(金) 20:14
517508:2001/08/04(土) 09:18
なるほど。試してみます。
特殊なフォルダを自作できるとは気づかなかった。
518514:2001/08/04(土) 13:55
519デフォルトの名無しさん:2001/08/04(土) 17:14
ユーザ定義型をBinary形式でファイルに保存しているんですが
そこに追加書込みする良い方法はありませんか?
書込み位置を LOF(FileNum) + 1って感じで
無理矢理やってますが、どうもしっくり来ません。
520514(本物):2001/08/04(土) 18:03
>>518
直リンすんな!!
わざわざ"h"削ったのが判らんのか?
おまえ荒らしか?夏厨か?
521デフォルトの名無しさん:2001/08/05(日) 04:14
コモンダイアログの「ファイルを開く」をキャンセルした場合は、
エラー処理を行わない。

存在しないファイルを開こうとした場合は、「存在しません」とエラーを出したいのですが、
キャンセルしたかどうかはどう調べるのでしょうか?
522デフォルトの名無しさん:2001/08/05(日) 16:12
>>521
ヘルプでCancelErrorあたりを調べていくと良いと思うが。
523デフォルトの名無しさん:2001/08/05(日) 18:35
なぜここは下げ進行なのよ?
524デフォルトの名無しさん:2001/08/05(日) 18:43
>>523
質問スレでは、質問以外はsageるのがこの板の慣習。
525外出の気がするけど、仕事中で過去ログ見られません:2001/08/06(月) 09:50
組み込み制御系から アプリの仕事に移り、VB三日目です

外部ライブラリの関数(文字列を変換してくれる)を呼び出そうとしてて、
引数と戻り値が 文字列の先頭アドレス
なのですが、 これはどうやって指定してやったらいいのでしょうか?

とりあえず、 str型の変数名そのまま書いてみたのですが、
うまくいってないようです
526デフォルトの名無しさん:2001/08/06(月) 10:45
VBでは実現できないことをしようとすると、APIを呼び出す必要がでてくるかと
思いますが、APIに関して調べるにはやりそれなりの本を見なければわからない
ものですか?
APIビューワとかいうのを起動してもなんか何もでてこないし、MSDNにも大して
載っていない(?)ような気がしまして。。。
527デフォルトの名無しさん:2001/08/06(月) 10:46
>>526
MSDNに載ってないAPI関数は使う必要がない。
528デフォルトの名無しさん:2001/08/06(月) 11:50
質問です。
VBで、DBからのデータをスプレットシートで表示する際、
もっとも高速でできるやり方ってどんなものがありますか?
529デフォルトの名無しさん:2001/08/06(月) 12:00
>>525
まず「外部ライブラリ」関数がPASCAL呼び出しであるのが前提。

引数が(const)char*の場合はString型の変数をByValで渡せば良い。
この引数が参照用である場合は一切細工は要らないが、出力
(結果渡し)用である場合は
strBuff = Space(256)
などとして予め充分なサイズをアロケートしておき、かつ
NUL文字(Chr(0))以降を切り捨てるなどといった細工が必要。

戻り値がchar*ってのはやったことが無いけど
BSTR系のAPIでアロケートされた文字列でなければ、
直接Stringで受けるとまずいと思われ。
ひとまずポインタの値をLongで受けて、
lstrcpyを用いて引数経由でStringに格納すれば出来るだろう。
この場合、lstrcpyはLong(ポインタ)からStringへの変換関数
としてDeclareしておく。
530525:2001/08/06(月) 12:13
>>529
ありがとうございます
まず、 引数の一つ目(変換元文字列)は、 正に(const)char*だったので、
上記のように対応して、解決のようです

そして、ちょっと説明が間違っていたのですが、
二つ目の引数で、変換後文字列を格納する場所を
LPTSTR dstで指定するようになっています
(ここの指定のしかたが間違っている?ようです)
そして、三つ目の引数で、dstの最大バイト数を指定してあげるようになっています

(ちなみに、CE向けソフトで、 kctrl.dll内の sjis2unicodeを利用しようとしてるところです)
531デフォルトの名無しさん:2001/08/06(月) 12:19
APIについてはどうやって調べたらいいのですか
532デフォルトの名無しさん:2001/08/06(月) 12:24
>>531
MSDN
533531:2001/08/06(月) 12:56
MSDNを目次から辿っていくとすると、APIの文献はどこにありますか?
検索で見てみても、DB関連のヤツとかあまり関係ないものばかり
でてしまうんです。
534デフォルトの名無しさん:2001/08/06(月) 13:25
フォームにアイコンをつけたとき、16*16の絵も含まれたアイコンを付けているにも
関わらず、フォームには32*32をむりやり縮小したものが使われてしまいます。
これは直しようがないものですか。
ちなみに、実行ファイルにはちゃんと16*16アイコンも使われています。
535デフォルトの名無しさん:2001/08/06(月) 13:44
VB5でプログラムを動かす(作ったEXEやデバッグ時)と、
VB6でプログラムを動かすのでは、実行速度は変わりますか?
やっぱり、コントロールの処理とかで速度変わるんでしょうか?
536デフォルトの名無しさん:2001/08/06(月) 13:45
>>535
意味不明。
537デフォルトの名無しさん:2001/08/06(月) 14:01
>>530
VBは外部関数コール時にはStringに対して
自動的にUNICODE<->ANSI変換を行うので、機能的にちょうど
衝突する形になっているのだろう。
(VB内部コードはUNICODEだが、外部は全てANSIであると
仮定してVBは動作する)
従って、wchar_t*の受け渡しにはByteの配列を使って
(0番目の要素をByRefで渡してやる)必要があるのだが、
そもそもVB標準のStrConv()を使えばそんな苦労は
要らないのでは。
538535:2001/08/06(月) 14:35
>>536
すいません、説明が難しくて・・・
今、VB5で作ったプログラムのレスポンスチェックしてるのですが、
「VB6でもレスポンス計って」と、上司に言われました。
それで、VB5からVB6に入れなおすと、速度が向上するのかな?
ということです。
539デフォルトの名無しさん:2001/08/06(月) 14:52
>>538
計ってといわれたら計れよ。まったく最近の若者は。
540525=530:2001/08/06(月) 14:53
>>537
すいません、
なんか、今使ってるCE向けVB (eMbedded Visual Basic)には、
StrConvが 無いみたいなのです・・・
(まだ勉強不足なので、自信なし  とりあえず、ヘルプではでてきませんでした)
541デフォルトの名無しさん:2001/08/06(月) 15:30
>>538
自分で解決できることを質問するべきではありません。
542538:2001/08/06(月) 16:04
たしかにそうですね。
申し訳ない。
543デフォルトの名無しさん:2001/08/06(月) 16:09
>>541
あんだと?お前何様だ?
ただでさえVBがなくなってしまいそうなときなんだから
お互い協力すべきだろーが、あっ。
お前みたいなのがVB使いにいるからみんながVBを馬鹿に
するんだぞ。わかってんのか?
544デフォルトの名無しさん:2001/08/06(月) 16:12
じゃあオマエが質問に答えてやれよ。
545デフォルトの名無しさん:2001/08/06(月) 16:13
>>544
すぐそれだ。もうどっかいけよ。お前なんかVB使いから
追放だ!
546デフォルトの名無しさん:2001/08/06(月) 16:16
各コントロールの使い方などをステータスバーに表示したいです。
今は、GotFocusとMouseMoveのときにそういった処理をするように
しているのですが、コントロールの数が多いのでたくさん書かねば
ならず、あまりスマートなやり方ではないと思っています。
他に何かよい方法はないものでしょうか。
547デフォルトの名無しさん:2001/08/06(月) 16:49
>>546
俺のやり方だが。
各コントロールのtagに使い方を書いておく
各イベントでは関数を呼ぶだけにする
関数にはインスタンスを渡して、tagの内容を表示する

まぁ、やりかたは色々あると思うけど。
548デフォルトの名無しさん:2001/08/06(月) 17:06
VB6を使ってプロキシ変更ソフトを作ろうと思っています。
MicrosoftInternetTransferControlを使えばいいのかなーとか
思っているのですが今ひとつピンと来ません。
一般的(?)なプロキシ変更ソフトの仕組みをお教えいただけませんか?
よろしくお願いいたします。
549デフォルトの名無しさん:2001/08/06(月) 17:15
>>548
レジストリ変更だろ
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
 ProxyServer
設定ダイアログ−接続−プロキシーの設定を代えて、値がどうなるのか確認してみるがよろしい。
550デフォルトの名無しさん:2001/08/06(月) 22:58
>>549
レスありがとうございます。このキーの存在は知っていたのですが、
Windows全ての環境に共通なのか不安で二の足踏んでいました。
これでやってみます。
551デフォルトの名無しさん:2001/08/07(火) 07:54
>>549
すぐそれだ。もうどっかいけよ。お前なんかVB使いから
追放だ!
552デフォルトの名無しさん:2001/08/07(火) 07:56
げ! VB界から追放されてら〜〜!! スゲー
553525=530=540:2001/08/07(火) 09:54
今、使おうとしている外部関数なんですが、
sjis2unicode( const BYTE *src, LPTSTR dst, DWORD max )
srcに指定したjis文字列を、dstにunicode文字列で返す、というものです
この、一つ目と二つ目の引数は、本来どういう形のものが入るのでしょうか?
(三つ目は、 dstのサイズ これは問題なし)
いろいろやってみているのですが、うまくいきません・・・

(やっぱり、ce向けのvbには、strConvはありませんでした
そのほかにも、数多く制限があるみたいです)
554デフォルトの名無しさん:2001/08/07(火) 12:16
>>552
すぐそれだ。もうどっかいけよ。お前なんかVB使いから
追放だ!
555デフォルトの名無しさん:2001/08/07(火) 15:37
>>553
CEは全然知らんのでなんとも言えないが。
537にちょっと書いたけれども、
普通のVB(バージョン4.0以上)であれば、
第一引数はByVal As Stringで
第二引数はByRef As Byte
だろうな。
Dim dst(1024) As Byte
とでもしておいて、dst(0)を渡す。
しかしStrConvも無いということは結構怪しい気がする。
556553:2001/08/07(火) 17:17
>555
ありがとうございます 本当に助かります
基本的に、上の方法でうまくいきました
とりあえず文字列ではなく、文字一文字変換してみたら、
正しいコードで変換されました! ありがとうございます

ただ、問題があって、
dstは、byteで定義しているのに、
declareの dstの指定は、 ByRef dst As Longにしないと、
うまくいかないのです

そして、 変換結果は、dst(0)に、なぜか、byte定義のはずなのに
&h30AF のように、 2バイト分値が入ってしまうのです
dst(1)以降は、全部 空になります
(値そのものは、正しいものが入っています)
557デフォルトの名無しさん:2001/08/07(火) 23:30
当方初心者、VBのことで質問です。
SQLをつかってデータベースのテーブルの指定のフィールドに特定の値が含
まれているレコードの数を取得したいのですが、どうすればいいのかわかりません。
おそらくSQL文は
SELECT COUNT(フィールド名) FROM テーブル名 WHERE 条件
このように書くのかな????とかって思ったのですが、数はどうやって取得すれば
いいのでしょうか?
変数 = ???
というふだと思うのですが、わかりません。
どなたか宜しかったらご教授宜しくお願い致します。
558デフォルトの名無しさん:2001/08/07(火) 23:55
>>557
質問するには範囲が広すぎるYO
本でも買って勉強してから出直してきな
559557:2001/08/08(水) 00:23
>>558
そうですか、範囲が広いのですか・・・、失礼しました。
どなたか僕の意図を汲み取って回答いただける方はおりませんか?。

明日にでも書店で本を漁ってみます。
560デフォルトの名無しさん:2001/08/08(水) 00:37
>>559
意図はわかる。汲み取ったよ。(笑)

で、DBの接続には何を使うの?まず、それもわかんないんでしょ。
そんなところから、ここで回答できないよ。
まずは一本自力で作ってね。
561デフォルトの名無しさん:2001/08/08(水) 00:44
>>557
Dim SQL As String
Dim rsCOUNT as Recordset
SQL = "SELECT COUNT(*) AS 件数 FROM テーブル名 WHERE 条件"
Set rsCOUNT = dbHANBAI.OpenRecordset(SQL)

こうすればrsCOUNTっていうレコードセットが生成されて、件数っていうフィールドにレコード数が入ってるはずです。
つまり、rsCOUNT!件数で取得できますよ。
562561:2001/08/08(水) 00:49
上のサンプル、データベース名がdbHANBAIになってしまってる……。
自分が今組んでるコードからコピペしたもんだから……。鬱だ……。
dbHANBAIの部分は自分のデータベース名にして下さい。
563デフォルトの名無しさん:2001/08/08(水) 01:10
元COBOLer?
564561:2001/08/08(水) 01:19
元COBOLerじゃないけど、どうして???
565557:2001/08/08(水) 01:28
>>561
解決しました!。
ありがとうございました。実はわけあってかなり追い詰められてまして
すごいほっとしてます!。ありがとう!。

>>560
まともなレスありがとうございました!。
ご指摘の点、以後きをつけます。
566556:2001/08/08(水) 02:20
結局、BYTE型の配列に、文字列らしきものは 入った?ようなんですけど、
これをSTRING型として使用するには、どうしたら良いのでしょう
一文字だけなら、ChrとかChrwでとりだして
文字に変換できたのですが・・・
CSTRも違うみたいだし・・・

上のほうで回答いただいた中の、 lstrcpyを使うのかな?
CEにあれば良いのだけど・・・(笑
567  :2001/08/08(水) 03:53
Dataenvironment でcommand1を作ってそのプロパティの中の
全般タブの中のSQLステートメントの欄でここにSQL文を書かないで
プログラムコードの中でSQL文を渡す方法はあるのてしょうか。
568デフォルトの名無しさん:2001/08/08(水) 04:08
age
569機械屋:2001/08/08(水) 08:15
たれか 教へてくだされ。
エクセルのVBAで文字をシフトJISコードに変換する方法が分らん。
お願ひ、教へて。
570デフォルトの名無しさん:2001/08/08(水) 10:42
>>569
StrConvじゃだめか?
571デフォルトの名無しさん:2001/08/08(水) 10:42
572デフォルトの名無しさん:2001/08/08(水) 10:43
>>567
>>561のやり方じゃだめか?
573 :2001/08/08(水) 12:20
>572
試したけど、なんかダメぽいね。

SQL上の特定のレコードをデータレポートで印刷したいんだけど、
これってdataenvironmentを使用しないとできないですよね。
で、"select * from table1 where NO=なんとか" として
"なんとか" を毎回変えて印刷したいんです。
シスアドプロシージャとか使うのかも。
574機械屋:2001/08/08(水) 12:27
みんな ありがとう。
早速、試してみて後で報告します。
わしの田舎じゃぁ誰に訊いても応えてくれんかった。
ここは頼りがいがありますなぁ。
感激謝
575機械屋:2001/08/08(水) 14:21
まだ ようわからんが。

571さんが教えてくれた。
http://www.input.co.jp/takemori/vb/vbjis.htm
に、S-JIS→JIS 変換のプロシージャが載っていますね。
この考え方で、できそうな気がします。
それを応用してUnicode→S-JISも変換できそうです。

と、ゆうことは、VBにはそのような関数は無いということでしょうか。
576デフォルトの名無しさん:2001/08/08(水) 14:45
>>575
どうやって応用するとUnicodeからSJISになるんだ?
Unicodeから他のコードセットに「計算で」変換する方法は存在しないぞ。
577デフォルトの名無しさん:2001/08/08(水) 16:43
>>575
ttp://www2.will-ltd.co.jp/support/tips/TIPS1.htm
>VBには、UnicodeとシフトJISコードを相互に変換する関数Strconv()が用意されています。
と書いてあるような。

>それを応用してUnicode→S-JISも変換できそうです。
思いつきを言う前に iconv のソースでも読むか 「Unicode標準入門」 を読もう。
http://www.shoeisha.com/book/Detail.asp?bid=1232
578機械屋:2001/08/08(水) 17:41
>>576
ええぇ、UnicodeとS-JISには一定の法則がないの?
できそうで できない。
なんか男と女の関係みたいじゃのう。

>それを応用してUnicode→S-JISも変換できそうです。
これは浅はかな思いつきでした。お恥ずかしい。

ようするに、文字をS-JISに変換できないってこと?
これはこのスレには相応しくない高度な次元の問題だったわけ?

>>577
>>VBには、UnicodeとシフトJISコードを相互に変換する関数Strconv()が用意されています。
>と書いてあるような
これがヒントですか?

↓こんなんで できないよ(涙涙)。
Dim s As String
s = Strconv("ABC",Unicodekarahenkanshiro)
579デフォルトの名無しさん:2001/08/08(水) 17:54
strReturn = StrConv(strSource, vbFromUnicode) 'Unicode --> Shift-JIS
strReturn = StrConv(strSource, vbUnicode) 'Shift-JIS --> Unicode
580デフォルトの名無しさん:2001/08/08(水) 17:58
vbFromUnicode = 128
vbUnicode = 64
581デフォルトの名無しさん:2001/08/08(水) 18:00
For Eachループの意味がいまいちよくわかりません。
これはどのようなときに、どのようにして使うのでしょうか。

たとえば配列になっているボタンを一括で非表示にしたいときに
使えるのかなと思っていますが、やり方がよくわかりません。
582デフォルトの名無しさん:2001/08/08(水) 18:05
>>581
要素を一つずつ順番に取り出して処理するのに向いていると思います。
583デフォルトの名無しさん:2001/08/08(水) 18:24
>>578
UNICODEは完全に独立したコード体系で、表引きによってしか変換できません。
WindowsにはそれをするAPIが用意されています。
ただし、Windowsが持っている表にはいろいろと不備があって、そのために
S-JIS→Unicode→S-JISという変換をAPIで行っても完全に元に戻らないことがあります。
(1対1になっていない文字がいくつかある。どれとどれかは忘れた)
584デフォルトの名無しさん:2001/08/08(水) 21:27
561さんに惚れそうです。。。
585デフォルトの名無しさん:2001/08/08(水) 21:33
INT型 -> BYTE型の変換って、簡単にできないのですか?


intAbc(int型)に、2バイトデータ(例 &H804E)が入っています

これを、上位(&H80)と下位(&H4E)バイトに分けて、
bytA1と bytA2に入れたいので、次のようにしました

bytA1 = CByte((intAbc And &HFF00) / &H100)
bytA2 = CByte(intAbc And &H00FF)

そしたら、CByteのところで、オーバーフローエラーになってしまいます

なんか、考え方間違ってますか?
586デフォルトの名無しさん:2001/08/08(水) 22:40
>ただし、Windowsが持っている表にはいろいろと不備があって、そのために
S-JIS→Unicode→S-JISという変換をAPIで行っても完全に元に戻らないことがあります。
(1対1になっていない文字がいくつかある。どれとどれかは忘れた)

それはWindowsどうこうじゃなくて、ShiftJISとUNICODEのコード
が1対1でないからでは?
587:2001/08/08(水) 23:44
すいません、Excel VBAなんですけどいいですか?
テキストボックスの enabledプロパティを Falseに設定したとき、たしかに入力を受け付けない状態に
なるし、なにか入力されてた場合にはそれが灰色になるんですが、テキストボックス自体を灰色にしてしまう
にはどうしたらいいんでしょうか?ちなみにExcel97です。
588機械屋:2001/08/09(木) 09:03
これじゃあ できないよね。

henkanshiro = 128
'Cells(1, 1) = "恥"
Cells(1, 2) = StrConv(Cells(1, 1), henkanshiro)

付録
変換方法(変数henkanshiroの代入値)
1,文字列を大文字に変換する
2.文字列を小文字に変換する
3,文字列の各単語の先頭の文字を小文字に変換する
4,文字列の半角文字を全角文字に変換する
8,文字列の全角文字を半角文字に変換する
16,文字列の全角ひらがなを全角カタカナに変換する
32,文字列の全角カタカナを全角ひらがなに変換する
64,システムの規定のコードページを使用して文字列をUnicodeに変換する。
128,文字列をUnicodeからシステムの規定のコードページに変換する。

「システムの規定のコードページ」ってなんだ?

Unicodeに変換ならこれでできるけどね。
Cells(1, 3) = Hex(AscW(Cells(1, 1)))
589デフォルトの名無しさん:2001/08/09(木) 09:41
>>587
バックカラーに灰色入れろ
文字は消せ
590デフォルトの名無しさん:2001/08/09(木) 10:44
すいません。いきなり質問します。
ご存知の方教えてください。

Printで出力するファイルがあるのですが
改行を含むデータを出力しようとすると
CSVファイルで開いたとき、セルにまたがって表示されてしまいます。

EXCELで編集した場合に、Alterキー+Enterキーで
同セルに改行するような形で
出力したいのですが、どのようにすれば良いのでしょうか。

vbCrLf、vbCr、vbLfすべてダメでした。(同セルに改行されません)
上記定数に置きかえる定数をご存知の方、教えてください。
いきなりすいません。
591デフォルトの名無しさん:2001/08/09(木) 11:30
ExcelでAlt+Enterで改行した場合はvbLFが入っていますが、CSVを
経由してそれを渡すのは無理でしょう。できるとしたら、CSVに吐く
ときに改行コードを特定の文字(\nとか)に変換して出力し、Excelに
読み込ませた後にvbLFに変換するといった方法を取る必要があると
思います。
592534:2001/08/09(木) 12:24
>>534 は無理だ、ということですか
593587:2001/08/09(木) 12:55
>>589
できました。ありがとうございます。
594590:2001/08/09(木) 14:12
>>591
了解しました。
ご回答ありがとうございました。
595デフォルトの名無しさん:2001/08/09(木) 16:41
>>534=592
アイコンファイル (*.ico) には複数のイメージを含めることが出来る
32x32 と 16x16 の両方のイメージを入れておけば適切に表示されるはずだ
596595:2001/08/09(木) 16:45
ってすまない、前発言よく見てなかったよ
含めてるのに表示されないってか、そりゃ解んないやごめん

今ちょっとアイコン作ってためしてみたけど、普通に表示できたよ
アイコン何で作ったのか知らないが、作りなおして試してみたらどう?
597デフォルトの名無しさん:2001/08/09(木) 17:46
>>590-591
ダブルクオート " で囲むとできるんじゃなかったっけ。
598534=592 :2001/08/09(木) 17:53
色々試してみたら、16*16で色数も16じゃないとだめでした。
256のやつではうまくいかないんですかね
599民族主義の機械屋:2001/08/09(木) 18:44
   ☆結論☆

Unicodeとjiscodeにはなんら関連性は無い。
で、あるから これらを計算的に変換することは不可能である。
Unicodeは優秀にして歴史有る日本工業会が誇るjiscodeに比べなんら優位性がない。
現にウインドーズのアプリでも至るところでjisが使用されている。
にも拘わらずjis変換関数をわざと提供しないエムエスは日本製品の排除を謀り、
如いては日本文化と民族の没落を願う敵性企業と認識しなければならない。
よって我々は今こそエムエス製品の排斥を真剣に検討すべきではないだろうか。
ベーシックはN88ベーシックを使いワープロは一太郎に回帰すべきである。

追記
上の方で機械とのデーター転送云々と話題になっていたようだが、
漢字コードはどうなってるの?
600デフォルトの名無しさん:2001/08/09(木) 18:49
>>599
どこで情報集めてきたかしらんが
頭わいてるようだな
601芸能人脱がせました:2001/08/09(木) 18:50
__
         〃 _`__
     ,,-=-、、l{,_'´..._ `ヽ、、
   〃. ',.´二W´- ‐-`\ \ヽ、___
   _{l,'.'´      、 ヽ ヽ ヽ彡k、ヽ\
  .//`/   i l.    \ 、ヽ `、 i彡}ヽ`' ´ ▲女優,アイドル、脱がしました▲
. /| / i {  |l {\ {ヽ、_!..ヽ」_/} .}./ |__〉、
 \l.{. l.ヾ _.ゝ_土. ゝ -'fT;;ヽ,| lテ}| ||__〉
   /iヽゝヽ/{~);;:l     {:..''ノ'ノノ|{ノ |_!!女優,女子高生のエッチ画像ばかりを厳選収集!スクール水着,女優,画像ばかり。
  .|_|l」ヽ. ヽ ゞ‐'   、   ̄`ノレヽソ|  
     (.ソ.ゝ     --    /' {=}ノ ◆アイドル画像秘宝館◆
     (=| l へ、      /ノノ((.)). http://www.futomomo.com/netidol/idolhappy/maki/ 
     ((!)ヾヽヽ` ;.- ' ´ |'' ''"'´◆アイドラー◆
         `~^``/'l    ゜>\_ http://www.futomomo.com/netidol/idoler/megu/
     , -‐〃"´ |___/   >- 、 ◆セーラー服◆
   / ./〃    |=/    〃/  \ http://www.futomomo.com/netidol/sailor/miku/
  /   | ||, ‐-、_,...!、/_ ,..、 .〃/      ヽ ◆人妻◆
  〈   / -ー.{ { {.=  ヽ、|| l      | http://www.futomomo.com/netidol/waif/mai/
  |   ヽ  /| |\   / i 〉        | ◆スイート倶楽部◆
  〈  ∧ l_/./ |  | \ _/  /       / http://www.futomomo.com/netidol/sweetclub/miyuki/

bvdfgrtgyr
602デフォルトの名無しさん:2001/08/09(木) 21:19
>Unicodeとjiscodeにはなんら関連性は無い。
>で、あるから これらを計算的に変換することは不可能である。

常識すぎて、今更声を大にして言うほどの事でもない。

>Unicodeは優秀にして歴史有る日本工業会が誇るjiscodeに比べなんら優位性がない。

んなこたーない。

>現にウインドーズのアプリでも至るところでjisが使用されている。

WinでJISが使われたことは古今東西一度もない。
S-JISと混同していると思われ。

>にも拘わらずjis変換関数をわざと提供しないエムエスは日本製品の排除を謀り、

思いっきり提供しているが?
VBならStrConv()

>如いては日本文化と民族の没落を願う敵性企業と認識しなければならない。

MSが嫌いなのは別にかまわないけどね。

>よって我々は今こそエムエス製品の排斥を真剣に検討すべきではないだろうか。
>ベーシックはN88ベーシックを使いワープロは一太郎に回帰すべきである。

だからって、通常はUNIXとかMacだろうに。
N88BASICとは意外な展開。(笑)
603579:2001/08/09(木) 22:19
>>588
しばらくみてなかったらびっくり。
文字コードの意味わかってるのかな?
かなり勘違いしてるみたいだよ。
HexでCell(1,1)の文字を16進で表示してるだけで
UNICODE?
だったら
StrHex(Conv(Cell(1,1), vbFromUnicode))
としたらCell(1,1)の文字(デフォルトはUnicode)を
システムの文字コード(S-JIS)に変換後、16進で
表示してくれるよ。
いや、試さないからわからないけど。
>>599はあなたですか?
JISへ変換したいならStrConvでS-JISに変換後、
S-JISからJISへはロジックで変換できるよ。
604579:2001/08/09(木) 22:21
しまった。
StrHex(Conv(Cell(1,1), vbFromUnicode)) は
Hex(StrConv(Cell(1,1), vbFromUnicode)) のまちがいです。
605デフォルトの名無しさん:2001/08/09(木) 22:21
>>603
お前こそ勘違いしてるぞ。VB房にそんなこといってもわからんぞ。
ふざけんな!
606579:2001/08/09(木) 22:26
>>605
何を勘違いしてるというんだ?
教えてくれ。たのむ。
607デフォルトの名無しさん:2001/08/10(金) 02:10
age
608デフォルトの名無しさん:2001/08/10(金) 02:36
VBユーザーはMSの提供する関数の奴隷だね。
ユニコードごときでこのザマだ。(ワラ
609憂鬱な機械屋:2001/08/10(金) 07:31
579様
602様
おねがいです。

>Hex(StrConv(Cell(1,1), vbFromUnicode)) のまちがいです。

この変数vbFromUnicodeの値をなにとどこの未熟な私めに教えてやってくださいませ。
お教え頂ければ後で美味しい愛媛みかんをお贈り致します。
おねがいですだぁ。
610憂鬱な機械屋:2001/08/10(金) 07:33

これで合ってる?私はユニコード表を持っていない。

'Cells(1, 1)=試  Cells(2, 1)=み
'Cells(3, 1)=て Cells(4, 1)=言
'Cells(5, 1)=を Cells(6, 1)=発
'Cells(7, 1)=セ

Cells(1, 3) = Hex(AscW(Cells(1, 1)))
Cells(2, 3) = Hex(AscW(Cells(2, 1)))
Cells(3, 3) = Hex(AscW(Cells(3, 1)))
Cells(4, 3) = Hex(AscW(Cells(4, 1)))
Cells(5, 3) = Hex(AscW(Cells(5, 1)))
Cells(6, 3) = Hex(AscW(Cells(6, 1)))
Cells(7, 3) = Hex(AscW(Cells(7, 1)))

'結果
8A66
307F
3066
8A00
3092
767A
30BB
611579:2001/08/10(金) 08:22
Cell(1, 1) = Right("0" & Hex(AscB(MidB(StrConv("試", vbFromUnicode), 1, 1))), 2) & Right("0" & Hex(AscB(MidB(StrConv("試", vbFromUnicode), 2, 1))), 2)
612デフォルトの名無しさん:2001/08/10(金) 08:40
VCを使おうよ
613感激の機械屋:2001/08/10(金) 11:57
びっくりした。
本当にできてしまった。

579様、ありがとうございます。
これで一応不細工ながらエクセル・機械間のデーター通信が完成します。
できれば、メールなど頂ければ
お世話になったお礼に裏山で採れるみかんでも、
それとも美味しい讃岐うどんでも贈りたいものです
614デフォルトの名無しさん:2001/08/10(金) 12:19
毎日3食コンビニめしなので、うどんが喰いたいYO!!
615579:2001/08/10(金) 13:03
>>613
礼なんていらないよ。
なんかメールが来ても偽者だから送らないように。
616デフォルトの名無しさん:2001/08/10(金) 14:30
Access 2000 で、VBAからフォームにコントロールを貼る方法を教えてください。
たしかデザインモードで開いてはできたはずなんですが、やり方を覚えていません。
617休日が近い機械屋:2001/08/10(金) 16:50
579様、
>礼なんていらないよ。
そんなことを言わないで、せめてもの私の気持ちを受け取って下さい。
どうしてもと言うのなら、お礼の換わりと言ってはなんですが、私のとっておきの小噺をお一つ。

私は明日と明後日は機械の移設の仕事で高知へ行きますが、
高知、土佐には「いごっそう」という言葉があります。
気が荒いとか任侠心に富んでいるという意味ですが、
気が強いのは男ばかりではありません。
女性もまた然り、下手にナンパなどしようものならそれは大変です。
それなりの覚悟が必要でしょう。

もし、579さんが土佐に来る機会があって、そして勇気が有ればぜひ挑戦してみて下さい。
例えば「ネエチャン俺と一緒に一生お茶しないか」とか、
セリフはなんでも良いのですが、相手が夏目雅子のような美人だといいですね。

そのあと 彼女からきっとこのように言われるでしょう。
「土佐の女をなめたら いくぞよ。」


<最近、この話を二十代の知人にしたら「夏目雅子って誰?」と言われ まったくうけなかった。
この噺で笑ってくれるのは四十歳以上だな。>
618デフォルトの名無しさん:2001/08/10(金) 22:21
>>613
つか、3日も前から答えを書いてもらってるのにもかかわらず
試してすらもいなかったとか。
つか、今すぐ市ね
619:2001/08/12(日) 05:54
Excel VBAの Findメソッドを実行した場合に返される値(一致するセルがなかった場合はNothing)
を代入する変数の型は何にすればいいのですか。variantにしてもうまくいかないのですが・・・。
あとたまに「RangeクラスのFindプロパティを取得できません」っていうエラーが出るんです。

Set mycell = 検査項目.Cells.Find(TextBox1.Value)
If mycell Is Nothing Then

↑この記述は間違ってますか(検査項目ってのはシートの名前です)?
620デフォルトの名無しさん:2001/08/12(日) 18:28
age
621デフォルトの名無しさん:2001/08/12(日) 19:29
VBユーザーってこんなバカばっか?
622:2001/08/12(日) 20:22
>>621
やっぱこの質問、恥ずかしすぎました?ごめんなさい。バカなもんで・・・。
どうしてもできないので教えてください(聞くは一時の恥〜ってやつです)。
Findメソッドとかってうまくいくときとエラーが出るときとありませんか?
なにが悪いのかわからんのです・・・。
623デフォルトの名無しさん:2001/08/12(日) 20:45
ちがうよ,
機械屋とかいうヴァカのこと。
624デフォルトの名無しさん:2001/08/13(月) 13:34
>>619
Dim mycell as Range
ってしてみたらどうかな。
Variantに入れたら、Object型になるのかな。
そのエラーって多態が解決されていないと言っているような。
RangeとObjectの系統が違うんじゃない?
環境がないのでテストできない。
625:2001/08/13(月) 20:12
>>623
あ、そうでしたか。恥ずかしい・・・。
>>624
レスどうもです。
やはりうまくいきません・・・。どうやら変数の型の問題ではなくFindメソッドの
記述が間違ってるようです。というのは、返り値を変数に代入しないで 検索でヒットしたセルを
単にアクティブにするだけのコードでも同じエラーが出るんです。↓

Cells.Find(Textbox1.value).Activate

これ本にのってたサンプルコードといっしょなんですけど、間違ってますか?
626デフォルトの名無しさん:2001/08/13(月) 23:44
>>625
TextBox1はどこに置いてあんの?
Form上ならForm1.TextBox1.Value
Sheet上ならSheet1.TextBox1.Value
とか書き換えてみたら?
627:2001/08/14(火) 00:29
>>626
やはり同じエラー(RangeクラスのFindプロパティを取得できません)が出てしまいます・・・。
本にかいてあるとおりにしてもエラーが出るのは、なぜなんでしょうか。
ぼくのマシンの環境に問題があるんでしょうか。Excel97だからってことはないですよね?
628デフォルトの名無しさん:2001/08/14(火) 12:09
Textbox1.valueのところを直接の値("AAA"とか)に
して対象シート(検査項目?)にその値を書いた時にも
同じ現象が出る?

まあとりあえず、その部分のソースを書いてみそ。
629:2001/08/14(火) 18:31
>>628
Private Sub CommandButton1_Click()
Cells.Find("あいうえお").Activate
End Sub

試験的にやってみた分ですが、これでもエラーが出ます(一応sheet1のセルに"あいうえお"と入れてあります)。
もうFindメソッド以外が間違ってるってことはないので、問題は絞れたはずなんですが・・・。
検索対象をRangeプロパティで指定してもだめでした。
630デフォルトの名無しさん:2001/08/14(火) 19:10
>>629
Excel2000ですが、上のコード問題なく動きますね。
なんかExcel壊れてない?(藁
631:2001/08/14(火) 19:33
>>630
Excel97だからダメだってことでしょうか?
97の場合はどう書いたらいいのか教えてください。
632デフォルトの名無しさん:2001/08/15(水) 00:19
ある本に出てた悪戯スクリプトを作ってみましたが実行できません。
「ステートメントの末尾が不正です」だって。 何故ですか?
ちなみにこれを実行すると自分のメアドがレジストリから読み出されて
出るようになってるんですが・・・。

set WshShell = CreateObject("WScript.Shell")Wscript.Echo"あなたのメアドは
633半角文字多いって出たので分割しました。:2001/08/15(水) 00:20
"+WshShell.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\"+WshShell.RegRead
634半角文字多いって出たので分割しました。:2001/08/15(水) 00:20
("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Default Mail Account")+"\SMTP Email Address")+"ですね?”
635デフォルトの名無しさん:2001/08/15(水) 02:35
>>632
これでは不満か?

Option Explicit
Dim Wshshell As Object
Private Sub Form_Load()
Set Wshshell = CreateObject("WScript.Shell")
MsgBox "あなたのメアドは" + Wshshell.RegRead _
("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\" + _
Wshshell.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Default Mail Account") + _
"\SMTP Email Address") + "ですね?"
End Sub
636デフォルトの名無しさん:2001/08/15(水) 03:19
>>632
>set WshShell = CreateObject("WScript.Shell")
の後でちゃんと改行入れてる?

>>633
惜しい。"スクリプト" = VBScript だから、このままでは動かない。
>Dim Wshshell As Object

> As Object
と、
>Private Sub Form_Load()
>End Sub
の2行が不要(というか、あると動かない)。
上記3つを消せば >>633 で望みどおりの結果が出るよ。 >>632
637636:2001/08/15(水) 03:22
スマソ >>633 -> >>635 ね。
638デフォルトの名無しさん:2001/08/15(水) 03:28
>>636
オイラは初心者なんでよく分からんのだけど、
635のコードでも動きましたが…
639632:2001/08/15(水) 06:49
>>635-636さん
うぉぉぉぉぉ!!出た!やった!感動した!ありがとう!!ヽ(´▽`)/

ただ僕は、これをローカルでなくWeb上から実行し、実際にメアドの情報が得られ
ないけど、サイトを見た人が『げっ!!』となるようなびっくりサイトを作ろうとした
のですが、やっぱりエラーが出て上手く表示されません。

またまたお手数ですけど、よければ以下のタグも不具合チェックして下さい。
640632:2001/08/15(水) 06:50
<html>
<body bgcolor="black" text="red">
<script language="vbscript">
set WshShell = CreateObject("WScript.Shell")
r = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ユーザー情報\\Default First Name")

str = "てめーの名前は<font color='yellow'>"+r+"</font>だな?"
document.write(str)
set WshShell = CreateObject("WScript.Shell")
r = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Account
Manager\Accounts\"+WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Account
Manager\Default Mail Account")+"\"SMTP Email Address")

str = "てめーのメアドは<font color='yellow'>"+r+"</font>だな?"
document.write(str)
document.write("今までよくも当方に悪戯してきやがったな!!<br>")
document.write("ふざけんな!今度は当方がてめーを懲らしめてやる!<br>")
document.write("てめーのことは全部警察にちくるのでそのつもりで!!<br>")
document.write("いまさら謝ったって遅いんだよ!!<br>")
</script>

</body>
</html>
641632:2001/08/15(水) 06:54
スクリプトの間の書き込み見て判る方は判ると思いますが、そうです。
僕は「ニセ竹」です。ちく裏の名物スレのファンです。

まさかここに来てる人竹ちゃんファンがいるのかな?
悪戯はよせ!
642635:2001/08/15(水) 08:06
>>640
こんな感じでどうだろう??

<html>
<body bgcolor="black" text="red">
<script language="vbscript">
set WshShell = CreateObject("WScript.Shell")
r = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RegisteredOwner")
str = "てめーの名前は<font color='yellow'>"+r+"</font>だな?<br>"
document.write(str)
set WshShell = CreateObject("WScript.Shell")
r = Wshshell.RegRead _
("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\" + _
Wshshell.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Default Mail Account") + _
"\SMTP Email Address")
str = "てめーのメアドは<font color='yellow'>"+r+"</font>だな?<br>"
document.write(str)
document.write("今までよくも当方に悪戯してきやがったな!!<br>")
document.write("ふざけんな!今度は当方がてめーを懲らしめてやる!<br>")
document.write("てめーのことは全部警察にちくるのでそのつもりで!!<br>")
document.write("いまさら謝ったって遅いんだよ!!<br>")
</script>
</body>
</html>
643632:2001/08/15(水) 23:44
>>635さん
うわぁ〜。またまたレスありがとうございますぅ〜。
よく見ると>>640はとんでもない間違いだらけなんだけど、>>635をローカルのhtmlファイルで実行
したらきちんと表示できました。

ただ、これをジオのHPでUPしても表示されません。
ジオのHPスペースはvbscriptが使えない?・・・ことはないと思いますが・・・?

http://www.geocities.co.jp/Technopolis-Mars/8157/Tomokazu/Takeda.html
http://www.geocities.co.jp/Technopolis-Mars/8157/Takeda.htm

↑です。なぜでしょう?

ただ、こんな冗談に付きあってくれるなんて・・・もしかして635
さんは竹ファン?
644635:2001/08/16(木) 01:01
竹ファンじゃないよ。
つーか、竹ファンって何???

上のスクリプトの記述は間違ってない。
ただ、ネットワーク上で表示させるには
ブラウザのセキュリティの設定が必要。

インターネットオプション>セキュリティ>レベルのカスタマイズ で、

「スクリプトを実行しても安全だとマークされていないActiveXコントロールの初期化とスクリプトの実行」
の項目が「有効にする」になっていないと表示されないよ。
つまり、閲覧者がこの設定を無効にしていると何も表示されないので
実用的ではないような気がする…。

VBの話題から外れてしまったのでsage。
645632:2001/08/16(木) 04:59
>>644の635さん
ありがとうございました。
>閲覧者がこの設定を無効にしていると何も表示されないので
>実用的ではないような気がする…。

その通りですね。
実は僕、VBのことやプログラムのこととか全くの無知なのですけど、これは
鰹G和システムから出版されてる「ホームページ 誰も書かなかったホントの裏技」と
いう本に出てたもので、「訪問者のログの取り方」だの「自前CGI串の作り方」だの
アングラ系サイト制作のコツとかテクを説いたものなんですが、>>644でカキコしてある
こととか一言も解説なかった。 単なる厨房読本だったのね。
でも、VBの興味も出てきました。 ゴミレスごめんね。 よってsage
646628:2001/08/16(木) 11:12
>>629
遅れてスマソ
そのコードEXCEL97で動かしたけどちゃんと動くぞ。
やっぱりEXCELが壊れているんじゃない?
一応MSのサイトで紹介されているFINDメソッドの使い方を乗せておくけど
・・・多分動かんだろうなぁ
http://www.microsoft.com/JAPAN/support/kb/articles/J011/3/06.htm?LN=JA&SD=SO&FR=0
647デフォルトの名無しさん:2001/08/16(木) 11:49
>>628

Excel97を使ってる別人だが、確かにFindメソッドは同じコード
でも動いたり動かなかったりする。動かないときの切り分けが
できないので結局使うのをあきらめた。

こういうときはMSのサイトで大概該当する項目が見つかるのだが、
これに関しては何も見つからなかった。
648デフォルトの名無しさん:2001/08/16(木) 12:37
>>647
>>629のコードは、デフォルト多用しまくりだし、エラー処理も無いから
当然条件がそろわないと動かないけど、そーじゃなくて安定しないってこと?
649647:2001/08/16(木) 13:05
>>648

ごく単純なコードでも動かないことがある。

直値を指定した動いていたコードを、変数に変えたらエラーに
なったり(そもそも例のエラーメッセージ自体謎)、後でもう
一度同じようなコードを書いてみたら問題なく動いて再現できなく
なったり...
650デフォルトの名無しさん:2001/08/16(木) 23:49
VBから画像処理DLLを呼び出したいんですけど、引数として画像の先頭メモリ
アドレスを渡さないといけないのですが、どうやればアドレスを取得できるの
ですか?
651デフォルトの名無しさん:2001/08/16(木) 23:58
だからVBで画像処理なんておやめなさい。
652デフォルトの名無しさん:2001/08/17(金) 15:02
>>650
ファイル名を渡したら画像をメモリに読み込んでから画像処理DLLを呼ぶDLLでも
作ったらどうでっしゃろ
653デフォルトの名無しさん:2001/08/17(金) 20:35
VBで、ファイルの名前変更はできるのでしょうか?
APIとかあるのでしょうか?
654厨房635号:2001/08/17(金) 21:21
>>653
APIを使うまでもないよ。

Dim OLDNAME, NEWNAME
OLDNAME = "変更前のファイル名"
NEWNAME = "変更後のファイル名"
Name OLDNAME As NEWNAME

……これで変更できるはず。
655653:2001/08/18(土) 03:40
>>654
ありがとうございます!!
656あび:2001/08/18(土) 17:00
くだらない質問なんですが
フォームを傾けて表示させる方法ってあるんでしょうか?
中身のコントロールもそのまま傾いた感じで。
いろいろ考えたんですけど、そりゃ不可能か・・・と思い始めたんで
最後にここで質問させてもらいました。
どなたか、教えてもらませんか?
657デフォルトの名無しさん:2001/08/18(土) 17:25
ディスプレイ傾ける。
658デフォルトの名無しさん:2001/08/18(土) 18:18
>>565
無理。
659デフォルトの名無しさん:2001/08/18(土) 18:37
全部自前で描画したらできるんでない?
VBの範囲超えるかもしれんが
660デフォルトの名無しさん:2001/08/18(土) 18:46
・フレームのキャプションって左上に表示されますよね。
 あれを中央で表示させたいのですがどうやったらいいのでしょう。

・テキストファイル(単語が一行に1個書いてある)をインポートするときに、
指定された文字の物だけをランダムで読み込む方法を教えてくれませんか?

・テキストボックスにひらがなだけを入力させるほうを教えてください。
661緑茶。:2001/08/18(土) 22:21
>・フレームのキャプションって左上に表示されますよね。
>あれを中央で表示させたいのですがどうやったらいいのでしょう。
スペース入れまくれ。
662デフォルトの名無しさん:2001/08/18(土) 23:02
>スペース入れまくれ。

ネタか?
リサイズしたら中央にならんだろ。
コントロールボックスとキャプション消してラベルを貼り付けるのが正解。
何?グラデーションが無くなる?
ユーザーコントロールでも作れや。
663厨房635号:2001/08/19(日) 00:54
いや、660が言ってるのは
フォームのキャプションではなく「フレーム」のキャプションだから
ちょっとその回答は違う気がする……。
そういうオイラも厨房だから正しい答えはできないけれど……。
http://www.geocities.co.jp/HeartLand-Hanamizuki/9764/SAMPLE.lzh
とりあえずオイラがやるとすればこんな感じにしかできない。
ダウンロードして解凍すればプロジェクトファイルがあるから、
よかったら参考までに見てみて(ウィルスとかじゃないからね…)。
どうやってるのかはすぐに分かると思うよ。
664660:2001/08/19(日) 10:34
>>663
ありがとうございました。この問題については、解決です。

・テキストファイル(単語が一行に1個書いてある)をインポートするときに、
指定された文字の物だけをランダムで読み込む方法を教えてくれませんか?

・テキストボックスにひらがなだけを入力させるほうを教えてください。

はわかる方いらっしゃいますか?
665厨房635号:2001/08/19(日) 16:56
>>664
オイラは読解力が乏しいので、質問の意味がイマイチ分からん。
どんなふうにしたいのかもうちょっと詳しく説明してくれないかな?
666660:2001/08/19(日) 18:22
一つ目について。
まず事前準備として、テキストファイルに単語(りんご など)が一行に1個づつ、
たてにずっと並んでます。

で、したいことは、このテキストファイルをインポートしてラベルに単語を表示させるときに
指定した文字("あ"など)で始まる単語だけをランダムに1個だけ取り出して表示させたい

ということです

2つ目はわかると思うのですが、、、
テキストボックスにひらがなしか入力できないようにしたいのです
667デフォルトの名無しさん:2001/08/19(日) 18:26
>>666
全部読むだけ読んで、1つ読むごとに指定文字と比較して
マッチしない場合はしかとすればいいのでは?

マッチしたら文字配列にぶっこんで、そこからランダムで抜くとか。
これじゃだめかしら
668厨房635号:2001/08/19(日) 19:59
>>666
オイラも667のような方法しか思いつかん。
また、とりあえずサンプルをあげておくよ。
http://www.geocities.co.jp/HeartLand-Hanamizuki/9764/SAMPLE.lzh
短いコードだから何をやっているのかは理解できる思う。
669厨房635号:2001/08/19(日) 20:01
スマン、URLが前のままだった。
↓↓ こっちが本物
http://www.geocities.co.jp/HeartLand-Hanamizuki/9764/SAMPLE2.lzh
670660:2001/08/19(日) 21:07
>>667-668
できました!!
ありがとうございます

もうしわけないのですが、あと一個です。数字だけ入力できるようにするのならわかるのですが。。。
ぜひお願いします
671厨房635号:2001/08/20(月) 00:22
>>670
さっきのサンプルのひらがな入力強制バージョン。
http://www.geocities.co.jp/HeartLand-Hanamizuki/9764/SAMPLE3.lzh
もっといい方法があるのかもしれんが、オイラの厨房技術ではこれが限界。
672デフォルトの名無しさん:2001/08/20(月) 01:07
>>667
たしかラクダ本に載ってた、1パスでランダムに取り出す方法。VB
は知らんので誰か書き換えて。

open(F, "TEXTFILE.txt") or die;
$cnt = 0;
$line = undef;
while (<F>) {
 next unless /^あ/;
 $line = $_ if (rand(++$cnt) < 1);
}
print $line;
673660:2001/08/20(月) 19:27
>>671
これでOKです。厨房635号 さん、ほんとうにありがとうございました
674デフォルトの名無しさん:2001/08/20(月) 22:26
質問させてください・・・
今VBでExcelを取り込むプログラム組んでましていろいろ試しているのですが、
Excelのセルが持つハイパーリンクの情報をDataコントロールを通して
取得する事は可能なのでしょうか?
よろしくお願いします。
675デフォルトの名無しさん:2001/08/21(火) 01:28
VBでHTMLから特定の文字列を抜き取りたいのですがどうやったらいいでしょうかね・・・
何日も悩んでるんですけど。

たとえばニュースサイトでトピックス部分のみ抜き取るとか2chのスレッドタイトルのみを抜き取るとかをしたいんですけど。

何かいい方法無いでしょうか?
676デフォルトの名無しさん:2001/08/21(火) 16:13
>>675
特定の文字列を抜き取る手法よりも、それがニュースのトピ部分か、
2chのスレタイトルかを判定する方が難しいと思われ。
677デフォルトの名無しさん:2001/08/21(火) 16:52
でもかちゅーしゃとかってスレッドのタイトルだけ持ってきてるよね
スレッド一覧で

どうやってるんかな〜って思って

かちゅ〜しゃはDelphiだけど
678デフォルトの名無しさん:2001/08/21(火) 17:23
>>677
かちゅーしゃは直接データファイルを読んだり書いたりしてるんじゃなかったっけ
679デフォルトの名無しさん:2001/08/21(火) 17:29
HTMLから抜き取ってじゃ無くてデータを拾ってきてるって事かな?

 
680デフォルトの名無しさん:2001/08/21(火) 17:51
LISTVIEWコントロールをSORTedとしたとき
9
80
8
72
66
50
こんな感じにSORTされてしまいます。

これを↓普通の0〜100順ソートする方法はありますのでしょうか。
80
72
66
50
9
8
681デフォルトの名無しさん:2001/08/21(火) 18:03
SortItems
682VBで動画見るには?:2001/08/21(火) 18:43
VBで動画を見る画面を作るにはどうしたら良いの??
どんなファイルがよいかも教えてください
683デフォルトの名無しさん:2001/08/21(火) 18:47
>>682
ActiveMovieControlを貼り付ける
684デフォルトの名無しさん:2001/08/21(火) 18:51
去年くらいの雑誌に載ってた
「リッチ摘記すとボックスに色つきの文字を挿入する」
っていうTips覚えてる方いませんか?
RTFタグ(?)で直接いれるやつ
685デフォルトの名無しさん:2001/08/21(火) 19:16
ラベルを伸縮させることで簡易プログレスバーを作成したのですが、
これをステータスバーの上の乗っけることはできませんか

処理中はステータスメッセージを特に出していないし、ここにもって
いけたらスマートな感じがするのですが。
686デフォルトの名無しさん:2001/08/21(火) 19:25
>>685
http://www.remus.dti.ne.jp/~y-mac/teclib/staprog.htm
その簡易プログレスバーっていうのもいけます
687685:2001/08/21(火) 21:04
なるほど。これは良さそうなのでさっそく試してみます。
ありがとうございました。
688デフォルトの名無しさん:2001/08/21(火) 21:52
いわゆるクリック待ち処理を
作りたいのですが、うまく行きません
どのようにすればええんでしょうか
689デフォルトの名無しさん:2001/08/21(火) 22:23
>>688
えっとまず、ここはVB初心者質問ですがスレッド間違ってませんか?
次に、クリック待ち処理って何ですか?
ボタン等クリックしたときに発生するイベントとは別物ですか?
「いわゆる」と言われても、あんまり一般的なことを聞かれているような気がしませんが。(笑)
690厨房635号:2001/08/21(火) 22:43
結局、688は何を作っているのだ?
まずはその辺を説明してもらいたい。
691688:2001/08/21(火) 23:01
強制的に処理を"中断"させてしまい、
それを入力で再帰できるような処理を作りたいんですわ
Cとかだとそれなりに簡単に出来るよーですけど、VBやとむずかしいんかな。

そのような処理をしているアプリを探したんけど、見つかりませんでしたわ
たしかに一般的でないかもしれへんわ、でも使ったこと無いかなあ。
692厨房635号:2001/08/21(火) 23:06
中断させる「処理」を具体的に書いてくれ。
こんな曖昧な質問では誰も回答できんよ。
693デフォルトの名無しさん:2001/08/21(火) 23:13
>>691
なるほどね、簡単なのはDoEventsすることかな。
DoEventsはその命令の中でイベントを処理するから、無限ループに注意

長時間かかる処理->DoEvents->ボタンなどイベント
こんな感じで呼ばれる。


Private Flag as Long
Sub 長くかかる処理()
  Flag = 0
  Do
    DoEvents
  Loop Until Flag = 1
End Sub

Sub 中止ボタンなどイベント
  Flag = 1
End Sub

俺なら、こんな感じでするかな。
694688:2001/08/21(火) 23:41
>>693
うまく行きそうな感じですわ、ご助言ありがとうございます
TIMER使って入力探知するとかとか、条件式で謎の処理行ってほんまの無限ループに
なったり大変でしたが、いや助かりました。

>>635
ども、抽象的ですんません。
695デフォルトの名無しさん:2001/08/21(火) 23:47
>>694
Timerもイベントだから、なにか処理してる間は呼ばれないね。
Timerで処理していることがあるなら、他にも時間がかかりそうな
所はまめにDoEventsすべし
696デフォルトの名無しさん:2001/08/22(水) 02:56
質問なのですが、VBで現在のマウスカーソルの位置の色情報を取得するにはどうすればいいのでしょうか?
いろいろなサイトを見たのですが全然見つかりませんでした。知ってる方よろしくお願いします。
697デフォルトの名無しさん:2001/08/22(水) 02:59
>>696
グラフィックとかのソフトのこと?
やっぱり自分で計算するんじゃない?


無責任なレスでスマソ・・・
698デフォルトの名無しさん :2001/08/22(水) 03:02
>>696
英語は得意ですか?
699デフォルトの名無しさん:2001/08/22(水) 03:05
>>696
3分以内に答えないと教えないよ。
700デフォルトの名無しさん:2001/08/22(水) 03:08
>>696
残念、英語不得意でしたか。
701デフォルトの名無しさん:2001/08/22(水) 03:08
>>677
http://piza2.2ch.net/tech/subject.txt
これをとってるだけ。
702デフォルトの名無しさん:2001/08/22(水) 03:36
スマソ、英語はめちゃめちゃ苦手です。
703デフォルトの名無しさん:2001/08/22(水) 03:38
>>699
やっぱりAPIを使うんでしょうか???
704699:2001/08/22(水) 03:47
ここのソースダウソして勉強してごらん。
http://www.planet-source-code.com/upload/ftp/CODE_UPLOAD8469812000.zip
705デフォルトの名無しさん:2001/08/22(水) 03:53
>>704
サンクス!!何とかしてみます。
706VBで動画見るには?:2001/08/22(水) 07:33
>>683さん
ありがとうございます。
707デフォルトの名無しさん:2001/08/22(水) 10:18
>>701
ありがとうございます!!
恩に切ります!!
708デフォルトの名無しさん:2001/08/22(水) 16:03
今までクラスって使った事無いんですけどそもそもクラスって何なんですか?
わかりやすく教えてください
709デフォルトの名無しさん:2001/08/22(水) 17:20
■[クラス]の大辞林第二版からの検索結果 


クラス

[class]

(1)学校などにおいて、組み分けしてできた生徒の集団。学級。級。組。
(2)等級。階級。層。「実力はトップ-―だ」
(3)種類。部類。
710デフォルトの名無しさん:2001/08/22(水) 17:21
>>708
クラス
711デフォルトの名無しさん:2001/08/22(水) 17:32
>>709
つまらん
712デフォルトの名無しさん:2001/08/22(水) 17:38
>>711
ageてまで言う事か?・・・
713デフォルトの名無しさん:2001/08/22(水) 17:45
クラスとは、オブジェクトを作成するためのテンプレートのことです。クラス モジュール内のコードは、そのクラスから作成されるオブジェクトの属性と機能を示します。

クラスはオブジェクトではありませんが、属性を定義するデザイン時のプロパティと、機能を定義するイベントを保持します。
714デフォルトの名無しさん:2001/08/22(水) 19:38
>>708
自分でクラスモジュール書いてみそ。
下手に説明されるよりずっと良く分かるはずだ。
715デフォルトの名無しさん:2001/08/22(水) 21:12
クラスは使わなくても開発できるけどね
716デフォルトの名無しさん:2001/08/22(水) 21:20
だからDQNが多いのか・・・
717デフォルトの名無しさん:2001/08/23(木) 05:23
VBで作ったプログラム(ゲームです)を配布しようと
思っていたのですが、ランタイムを用意してもらったりと
面倒な事が多いのでCに移植しようかなぁと考えています。
しかし僕のCの知識は教科書のポインタおよび構造体まで
しかなく、サウンドの再生や画像の描画に関しては全くです。
そこでみなさんにお聞きしたいのですが、VBプログラムの
まま製作を続けていく方がいいでしょうか?それとも苦労して
でもCに移植した方がいいでしょうか?
718デフォルトの名無しさん:2001/08/23(木) 05:35
ゲームなら迷うことなし
719デフォルトの名無しさん:2001/08/23(木) 07:59
>>717
ランタイム用意すればいいじゃん
720デフォルトの名無しさん:2001/08/23(木) 09:59
HSPがあります(藁
721デフォルトの名無しさん:2001/08/23(木) 12:36
ビットマップファイルのデータ構造がどうなっているのか知りたいのですが、
日本語でそういったことを解説しているサイトなどはないでしょうか

VB特有の質問ではないのですが、VBで開発しているのでここで質問しました。
722デフォルトの名無しさん:2001/08/23(木) 12:52
www.google.com/search?q=BMP+%8D%5C%91%A2
723デフォルトの名無しさん:2001/08/23(木) 13:11
>>717
もう完成間近って事なら、とりあえずはVBで完成させてしまうのがヨイと思うぞ。
移植なら、それからでも遅くはあるまい。

今からC勉強してという案は、完成までモチベーションを維持するという意味で大変だ。
724717:2001/08/23(木) 13:33
レスありがとうございます。
>>718さん
迷わずVBという解釈でよろしいのですよね。
>>719さん
使用者がランタイムを用意(ダウンロード)するのは面倒では?と思ったので
Cへの移植を考えました。
>>720さん
HSPのページをいくつか覗かせて頂きました。今度チャレンジしてみようと
思います。情報ありがとうございます。
>>723さん
おっしゃる通り、完成してからの移植でも遅くないですよね。まずはVBで
完成まで頑張ろうと思います。
Cに移植しようと思ったのは上記の理由(719さんへのレス)と、この掲示板
でVBがあまり好まれていないように感じたからです。
725デフォルトの名無しさん:2001/08/23(木) 13:57
718のいいたいことは多分違うぞ・・・
726超びぎな:2001/08/23(木) 14:22
既出の質問かもしれませんが、見つけ切れませんでした……。

テキストボックスで、右クリックしてでるポップアップメニューの
カスタマイズってできるんですか?
項目追加もしくは、全く新しいメニューの作成など……。

よろしくお願いします。
727デフォルトの名無しさん:2001/08/23(木) 15:00
>>726
メニューエディタでOKだよん
728超びぎな:2001/08/23(木) 16:11
>>726
ありがとうございます。
でもこれじゃ、プルダウンメニューと排他になると思ったんですが……。

やってみます(^^;
729超びぎな:2001/08/23(木) 16:11
>>727
の間違いでした……。失礼しました。
730デフォルトの名無しさん:2001/08/23(木) 16:30
>>726
サブクラス化してWM_CONTEXTMENUを引っかける。
731デフォルトの名無しさん:2001/08/23(木) 16:52
突然ですみません
メインフォームをロードした後に、アクション(ボタンの介入など)なしで
とある処理を動かしたいのですが、可能でしょうか?
732デフォルトの名無しさん:2001/08/23(木) 16:59
>>731
ロードした後ならActivateイベントなんだが、Activateはアクティブ
になったとき呼ばれるから、初回だけならフラグを立てて2回目以降を
回避するようにする。
733デフォルトの名無しさん:2001/08/23(木) 18:29
>732
ありがとうございます
やってみます
734デフォルトの名無しさん:2001/08/23(木) 20:19
VBの本とか読むと、Winsockコントロールに、RemoteHostにIPアドレスとか指定すりゃ、
ネットに繋いだ誰かさんにデータを送れるみたいな事書いてありますが、そんな簡単に出来るんでしょうか。
http://software.nikkeibp.co.jp/software/download/down01c.html#200106
735デフォルトの名無しさん:2001/08/23(木) 20:34
>>734

こんな感じ(笑)

Private Sub Command1_Click()

Winsock1.Connect "www.2ch.net", 80

End Sub

Private Sub Winsock1_Connect()

Winsock1.SendData "GET / HTTP/1.0" & vbCrLf & vbCrLf

End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

Dim A$
Winsock1.GetData A
Text1.Text = Text1.Text & A

End Sub
736734:2001/08/23(木) 21:13
そーすると、チャットみたいな事は出来るんでしょうか。
相手のマシンのIPアドレスとポートを指定すれば送れるとか、
本には書いてありますが、いまいち胡散臭く感じられます。(汗

Private Sub Form_Load()
Winsock1.RemoteHost = "123.456.7.8"
Winsock1.RemotePort = "1024"
Winsock1.Connect
End Sub

Private Sub Winsock1_Connect()
Winsock1.SendData ("おへ?")
End Sub
737デフォルトの名無しさん:2001/08/23(木) 22:23
>>736
受け取る方も書けばできるよ。
738デフォルトの名無しさん:2001/08/23(木) 22:34
>>736
なんで胡散臭く感じるか不思議なのだけど、簡単にできるよ。

Text3が相手のホスト名(叉はIP)、Text4がポート、
Text1はMultiLine=trueで。
Command1で接続、
Command2でサーバモードで待ち受け、
Command3で送信。

Private Sub Command1_Click()
'相手に接続(クライアントモード)
Winsock1.Close
Winsock1.RemoteHost = Text3.Text
Winsock1.RemotePort = Val(Text4.Text)
Winsock1.Connect
End Sub
Private Sub Command2_Click()
'接続を待ち受け(サーバモード)
Winsock1.Close
Winsock1.LocalPort = Val(Text4.Text)
Winsock1.Listen
End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
'相手から接続要求が来たので接続
Winsock1.Close
Winsock1.Accept requestID
End Sub
Private Sub Command3_Click()
'送信
Dim strSend$
strSend = Text2.Text & vbCrLf
Text2.Text = ""
Text1.Text = Text1.Text & strSend
On Error Resume Next
Winsock1.SendData strSend
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
'受信
Dim A$
Winsock1.GetData A
Text1.Text = Text1.Text & A
End Sub

無粋なソースなのでsage。
739736:2001/08/24(金) 06:26
>>738
寝てしました。
こんなド素人に付き合って下さって、ありがとうございます。
740デフォルトの名無しさん:2001/08/24(金) 13:51
>>726
Option Explicit

Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button = 2 Then
Text1.Enabled = False
Text1.Enabled = True
PopupMenu m_test
End If

End Sub
741初心者:2001/08/25(土) 02:50
よろしくお願いします。
VB5で複素数を扱うことはできないんでしょうか?
FortranでDLLを作って使おうとしたんですが
うまくいきません。(Fortranのソースを間違えてるかも)
どうしたらいいでしょうか?
(FortranはMicrosoftのPowerStation4.0を使っています。)
742デフォルトの名無しさん:2001/08/25(土) 10:53
既出かとは思いますが・・・

VB6で、
よく使うActiveXをプロジェクト新規作成の時に
初めからコンポーネントパレットに載っているように
設定する方法はないのでしょうか?
743 :2001/08/25(土) 16:07
MD5でメッセージダイジェストをつくるアルゴリズムを教えてください
744馬鹿ちんちん:2001/08/25(土) 16:54
この下のプログラムで実行できないんですが、何処が悪いのかわかりません。
教えてください。
コマンド1と2は「作成中」とメッセージを出し、コマンド3は
終了するか否か?ってやつですのです


Option Explicit

Sub Wait()

MsgBox "作成中"

End Sub

Private Sub Command1_Click()

Call Wait

End Sub

Private Sub Command2_Click()

Call Wait

End Sub

Private Sub Command3_Click()

Dim Answer As String

Answer = MsgBox("終了しますか?", vbYesNo, "Msgbox")

If Answer = ybYes Then
End
End If

End Sub

Private Sub Form_Load()

Label1.Caption = "管理人"
Command1.Caption = "初期設定"
Command2.Caption = "開始"
Command3.Caption = "終了"
Form1.Cartion = "組込み関数"

End Sub
745デフォルトの名無しさん:2001/08/25(土) 17:28
>>743
google で検索したら、すぐに見つかったけど。検索エンジンの使い方
が分からないのか?

The MD5 Message-Digest Algorithm
ftp://ftp.iij.ad.jp/pub/internet/rfc/rfc1321.txt
746馬鹿ちんちん:2001/08/25(土) 17:40
>>744
この返答求む!!
747厨房635号:2001/08/25(土) 17:55
>>744
「If Answer = ybYes Then」を「If Answer = vbYes Then」に。
「Form1.Cartion = "組込み関数" 」を「Form1.Caption = "組込み関数"」に。

……どこが違ってるかはわかるよね?
748馬鹿ちんちん:2001/08/25(土) 18:26
>>747
「If Answer = ybYes Then」のYをV
「Form1.Cartion = "組込み関数" 」のRをP
って事ですよね?
やってみたんですが、出来ないっす(T0T)
749馬鹿ちんちん:2001/08/25(土) 18:29
>>747
コンパイルエラー:
プロシージャの宣言が、イベント又はプロシージャの定義と一致していません。
って出ます。
750デフォルトの名無しさん:2001/08/25(土) 19:07
>>749
Answerはstring型じゃ、だめだろ
751馬鹿ちんちん:2001/08/25(土) 19:11
>>750
えっ、どう言う事ですか?
初心者なんで意味がわかりません
752デフォルトの名無しさん:2001/08/25(土) 21:09
>>751
Dim Answer As Boolean

いちお、マジレスしとく。
753デフォルトの名無しさん:2001/08/25(土) 21:52
>>750
え? 俺はコンパイルできっけど・・(汗
754744:2001/08/25(土) 22:39
>>747&>>750&>>752&>>753さん
すんません、コンパイルできました。
フォーム画面のコマンド1ボタンで変な事したのが原因みたいです(コピーやら何やら)
所でボタンを押して画面の切りかえってどうやるんですか?
本を読んでも書いて無いっす。(はじめての…)
レスお願いします。
755厨房635号:2001/08/25(土) 23:00
もう1個フォームを作ってShowで呼ぶのじゃダメ?
756744:2001/08/25(土) 23:03
>>755
Show?
どうやって使うの?
フォームは作ったけど・・・・
757デフォルトの名無しさん:2001/08/25(土) 23:06
>>756
いいかげんにしろ!
758厨房635号:2001/08/25(土) 23:13
>>756
http://www.geocities.co.jp/HeartLand-Hanamizuki/9764/SAMPLE4.lzh
ダウンロードして解凍して実行してみろ。
これを見ても分からないようならオイラにはもう説明できん……。
759744:2001/08/25(土) 23:30
>>758
ありがとうです。DLしてみてみました。
またやってみます。
760デフォルトの名無しさん:01/08/26 12:17
再掲

VB6で、
よく使うActiveXをプロジェクト新規作成の時に
初めからコンポーネントパレットに載っているように
設定する方法はないのでしょうか?

やっぱり無理ですか?
761デフォルトの名無しさん:01/08/26 13:49
>>760
VBつかうな。DELつかえ。
>>761
と、761は言うがどうなんだろうか?
763Delギコ:01/08/26 16:15
 ∧ ∧  >>761
 (;゚Д゚)  こらこら、
 (|  |つ
〜|  |
  ∪∪

ここは優良スレなんだから
場違いなレスはやめときな。
764デフォルトの名無しさん:01/08/26 19:28 ID:571dF5Sg
ExcelVBAの変数の渡し方について質問です。
標準モジュールのプロシージャ内にDim宣言した変数があります。
この変数を、そのプロシージャから.showを使って呼び出したフォームのコードで使いたいのですが、どうすればいいのでしょうか?
Public宣言は使いたくないので、それ以外の方法を教えてください。
お願いします。
765デフォルトの名無しさん:01/08/26 21:25 ID:xI2obt76
>>764
その変数をモジュールレベルの変数にしてProperty(もちろんGetオンリーね)プロシージャで
取得するようにしてみれば?

ex.
Private m_変数

Public Property Get Prop
Prop = m_変数
End Property

Public Sub Func1()
m_変数 = 何らかの値
End Sub
766765:01/08/26 21:27 ID:z1F7TOUw
追加。
これだったら勝手に他のモジュールから値を変えることができなくなるよ。
ageてしまった。
鬱だ氏のう
767764:01/08/27 01:04 ID:z4FBIIXk
>765

どうも助かりました。
言われたとおり試してみます。
ありがとうございました。
768デフォルトの名無しさん:01/08/27 10:34 ID:/ohAiagA
初心者です。
textboxに最後に表示(入力)した文字を、次に起動するときに表示させたいのです。
簡単にできるのでしょうか?
誰かご教授ください
769760:01/08/27 10:53 ID:3YCsgyGE
>>761-763
レスありがとうございました。
VBではできないと言うことで了解いたしました。
770717:01/08/27 11:33 ID:BL6hXT0g
>>768
終了するときにtextboxの内容をファイルに保存して、起動時にそれを
読み込むっていうのでいいんじゃないでしょうか?ファイルの保存とか
読み込みについてはgoogle(http://www.google.com)で調べてね。
全部教えちゃうと身につかないから。
771デフォルトの名無しさん:01/08/27 12:31 ID:vncjlUd2
>>760
C:\Program Files\Microsoft Visual Studio\VB98\Template\Projects
↑ココ、良く使うというコントロールなどを配置した.vbpファイルを置くというのはどうだ?
プロジェクトの新規作成ウインドウにそのvbpが表示されるが...
ダメ?

遅レスsage
772760:01/08/27 13:38 ID:3YCsgyGE
>>771 おお!
「プロジェクトタイプ名.vbp」で書き込んでおくことで
使い分けることができるのですね。

おかげさまで解決しました。
ありがとうございました。
773デフォルトの名無しさん:01/08/28 15:21 ID:2ACwgUNU
VBでフォームに画像をタイル状に並べて表示するにはどうしたらいいんでしょうか?
プログラムが起動したら画面一杯にタイル状に表示させたいのですが・・・
774デフォルトの名無しさん:01/08/28 15:24 ID:HEWceQCw
>>773
何のために各フォームが独立してるんだ?
必要なければ1枚フォームで最大化すれば?
775デフォルトの名無しさん:01/08/28 20:34 ID:5xAr4H5s
>>773
普通に並べてもダメ?
776デフォルトの名無しさん:01/08/28 20:55 ID:DIzzKKB2
あらかじめ小さな画像を用意しておいて、
プログラム開始時に解像度に関わらず自動的にフォーム一杯に並べるという
処理のやり方を知りたいのですが・・・
777デフォルトの名無しさん:01/08/28 21:23 ID:HEWceQCw
>>776
よくわからん。それがどうして複数のフォームである必要があるの?
778デフォルトの名無しさん:01/08/28 21:57 ID:DIzzKKB2
うーん・・・自分でも何言ってんだかよくわからなくなってきた・・

つまりフォーム上に、
Pictureコントロールもしくは、imageコントロールを用いて
タイル状に画像を並べたいのですが・・・・
779デフォルトの名無しさん:01/08/28 22:13 ID:HEWceQCw
>>778
じゃあフォームは1枚でいいんじゃん。
あとは適当にPictureの配列作って並べるだけ。
必要があればフォームを最大化。
780デフォルトの名無しさん:01/08/28 22:14 ID:gU31v176
>>779
はじめっからフォーム複数個とは言ってないじゃん(笑
781ActiveMoviecontrolでエラー :01/08/28 22:38 ID:1hHYVmZ.
ActiveMoviecontrolをツールボックスに入れ、フォームに貼り付けることは出来るのですが、
コンパイルするとシステムエラーになります。
”&H80004005(-2147467259)特定できないエラー”です。
何故なのでしょうか?
誰か教えて、、、、
782デフォルトの名無しさん:01/08/28 23:27 ID:C1RWCuTI
>>778
bitbltがいいんじゃない?

>>781
ネイティブコンパイルしてるの?
783激遅レス:01/08/29 00:51 ID:uBAwy..2
>>745 ありがとうございました
784とまと:01/08/29 09:06 ID:eDznrjig
プロジェクトのコンポーネントに
Microsoft インターネット コントロールを追加って
どうやって行うんですか?
わかるかたお願いいたします
785夜のオカズ:01/08/29 09:56 ID:bdM2.b2I
>>778
Imageコントロールを並べる必要はまったく無し。
元画像をPictureBoxかなんかに用意して、画像サイズ分ずらしながら
FormにPaintPictureなりBitBltなりでコピーしていけばOK。
786ネイティブコンパイル教えて:01/08/29 10:23 ID:wtoDZlyA
>>782さん
初心者で申し訳ありません。
ネイティブコンパイルはどうすれば良いのでしょう。
787デフォルトの名無しさん:01/08/29 10:29 ID:Rhjz/Ovs
教えてください。
ピクチャーコントロールの任意の範囲を
イメージコントロールの strech=true を利用して
イメージコントロール上に拡大表示したいのですが…
788デフォルトの名無しさん:01/08/29 10:51 ID:lb2ya9I.
教えてください

マルチメディアタイマーを使ったコールバック関数って
ネイティブコンパイルするとうまく動かないの?
789デフォルトの名無しさん:01/08/29 11:11 ID:5DdtzJDg
データベースに接続してデータを引っ張ってくるというような作業がしたいのですが
VB6.0は、エディションによって機能が制限されるんでしょうか?
790夜のオカズ:01/08/29 15:42 ID:bdM2.b2I
>>789
LearningEdition以外なら問題ないと思われ。
791789:01/08/29 17:10 ID:5DdtzJDg
>>790
なるほど。ありがとうございます。
でもLearning〜〜以外って高いですね。
Learningも大概ですけど…。
792デフォルトの名無しさん:01/08/29 18:46 ID:Rhjz/Ovs
>>791
割れとけ。
793デフォルトの名無しさん:01/08/29 20:01 ID:xH2KJ2oM
プログラミングには関係ない話ですが・・
VBのランタイムファイルって、
ディストリビューションウィザードで作ったCABファイルの形でないと、
配布してはいけないんでしょうか。

ランタイムファイルをシステムフォルダにコピーするがために、
わざわざ、インストールという方法を取るのが無駄に感じて仕方ありません。
ランタイムファイルって、他の方法で配布しちゃ、いけないんでしょうか・・。

マイクロソフトに聞くのが一番早いでしょうが・・・
なんかこう・・聞きづらい・・(汗
794デフォルトの名無しさん:01/08/29 20:03 ID:Rhjz/Ovs
>>793
割れてるのか?
795デフォルトの名無しさん:01/08/29 20:21 ID:IFOgiW26
>>794
じゃなきゃ聞きづらくなかろう。
796デフォルトの名無しさん:01/08/29 20:32 ID:ixxpOU.2
ランタイムを単体で配布してはいけない、と言う規約があった気がするが
アプリケーションと一緒なら良いんじゃなかったっけ?
ディストリビューションウィザード使わんで、ZIP圧縮したって問題無いと思う。

VECTORにあるランタイム集は、それを回避するために、セットアップ付きで配布してる。
797793:01/08/29 21:04 ID:xH2KJ2oM
>794
経費で買って私用中。後ろめたいのは会社の方です。(汗

>796
たしかに規約にはアプリケーションと一緒に配布しろ、としか書かれてません。
でも、これまで、ディストリビューションウィザード以外で
圧縮されたランタイムを見たことがないです。
798デフォルトの名無しさん:01/08/29 21:33 ID:5aO882fA
前スレでお世話になりました。
ガイシュツだったら申し訳御座いません。

Windowsのメモ帳のように、アイコンにドラッグ&ドロップして
txt(html)ファイルを開けるようにするにはどうすればいいでしょうか?
OLEDragModeかOLEDropModeが関係しているのではと思っているのですが…。

ちなみに、htmlファイルはtxt形式で開くようにしてあります。
htmlだからどうこうと言う処理は特にありません。

ご存知の方いらっしゃいましたらお願い致します。
799夜のおかず:01/08/30 00:53 ID:WAOpj4Po
>>798
Command$を調べればアイコンにドロップされたファイルを取得出来るんで、
その後はスキに料理すればOKかと思われ。
800デフォルトの名無しさん:01/08/30 07:17 ID:6gc8BPzU
799さん、ありがとうございます!
学校のPCにしかVB入ってないのですぐには実行できませんが…。
さっそく今日試してみます(・∀・)
801デフォルトの名無しさん:01/08/30 10:40 ID:FIm2.ZN.
GKit Spreadsheet Control を使って
業務やった事ある人いる?
802デフォルトの名無しさん:01/08/30 13:01 ID:SlMm8NNo
>>801

Delphiバージョンなら...
803デフォルトの名無しさん:01/08/30 16:41 ID:nBzECaFA
ログ探したんですが、見つけられませんでした。

ADOデータコントロールを用いて、ストアドプロシージャーに接続する際、
パラメータを指定しろとメッセージが出ます。
ですが、そのやり方が判りません……。

よろしくお願いいたします。
804デフォルトの名無しさん:01/08/30 17:14 ID:qz3dXp/I
質問です。

VBでExcelを操作しているとき、Excel側が出すエラーをトラップして、
Excelにはエラーを出すのをやめさせて、VB側がエラー文字列を受け取るにはどうするのでしょう?
805デフォルトの名無しさん:01/08/30 17:19 ID:HHAGaldA
>>804

xlApp.DisplayAlerts = False
On Error Goto ExcelError
.
.
ExcelError:
MsgBox Err.Description
806デフォルトの名無しさん:01/08/30 17:41 ID:Q8PNk7wc
あ、それだけ、、、VB-Excelって便利ですね>>805
807デフォルトの名無しさん:01/08/31 10:34 ID:4hROc.hU
自分で作ったアプリを逆コンパイルしてみたいのですが、どういったツールを使えばよいのでしょうか?
808 :01/08/31 13:20 ID:UFB0I2to
VBのSetForegroundwindow(最上位に画面を持ってくる)がWINDOWS2000では使えない
みたいで以下の例があったんでそのとおり作ったんですが

SetForegroundWindowを行うウィンドウのスレッドにアタッチしてから、SetForegroundWindowを行います。

hWnd1 = GetForegroundWindow
TID = GetWindowThreadProcessId(hWnd1, PID)
If TID = App.ThreadID Then

Else
Rt = AttachThreadInput(App.ThreadID, TID, True)
End If

Rt = SetForegroundWindow(Me.hWnd)
DoEvents

If AttachThread Then Rt = AttachThreadInput(App.ThreadID, TID, False)

最後の行の「AttachThread」はVB6.0で使用できるんでしょうか?
MSDNのHELP見ても出てこないし宣言の仕方が分かりません。
これは関数?ライブラリ?
809デフォルトの名無しさん:01/08/31 13:51 ID:1CNWv.S6
>>807
自分で作ったアプリなら、逆コンパイルする必要ないぢゃん。
810デフォルトの名無しさん:01/08/31 14:27 ID:4hROc.hU
>>809
逆コンパイルするとどんな風になるか知りたいからです。
それに、ソースをなくしたアプリの復元になるからです
811デフォルトの名無しさん:01/08/31 15:05 ID:70GD8oU.
Excelで0以上と設定してあるカラムに-1を入れるとエラーになりますが、
ActiveCell.Value = -1 '←最終的にはVBから呼ぶつもりですが、とりあえずVBA
とかすると、問題無く値が入ってしまいます。
エラーにするにはどうするんでしょう。
812まだActiveMoviecontrol使えない:01/08/31 18:53 ID:gE54C6X2
ActiveMoviecontrolをツールボックスに入れ、フォームに貼り付けることは出来るのですが、
コンパイルするとシステムエラーになります。
”&H80004005(-2147467259)特定できないエラー”です。
何故なのでしょうか?
ネイティブコンパイルしても駄目でした。
神様助けて
813デフォルトの名無しさん:01/08/31 20:56 ID:VCyloi3Q
ActiveX Exeを作成して、ディストリビュージョン・ウィザードでCABを作成して、
それとHTMLをWebサーバに置いて、
そのURLを起動すると、最初は普通にダウンロードしてくれたのですが、
ActiveX Exeのバージョンアップを繰り返してるうちに
ダウンロード中に「システム設定の変更」のダイアログが表示されるようになってしまったんですが、
これってどうして出るんでしょうか?

出さなくする方法ってあるのでしょうか?
814デフォルトの名無しさん:01/08/31 21:34 ID:WA.r8ugI
>>810
ソースの復元は無理だと思うけど・・(汗

ATTAP
VBDecompiler
The Subject Caf
Daniel Wiman's Visual Basic
どこぞの板では、こゆソフトがあると書いてありました。
現存するかは知らない。対応バージョンも知らない。役立たずでスマソ。
815デフォルトの名無しさん:01/09/01 19:23 ID:JvvK7RrQ
>>814
それ、みました。だけど、どこにも見当たらない。UPキボーン
816デフォルトの名無しさん:01/09/03 09:47 ID:.fKgTI7.
VB始めたいのですが、Learning〜〜〜から始めたほうがわかりやすいでしょうか。
ちなみにエクセルVBAはやったことがあるのですが、どうでしょうか?

あと、VB7はすぐ出るのでしょうか?
817デフォルトの名無しさん:01/09/03 10:26 ID:G/qsEIaY
>>816
LearningEditionでは何も出来ません。最低でもPro版でせう。
高いなと思ったら...Delphiにしましょう(死)

なお、OfficeのVBAよりは自由度が高い反面、面倒くさいと感じる面も多いですが
基本的な構文等は一緒なので、大きな混乱は無いと思います。
818デフォルトの名無しさん:01/09/03 10:37 ID:CK66gkT6
VB6のプロジェクトファイルをVB5へ戻したいのですがどうしたら出来るのでしょうか?

昔にvbpファイルを一カ所いじるだけで戻せるようなのを見た記憶があるんですが、

お願いします。
819811:01/09/03 11:10 ID:o7wukeHs
CircleInvalidで入力値エラーとなるべきセルを赤丸にすることが分かったんですが、
赤丸にアクセスする(数だけでも知りたい)にはどうするんでしょう?
820厨房635号:01/09/03 18:15 ID:YMsJB9dM
821デフォルトの名無しさん:01/09/03 19:49 ID:zu.W1DcU
Linuxサーバーのデータベース(sybase)にVB6.0で接続して
簡単な接続テストのようなものでフォームでボタンを押すと「接続出来ました。」
と表示させるような事がやってみたいのですがこれはどのように書けば良いでしょうか?
WinでのODBCの設定は出来ているようです。よろしくお願いします。
822デフォルトの名無しさん:01/09/04 00:28 ID:RlUQaLR.
VB6.0で2chブラウザを作ってるんですが、
インターネット トランスファ (Inet) コントロールを使って書き込みをするには
どうしたらいいのでしょうか?
Inet1.Execute Url, "POST", "ここに何か入れるのかな?"
823デフォルトの名無しさん:01/09/04 05:48 ID:xADXB3S6
>821
まさにVBユーザーって質問だな
824816:01/09/04 09:06 ID:y38JFVbc
>>817
ありがとうございます。
Pro版を見てみようと思います。
825デフォルトの名無しさん:01/09/04 09:43 ID:Oo1sLF7U
>>821
OpenDatabaseして、エラーが無ければ成功メッセージ出力でええんじゃないの?
826821:01/09/04 09:54 ID:1pUTO232
>>825
そのソースを教えて欲しいんです…
調べてはいるんですが、なかなかサンプルが見つからなくて。。
827デフォルトの名無しさん:01/09/04 10:11 ID:/GsoGp0s
VBA(Excel)を使っています。
beep音の代わりにwav音声を使いたいのですが、
どういう記述をしたら宜しいですか?
828 :01/09/04 12:32 ID:zVUpIT/g
vj < vb6 < vc++6 < delphi < masm < vi

最後のviはバイナリプログラミングです(バイナリ直書き)
829デフォルトの名無しさん:01/09/04 14:12 ID:.o5TBcBg
コマンドボタンのキャプションを左揃えにするには
どうすればいいのでしょう?
830デフォルトの名無しさん:01/09/04 14:15 ID:GqHiCo0A
vj < vb6 < vc++6 < delphi < masm < vi

死亡する順番
831830:01/09/04 14:16 ID:GqHiCo0A
しまった、生存する順番だった。
832名無しさん:01/09/04 15:58 ID:13DHPGuE
VBのInetコントロールを使ってFTPのファイル転送をする時に、プログレスバーを使って
「処理中」の処理をしたいのです。
プログレスバーの伸び方をなるべく正確にするために現在の転送速度を取得したいのですが、
どうやったらいいのでしょうか。
833デフォルトの名無しさん:01/09/04 16:29 ID:vhNb1xH.
>>832
転送開始時に
  st=Date()
として、GetChunk() 後に
  受信済バイト数 / DateDiff("s",st,now)
すれば出ると思いますが。
834833:01/09/04 16:35 ID:vhNb1xH.
>>833 は Execute メソッドの場合ね。OpenURLの場合は解りません。
(たぶんムリ)
835名無しさん:01/09/04 16:40 ID:13DHPGuE
>>833-834
ありがとうございます。
でも受信ではなくて送信のときを知りたいんです。
肝心のところが抜けてて申し訳ありません。

同じようにFTPコマンドかなんかで送り先のファイルサイズを取得して計算するって方法しか
ないんでしょうか。
836デフォルトの名無しさん:01/09/04 16:48 ID:vhNb1xH.
837デフォルトの名無しさん:01/09/04 16:54 ID:vhNb1xH.
>>835
そうなると、Winsockコントロールで作るしかないかな?
838名無しさん:01/09/04 17:04 ID:13DHPGuE
>>837
そうですか。分かりました。
ちょっと手におえそうに無いので今回はあきらめることにします。
回答ありがとうございました。
839デフォルトの名無しさん:01/09/04 17:45 ID:rEyf5xws
質問があります。

コモンダイアログボックスの[印刷]で設定したにもかかわらず、
いざ印刷してみると、用紙方向などが変わらないままで印刷されます。
ダイアログボックスで指定した設定などは、そのまま反映されないのでしょうか?

ちなみに、ソースは

With CommonDialog1
.Flags = cdlPDPrintSetup
.ShowPrinter
End With

Me.PrintForm

こんな感じです。
なにとぞ、ご教授よろしくおねがいします。
840837:01/09/04 17:58 ID:vhNb1xH.
>>838
winsockなんて面倒なことしなくても WININET API を使えば簡単に出来そう。

www.galliver.co.jp/writing/susume_vb/tre902/
www.google.com/search?q=cache:EqUR-1SxAhc:www.sfdata.ne.jp/windev/iij/htdocs/msg26468.html+wininet.dll+%83R%81%5B%83%8B%83o%83b%83N+AddressOf&hl=ja&lr=lang_ja
www.remus.dti.ne.jp/~shenron/access/knowhow/wininet/AccessDeFTP.html
841デフォルトの名無しさん:01/09/05 11:39 ID:bq7idXKw
VBのツリービューコントロールについてですが
Set nodeX = TreeView1.Nodes.Add(, , "000", "AAA")
とすると「無効なキーです」というエラーが発生してしまいます。
キーに"000"など数字だけの文字列を指定できないものでしょうか?
842デフォルトの名無しさん:01/09/05 12:21 ID:Fia1..DA
何の本で見たんだか忘れたけど(日経パソコンだっけか?VBマガジンかなぁ?)
integerやlongは使わないでdoubleを使った方が良いと書いてあった。
オーバーフローが無いという意味では確かにそうなんだろうけど
その著者曰く、doubleの方が〜〜の理由で早い(うろ覚え)との事。

僕は全然詳しくないのでその理由がわからないのだけど
分かる人います?それともこれは間違ってるの?
843VBプロを買ってはや半月・・でも初心者。:01/09/05 15:07 ID:ruGAshAI
コンボボックスの使い方なんですが、コンボボックスを同じフォームに2つ作って
コンボ1の選び方で
コンボ2のリストが変更するって事は出来るのでしょうか?
出来るとしたら If〜 だと思うんですが、よくわかりません。
返答お願いします。
844デフォルトの名無しさん:01/09/05 15:40 ID:O0pEUe6s
できるよ
845>>843:01/09/05 15:54 ID:ruGAshAI
>>844
いや、出来たらやり方もご指導願いたいんですが?
お願いしまっそ!!
846デフォルトの名無しさん:01/09/05 16:09 ID:RpZhDGgE
>>842
漏れは、Longが一番早いとどこかで見たよ。
理由は忘れた。
847842:01/09/05 16:31 ID:Fia1..DA
846
>漏れは、Longが一番早いとどこかで見たよ。
>理由は忘れた。
うん。それも聞いた事があるんだけど理由がわからない。
doubleが早いというのもよく分からない。
結局、どうなんだろう…?
堂でもいいけど気になるなー




---------------------
843


SELECT CASE コンボA.ListIndex
CASE 0
  コンボB.AddItem "あああああ", 0
  コンボB.AddItem "いいいいい", 1
CASE 1
  コンボB.AddItem "ううううう", 0
  コンボB.AddItem "えええええ", 1
  コンボB.AddItem "おおおおお", 2

以下略
END SELECT


でいいんじゃねーの?
っていうかこの程度はヘルプに書いてあるぞ
チョットは調べてみなはれ

僕も初心者なんで偉そうな事は言えないけどな
ガハ
848デフォルトの名無しさん:01/09/05 16:33 ID:uXUpa2p6
>>843
ListIndexが選択され(た)ている項目です。
cbo1のLISTINDEXを判定材料に
cbo2のListIndexを変えればOKです。
ListItemがいっぱい有るならSelect Caseにしたほうが良いでしょう。
IIf(よくわかりませんが)でも良いかもしれません。

>>846
LONG型は4byte(32bit)だから、一般の32bitCPUでは一回の処理ですむから
という理由らしいです。For I=0 to 10億の単純LOOPなら、当方環境では
Longのほうが2倍高速でした、64bitCPUではDoubleの方が速いのかな?
849デフォルトの名無しさん:01/09/05 16:40 ID:Z95/O0wg
>>848
32bit CPU でも浮動小数点レジスタは 32bit とは限らないと思いま
すけど。
850デフォルトの名無しさん:01/09/05 16:50 ID:7pb2r5rQ
RDO2.0を使っています。
現在データベースに接続されているかどうかを調べるには
どうすれば良いでしょうか?
851848:01/09/05 16:53 ID:uXUpa2p6
>>849
Longでも浮動小数点演算を行えるのですか?
852848:01/09/05 17:04 ID:uXUpa2p6
失礼、意味を取り違えました。そのようですね。
CPUのアーキテクチャに詳しいわけではないので粗漏はお許しを。
853デフォルトの名無しさん:01/09/05 19:47 ID:Ltby3ikU
>>846
MSDNライブラリには long 使えって書いてあったよ。

http://www.microsoft.com/japan/developer/library/vbcon98/vbconoptimizingcode.htm

速度を要求するならVB使うなって話もありますが。
うー、あー・・・素朴な疑問いいでしょうか。
変数名とかに日本語使ってる人います?
あれって外道なんですか。問題でもあるんですか。
サンプルコードとか見ると、使ってる人が滅多に居ない・・
・・・・ID表示、終わったのか・・・・
>>854
プリフィクスつけずに全角だけな奴は殺害しる!
857デフォルトの名無しさん:01/09/06 23:07
Comboboxで何かを選択してから「決定」ボタンを押したときに
ラベルを変える方法はどうやってやればいいのさ。
858厨房635号:01/09/06 23:18
>>857
ボタンのClickイベントでコンボボックスの選択内容を判断して
ラベルのCaptionを変えるのじゃダメなのか??
859デフォルトの名無しさん:01/09/06 23:25
>>858
そうやろうと思ったんだけれど。
選択内容をどう判断するかがわからなかった。
combobox.textとか厨房なりに頑張ってみたけれどできなかった。
860厨房635号:01/09/06 23:37
Listindexプロパティではどう??
861デフォルトの名無しさん:01/09/06 23:43
>>860
おぉ、できた。すごいや。アリガトー
862答えてあげて:01/09/07 01:41
現象:「ディストリビューションウィザードまたはWindows Installerで作成したセットアッププログラム
がWindows98上でインストールして実行すると実行時エラーが発生」

詳細:
Windows2000 Professional(SP2)+Visual Basic 6.0(SP5)で作成したセットアッププログラムが起動直後に以下のようなメッセージボックスを表示して終了してしまいます。

実行時エラー91 オブジェクト変数または Withブロック変数が設定されていません

ただし、開発環境(Visual Basic 6.0 & SP5)のインストールされたマシンで、
このセットアッププログラムを実行してインストールした場合、プログラムは正常に起動します。
開発環境の入っていないWin98マシンでこの現象が発生します。
顧客に納入するマシンのOSはWin98です。
動作を確認したマシンのOSと開発環境を以下に示します。

OS 開発環境(VB6.0 SP5)の有無 インストール結果
-----------------------------------------------------------------------------------------
Windows 2000 Professional(SP2) あり 正常起動
Windows 2000 Professional(SP2) なし 実行時エラー 91
Winsows 2000 Server(SP2) あり 正常起動
Winsows 98 SE あり 正常起動
Winsows 98 SE なし 実行時エラー 91


・このプログラムは、「標準EXE」と「ActiveX DLL」の2つのプロジェクトで構成されています。
・標準EXEから、ActiveX DLLで作成したDLLを呼び出して使用します。
以下にエラーが発生するソースの部分を記述します。

---polycomctrl.cls------ここから-----
Public WithEvents mwscSocket As Winsock
Public WithEvents mwscComm As MSComm

(略)

'====================================================================
' クラスのイニシャライズ
'
'
'
'====================================================================
Private Sub Class_Initialize()

Set mwscSocket = New Winsock '*** ここで実行時エラー91が発生

Set mwscComm = New MSComm

End Sub

(略)

---polycomctrl.cls------ここまで----

開発環境さえ入れればOSの種類にかかわらず正常に動作するので困っています。
どのようにすれば、この問題が解決するかご教示ください。

よろしくお願いします。
MSに聞け
ここはサポートじゃねーぞ
864デフォルトの名無しさん:01/09/07 11:14
>>862
適当な事をいって申し訳無いが
>New Winsock
て所を見る限り、WinsockのDLLが無いorバージョン違いの
ような気がするんだけど・・・その辺調べてみたら?
>>854
お願いだから、勘弁してください。

仕事で、変数名と関数名が日本語で、しかも同じ名前使ってるソースとぶち当たりました。
正直、殴ろうかと思った。
>>865
変数はともかく関数が日本語ってスゲーね。
ひまわりでも使えっつーの。
867mstr名無し:01/09/07 18:59
でも、可読性は高いよ。
複雑な業務を表現したロジックだと用語を無理やり英語訳するよりいいんじゃ
ないの?
868デフォルトの名無しさん:01/09/07 19:11
英語に不自由な人にとっては日本語の方が可読性が高いわな。
でもねー、タイプミスが増えそうだよな。

売上げ、売り上げ、売上

全部違う識別子でしょ。
869旅人プログラマ:01/09/07 19:19
>売上げ、売り上げ、売上
これがそれぞれ変数定義されていたら、
それだけで十分に鬱になれるな…
870デフォルトの名無しさん:01/09/07 20:11
質問させて下さい。
PictureBox を重ねてスクロール出来る様にしたありきたりな
プログラムを作っているのですが、内側の PictureBox の
サイズをデスクトップのサイズよりも大きくした所、
AutoRedraw の機能がうまく働きません。(一部が欠けてしまう。)
Windows 98 SE でこの現象が発生します。
Windows 2000 では発生しません。
この辺の事、ご存知の方、いらっしゃいませんか?
>>868
そんなの英語だっていっしょジャン
872mstr名無し:01/09/08 00:23
>>868

漏れのハンドル見てね。
VBなんだからインテリセンス使おうよ。

>>869
業務用語定義がきっちり出来てれば問題なし。
でも生理的になんかイヤだよ...
874デフォルトの名無しさん:01/09/08 20:20
ボタンを押して、フォームを表示させたいと思うのですが、
Windows2000みたいなアニメーションで新しいフォームを表示させる方法を教えてください
875デフォルトの名無しさん:01/09/09 00:11
オレの場合、日本語の変数名や関数名って、桐のマクロでトラウマになってる。
876デフォルトの名無しさん:01/09/09 18:22
┌――――――――┐
|formA |
|┌――――――┐|
||text性別1 ||
|└――――――┘|
| ┌――――┐|
| |button1 ||
| └――――┘|
└――――――――┘

Private Sub button1_Click()
FormB.Show
End Sub


上記のように「button1」を押すと下記のformBが現れるようにしました。
formBは下記のようなフォームで、Data Environmentデザイナで
データベースから名前と性別と年齢を表示するようにしました。
┌――――――――┐
|formB |
|┌――――――┐|
||text名前 ||
|└――――――┘|
|┌――――――┐|
||text性別 ||
|└――――――┘|
|┌――――――┐|
||text年齢 ||
|└――――――┘|
|┌―┐ ┌―┐|
||戻| |次||
|└―┘ └―┘|
└――――――――┘


やりたい事は、formAの「button1」をクリックした時にformAの「text性別1」の値をformBに渡し、
渡された値をキーにしてデータを表示させたいのです。

formAで「text性別1」に「男」と入力して「button1」を押すと
formBでは、「text性別」が「男」のレコードだけ表示させる
というような事です。

現在では、男も女もすべて表示されています。

データベースのテーブルは以下のような体裁です。

+--------------------+
| tbl客 |
|--------------------|
| 名前 | 性別 | 年齢 |
|------+------+------|
| : | : | : |
| : | : | : |
| : | : | : |
+--------------------+


変数の渡し方や、Data Environment デザイナの使い方、SQL文への変数の渡し方等が
まだよく分かってないので教えてください。
877厨房635号:01/09/09 23:34
>>876
サンプル作った。参考にしてくれ。
http://www.geocities.co.jp/HeartLand-Hanamizuki/9764/SAMPLE5.lzh
878デフォルトの名無しさん:01/09/10 00:27
本当にありがとうございます!!!
これを参考に自分の環境用に編集してみます!

芸能界に詳しいんですね…(笑)
879厨房635号:01/09/10 00:31
……いや、芸能ニュースを見ながらサンプルを作ってたら
ああなってしまったのよ(^^;
880デフォルトの名無しさん:01/09/10 01:33
>>879
サンプルでは自分のマシンのデータベースを見に行っているのですが
他サーバーマシンのデータベースを見に行くようにするには
どうすれば良いのですか???
ADOを使うと思うのですが、どのようにすれば良いのか分からないのでよろしくお願いします。
881デフォルトの名無しさん :01/09/10 11:58
VBに関して AccessでいうとモーグのようなBBSサイトはどこでしょうか?

死体置き場?
883874:01/09/10 22:36
レスがないってことはこういうのはムリってこと?
>>883
「Win2000みたいな」が具体的に何を指すのか不明。
885デフォルトの名無しさん:01/09/11 00:27
ちょっとお聞きしたいのですが、

Private Sub Timer1_Timer()
MyValue1 = Int((Rnd * 43) + 1)
 Label1.Caption = MyValue1
End Sub

Private Sub cmdstop_Click()
 timer1.enabled = false

こんな感じで乱数作ってボタンをおして止めました。
次に押した時に1回目に押した時の数字を除いた
乱数を作るのってどんなコード書いたらいいのですか?
Randomize ステートメントってどんな風につかっていいのか
よくわからないのですが、教えていただけないでしょうか?
>>885
1回目の数字覚えといて、それと同じ値が出たらもう一度乱数取得。
...でダメなのか?
887874:01/09/11 11:16
>>884
スタートボタンを押した時に、出てくるメニュー見たいな感じにしたいのですが(
徐々に出てくるって感じで。。)
私はVBで「ファイルを結合」したり,「自動的に計算」させたり,
「15分間隔で計測したデータを1時間ごとのデータにしたり」など
そういう用途で使いたいと思うのですが,あまりよい本がありません.
純粋に「計算機」として利用したいのですが,もしよい考えをお持ちの
方がいらっしゃれば教えていただけませんでしょうか.よろしくお願い
いたします.
889デフォルトの名無しさん:01/09/11 14:38
VB+oo4oで、トランザクションレベルで読み取りの一貫性を
持たせるにはどうしたらよいでしょうか?
begintransでいいのでしょうか?
よろしくお願いします。
890VBやらない人:01/09/11 14:53
>>888
C をやれ。
891885:01/09/12 01:16
>>886
できました!ありがとうございます。
でも連続で取得するとなぜか近い数字になるなぁ。
気のせいか、、。
892デフォルトの名無しさん:01/09/12 11:29
VBAもここでいいですか?
エクセルでブックをコピーして、元のブックとコピーしたブックを両方開いた状態で、
コピーしたブックのほうに処理をしたいのですが、GetSaveAsFileNameでファイル名を
入力させてSaveAsで保存すると、元のブックを乗っ取ってしまいますよね。
ファイルコピーでやると上書き確認が出てこないし(必要)
誰かお助けを〜
893デフォルトの名無しさん:01/09/12 13:28
>>891
連続で取得すると近くなります。
WINAPIのSleepで1でも値を取ると、近似値がぐっと減りますよ。
894デフォルトの名無しさん:01/09/12 15:05
OS:Win2000 Pro
VB:6.0 Pro(SP5)

VBからAS/400にODBCで接続するためには
ドライバをインストールしないといけないのですか?
また、それはどこから入手できますか?(Web上からダウンロード可能?)
よろしくお願いします。
896894:01/09/12 18:01
>>895
自分で作れと…(^^;
いろいろwebで調べてたのですが、ドライバは、アプリケーションを購入しないと
付いてこないらしい事が分かってきました。
ADOとODBCでの接続を考えていましたが、ドライバのインストール等の作業の必要のない
VB6.0Pro(SP5)のデフォルトの状態で、AS/400と接続する方法はないのでしょうか?
よろしくお願いします。
>>896
AS/400側にサーバーソフトを作って
socketで通信すればドライバなんかいらないよー
898894:01/09/12 18:45
VBでやりたい事は、別のアプリケーションから今作っているアプリケーションに
ソケットを送り(取引先コード)、送られた取引先コードをキーに
データベース(AS/400)の内容を検索して、該当レコードを表示させたいのです。
899895:01/09/12 19:09
>>894
検索だけなら 897 氏のやりかたが手っ取り早いのでは?
>>898
意味がわかりません。
AS/400側のソフトは作れないってこと?
901894:01/09/12 20:19
AS/400側には作れません。そこはデータベースサーバーで
検索とかは、VBでアプリを作ってそれで行いたいって事です。
>>901
では、なんらかのミドルウェアが必要でしょうね。
なんかDelphiならAS/400とネイティブ接続できるって
聞いたような気がするけど。
903901:01/09/12 20:35
この開発のために、VB買っちゃいましたから…
ちなみにミドルウェアとおっしゃるのは
・DB2コネクト
・ClientAccess
・PCOMM 4.3
等が必要だという事でしょうか。で、だいたいいくらぐらいですか?
フリーでAS/400と接続出来るものは無いのですか?
AS/400のことはよく知らない。
ただ、サーバー側の開発ができないのは
いろいろやれることが制限されそうだね。
905デフォルトの名無しさん:01/09/12 23:26
www7.big.or.jp/~pinball/discus/as400/
この辺で聞いてみたら?
906874:01/09/13 00:22
884さん答えて〜
907デフォルトの名無しさん:01/09/13 00:51
>>874
884じゃ無いが。
いんちき臭いけどTimerコントロール使って
FormのHeightとWidthプロパティーを少しずつ増やしていけばいいんじゃない?
途中でタイマーを止めるようにしておかんといつまでも拡大しつづけるがな。
そんなことしてまでやるほどのもんではないが。
908907:01/09/13 00:52
ってことでいいのかな?>>874
909厨房635号:01/09/13 01:47
>>874
907の考えを参考にして、タイマーを使わない方法も考えてみた。
即席で作ったサンプルだから動きは雑だ。参考程度にしてくれ……。
http://www.geocities.co.jp/HeartLand-Hanamizuki/9764/SAMPLE6.lzh
VBはいんちきソフトしか作れない
911907:01/09/13 11:01
>>874
へぼいPC使ったり、スワップしまくりの状況だと何もしなくても
タラタラとアニメーションしてるように見える。
今使ってる会社のPCはメモリ64MBでWin2Kを使ってVGAがPCIのミレ2だから
IEでも何でもアニメーション状に表示される。HDDアクセスしまくり。(涙
>>910
冷やかしはお断り。
913874:01/09/13 23:29
>>909
こんな感じでOKです。ありがとうございます
914デフォルトの名無しさん:01/09/14 19:40
Win2000、VB6にて開発してます。
SHBrowseForFolderでフォルダを指定する関数を使ったのですが
マイネットワーク上にあるショートカットを指定するとリンク先
ではなくローカルのパス(ショートカット自身の位置)を
引っ張ってきちゃいます。それではとショートカットを参照する
関数を利用するも普通(?)のショートカットには有効の様でも
「フォルダのショートカット」では利用できません・・・。

なんとか正しいリンク先(\\PC\C\云々・・・)を取得する方法は
ないでしょうか?ご存知でしたらよろしくお願いします。
915デフォルトの名無しさん:01/09/14 21:34
出来れば急いでレスをお願いします。すごく急いでるんで。。。

テキストボックス(スクロールバー)で、
Text1.text=Text1.text+"13" & VbNewLine & VbNewLine &
(間隔を置く変数)
Text1.text=Text1.text+"テスト"

と入力して実行すると、新しい文字列が表示されるたびに、
スクロールバーが一番上に戻ってしまいます。
スクロールバーを一番上に戻さない方法を教えてください
916デフォルトの名無しさん:01/09/14 23:17
>>915
言いたいことががよくわからないが
とりあえずSelStart適当にせっていしてSelText使うべし

Text1.SelStart=Len(Text1.Text)
Text1.SelText="13" & VbNewLine& VbNewLine
(間隔を置く変数)
Text1.SelStart=Len(Text1.Text)
Text1.SelText="テスト"

動かしてないから動くか分からんがこれで試してみ
Vヴぁか
Bばっか
918デフォルトの名無しさん:01/09/15 12:06
VB初心者質問スレPart3
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1000523122&ls=50

はいどうぞ。
新スレには変な冷やかしが来ないことを祈りましょう
920デフォルトの名無しさん:01/09/18 09:59
VBから、アクセスのDBに対してOLE連携を行なっているんだけど、
アクセスを起動した後にVBの画面を触ると、メッセージ画面が出てきますが、
その画面を出さないようにするにはどうしたらいいの??
921よ〜:01/09/18 14:23
誰か教えて!
VB2とEXCEL97で開発しているのですがVBからEXCELの列幅を変更したいと
思い、COLUMN.WIDTHを使っているのですが引数に何を指定したらいいのか
解かりません。どなたか教えてくれませんか?
>>921
まじで、VB2なのか?
>>921
VB2では、エクセルは扱えなかった気がするが記憶違いか?
>>921
VB2、Windows95にも対応してたかどうか・・
925デフォルトの名無しさん:01/09/19 21:29
vbで作ったアプリをOLEオブジェクトとして登録したいんだけど・・
さげ
927まる:01/10/06 21:15
VB5で、一度読み込んだActiveXコントロールを、
プログラム内で解除→再読込する方法ってありますか?
>>920
VBがシングルスレッドだから普通にACCESSのプロシージャを呼ぶとそうなる。
ACCESS側の処理が完了するまでVB側のフォームを.Enabled = Falseにするか、
何とかして非同期コールバックを実現するしかない。
(ACCESS2000ならタイマが使えたかな?)
>>925
ActiveX EXEにすべし。

参考資料
MSDNライブラリ
 └(中略)-「Visual Basicの使用方法」
        └-「ActiveX EXE コンポーネントの作成手順」
またはこちら↓
ttp://www.microsoft.com/JAPAN/developer/library/VBCon98/vbconcreatingoleserver.htm
930:01/11/08 05:11
すいませんだれかVB増強作戦がまとまったパック(バリューパックだったか?)
もってませんか?さっきHDDのパーティションきりなおしたら、まちがえてけして
しまった!
本家は消滅。
昔ミラーサイトがあったようなけどGoogleで検索してもみつからず・・・
931:01/11/08 05:13
あ、Part3があったのか・・・すみません
Part3どこ?
9331000!:01/11/08 13:27
934名無しさん:01/11/08 14:24
何でこれがあがってるんだ?
936jp:01/11/08 21:30
textbox で指定行にカーソルを移動させる方法はありますか。
(たとえばボタン押したら2行目にジャンプさせる等)
APIにはなさそうなんですが。
937jp:01/11/08 21:36
しまった part3あったの 失礼しました。
EM_LINEINDEXは「行番号→行頭の位置」

Tipsサイトに腐るほどあるけどね
新スレはここね。お間違えなく。

VB初心者質問スレPart3
http://pc.2ch.net/test/read.cgi/tech/1000523122/
940 :02/01/14 08:00
941VBのMSComm:02/02/07 09:51
VBで39文字の文字列をMSCcommで送信するのですが、
MSCommに渡す直前にlenBで実際の長さを調べると倍の78バイト、
(これはUNIcodeの為だと思うのですが)
この文字列を実際に相手側が受信すると39バイトで受信されているようなのですが
どうしてでしょうか?Winsockを使用しても同じ現象です。
結果OKではあるのですが、理由が知りたいのでわかる人、教えて!
942みゆ:02/04/08 18:27
今までVC++6.0を仕様してたのでうsが
こんどはVB6.0を勉強しようと思ってます。

VCで自作メッセージを作っていたのですが
VBではどのようにしたらいいのでしょうか?

VCの場合
独自メッセージ関数OnComm
ヘッダファイルに
long OnComm( WPARAM wParam, LPARAM lParam );

cppファイルに
BEGIN_MESSAGE_MAP(CTestPowerCTRLDlg, CDialog)
//{{AFX_MSG_MAP(CTestPowerCTRLDlg)
ON_MESSAGE( WM_USER_RXCOMM, OnComm )
//}}AFX_MSG_MAP
END_MESSAGE_MAP()


long CTestPowerCTRLDlg::OnComm( WPARAM wParam, LPARAM lParam )
{
CString s;
s = (LPSTR)lParam;
MessageBox(s);
return 0;
}

として定義し
呼び出すときは
SendMessge(WM_USER_RXCOMM,0,"S")
というようにできました.

また、他のアプリからでも
ハンドル(HWND)を使って
SendMessage(hwnd,WM_USER_RXCOMM,0,"S")
とよべました。

変な文章化もしれませんが
お願いします
943デフォルトの名無しさん:02/04/08 19:43
VBスレにVCのコード書かれてもね。
VB房にはわからないよ。
>>942
VBでもSendMessageによる通信も出来るけど、BEGIN_MESSAGE_MAPなんて
ものは無いのでWindowProcとselect caseで処理しなければならない。
サブクラス化あたりを調べれば手がかりが見つかると思う。
945ななし:02/04/08 20:08
>>920

GetExitCodeProcess と EnableWindow の2つのAPI関数を使えばできるはずです。
(Shellで起動した別プロセスが終了するまで、呼び出し元のアプリを使用不可にする)
946デフォルトの名無しさん:02/04/08 20:44
(*゚_゚).oO(CMLって何のことなんだろう?)
947946:02/04/08 21:38
誤爆。スマソ
948まとれす ◆mato./AI :02/04/09 00:52
なんで旧スレがあがってるんだ?

>>942
>>944の言うとおり、サブクラス化して受け取るのが一般的な方法だ。ほかには、
WM_SETTEXTをテキストボックスに投げてやって、Changeイベントで取得する、
ってのもある。

どちらにせよ、メッセージはプロセス間を越えて投げるには制限がある。文字列を
投げるときは、WM_SETTEXTやWM_COPYDATAを使うようにしたほうがいいな

>>945
それでもいいんだが、正しいやり方としてはIMessageFilterかなんかを処理する
らしい。詳しくは知らん
>>943
なんかマヌケ(w
950みゆ:02/04/09 10:50
>942
サブクラスによって、自作メッセージを追加できました。
ありがとうございます

もうひとつ御願いがあるのですが
メッセージを送ったとき引数 lParamに
文字列を入れてあるのですが、
メッセージを受け取る関数で処理すると
lParamが、文字列の最初の文字のアドレス値になっているようです。
だから、つねにその値は同じ値です。
これを、文字列にしたいのですが
教えてください

ちなみに関数内の処理は下のコードのようになります.
Label1のキャプションに文字列を表示させます。

Function OnCom _
(ByVal hWnd As Long, _
ByVal uMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long

Dim a As String
' システムカラー設定の変更通知メッセージのときは
If uMsg = WM_USER_RXCOMM Then
a = lParam
Form1.Label1.Caption = a
End If
' オリジナルウィンドウプロシージャへメッセージを渡す
OnCom = _
CallWindowProc(glnglpOriginalWndProc, _
hWnd, _
uMsg, _
wParam, _
lParam)
End Function
951まとれす ◆mato./AI :02/04/09 11:25
>>950
だから、文字列を送るのは駄目だ、って言ってるだろ?一部のメッセージを除いて、
プロセス間でユーザーデータを送るのは保障されてない。つまり、送ったポインタが
有効である保証はない

で、何がしたいのかわからないが、ポインタから文字列への変換は、RtlMoveMemory()
を使えばいいぞ
952みゆ:02/04/09 14:45
RtlMoveMemory()
ってどうやって使ったらよいのですか?
いろいろ調べているのですが
どうも使い方がわかりません。
わがままですみません
>>952
プロセス間通信がしたいの?だったら他の方法を使えば?
954みゆ:02/04/09 16:24
プロセス間通信は現在考えてません.

メッセージの部分の動作をいうと
VC++で作成したDLLを
VBで使用しようするアプリを作成してます
起動時にDLLにVBのハンドルをメッセージの種類(16進数で表したもの)
を送ってDLL内でがSendMessageで
SendMessage( hWnd, nWinMsg,0 ,(LPARAM)lpReadBuf );
でVB側にメッセージを飛ばしてます
hWnd:VBのハンドル(Me.hWnd)
nWinMsg:メッセージの種類
lpReadBuf:送信する文字列のポインタ

すみません。
>>954
VB側で読み込んだDLLなら同じメモリエリアだから普通に使えるはずだけど。
ポインタ渡されたら(APIビューワ使ってるならCopyMemoryで)自分の変数に
コピーすればいい。
956まとれす ◆mato./AI :02/04/11 23:27
>>954
旧スレにこだわる理由はなんだ?

>>955が言うとおり、単にコピーすればいいだけだ。気をつけなくちゃいけないのは、
きちんとバッファを確保することと、VBからAPIで文字列を使うときはByValにする
ことぐらいだな。
957Please:02/04/15 10:04
VB6.0のピクチャーコントロールとイメージコントロールでpng画像ファイルを扱えるようにする方法を教えてくださいませ。
またVB.NETではpngを標準でサポートしているのでしょうか?
>>957
旧スレに書くな。
VB.NETでもいいですか?

//2ch日付取得(1970年からの秒数-9時間)
//現在の時刻(now)を渡してください
function TGikoSys.Get2chDate(aDate: TDateTime): string;
var
d1: TDateTime;
d2: TDateTime;
begin
d1 := EncodeDate(1970, 1, 1);
d2 := aDate - EncodeTime(9, 0, 0, 0);
Result := FloatToStr(Trunc((d2 - d1) * 24 * 60 * 60));
end;

はVB.NETでどう表現すればいいですか?
960即レス:02/05/23 09:21
この位置にあるPart2にsageで書きこみ・・・確信犯だな?
一応答えとくけど。Delphiだな?

'2ch日付取得(1970年からの秒数-9時間)
'現在の時刻(now)を渡してください
Function Get2chDate(ByVal aDate As Date) As String
Dim d1 As Date
Dim d2 As Date
d1 = #1/1/1970#
d2 = aDate - #9:00:00 AM#
Get2chDate = CStr(Int((d2 - d1) * 24 * 60 * 60))
End Function

こう。
もうちょっと短くできるが極力元コードと同じようにした。

#もう書き込むなよな。
いや
いや
いや
いや
いや
なんだ?保守sage?
いいや
あやや
VB.NETの質問です。
C#とどう違いますか?
>>969
そんなことより、こんなところにもうじき1000逝きそうなスレがあるぞ!
>>970
あなたなんですか!
教えてください。
VB.NETははやりますか?
C#ははやります。終了
んじゃぁ、VB.NETのデザインパターン解説ページを
教えてください。
975デフォルトの名無しさん:02/07/07 22:51
教えてあげるから2万えん用意してください。
>>974
そんなものない。
977デフォルトの名無しさん:02/07/07 23:06
>>941
VBで文字変数を使う限り、1バイト文字も2バイトで格納される。
出力の際は、シフトJISに変換され、1バイトになる。
>>976
VBを馬鹿にするな!
本は知ってる。だがサイトはないだろ?プププノプー
981デフォルトの名無しさん:02/07/07 23:26
あげ
日本語サイトはないんだろ?
まぁ英語でもかまわんけどな。
まぁ日本人のVB.NETレベルって低いからな。
デザパタなんて夢のまた夢ですか?
まぁ頑張れよ
>>983
「英語読めないから俺にとってデザパタは夢のまた夢」とすなおに言った方がいいよ。
まぁ頑張れよ
985デフォルトの名無しさん:02/07/08 00:05
>>984
英語読めるけど?
日本人として恥ずかしくないか?
>>985
じゃあ。デザパタすりゃいいじゃん。
もしかして、周りの人間が英語読めないのか!?
そりゃ難儀だな。
VBでデザパタするくらいなら死んだほうがマシ。
>>987
VBの仕事がきたらデザパタ使わないで死んでください。俺は使うけど。
ん?使わないんじゃなくて使える環境にないのか。カワイソウ
>>987
使 え な い と い う こ と で よ ろ し い で し ょ う か
990
991デフォルトの名無しさん:02/07/08 01:49
VBの仕事をするくらいなら死んだほうがマシ
     \         \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       \       / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!! 
        \     /三√ ゚Д゚) /  \____________  
          \    /三/| ゚U゚|\                      
           \   ,,U (:::::::::::)  ,,、,、,,, \オーーーーーーーッ!!/ 
             \  //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧
1000ゲトー        \  ∪  ∪   ,,、,、,,, (    )    (     )    ) 
∧∧ ≡≡≡       \ ∧∧∧∧∧   ∧_∧∧_∧∧_∧ ∧_∧∧_∧
(゚ー゚*) 、 ≡≡≡      <    千  > (    )    (    )    (    ) 
O┬Oc )〜 ≡≡≡   .<    取  > 
(*)ι_/(*) ≡≡≡.   <  予  り  >                 
―――――――――――<     合 >―――――――――――――――
                <  感  戦 >                   ∧_∧
い、今だ1000ゲットォ!!   <   !!  の >      1000ゲットしますた ( ´Д` )
 .∧ ∧ =-           /∨∨∨∨∨\                 /,  /
 (゚Д゚;) ≡=-        /          \               (ぃ9 |
 ⊂┯⊂)  ≡=-     /            \             /   /、  
 (ヽ\ ヽ ) ≡=-    ./               \            /  ∧_二つ
   し\J   =-    /今だ!1000ゲットォォォォ!\ .        /    ̄ ̄ ヽ
  (( ̄(◎) ≡=-   /     ∧∧   )      (´ \       /  /~ ̄ ̄/ /
             . /   ⊂(゚Д゚⊂⌒`つ≡≡≡(´ ;;;≡.\   )⌒ _ ノ    / ./   
             /          ̄ ̄  (´⌒(´⌒;;.\   \ | /       ( ヽ
                                       .し          \__つ 


993デフォルトの名無しさん:02/07/08 01:54
ワショーイ・・・・
>>991
実際にVBの仕事がきても死ぬことも辞めることもできない罠


俺なら、もしVBの仕事がきたら死なないでデザパタつかうけどね。
     彡               ヒュー……
            , -─ - 、  彡
            /       ヽ
.           l i ノ//_ノl_lヽ))
           ! (ll ( l l )ll)     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     彡     iニ>l|、'' (フ ノl|  < 誰も・・・来ないですね。
.             ,-リ<┘└>リ、    \__________
            〈._、| ̄ ̄ ̄ ̄!
             | '| で  V |
.           |  ! き  B |   彡   (⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒)
          l_ソ_! ま   と .!       (  来るわけねーだろ ヴォケ !  )
.    彡     (_ア| す  か.|)      (                     )
          ∠ヘ────ゝ      `〜 〜〜〜〜〜〜〜〜〜 〜'
           / l  ̄ー一 ̄、          O
サァー…      /j ! j l | j l.ヽ    ∧_∧ o
     ::::::::   ` ‐======='´   ( (l) (l))  ニャー
⌒ヽ    :::::::::::::    |  |  !         l>ロ<l
  人    :::::::::::::  |  l  !       /   |
Y⌒ヽ)⌒ヽ    ::::::::::ヒ/⌒)⌒).    \〈___.ノ


996
997デフォルトの名無しさん:02/07/08 02:27
1000
              / ・           / ';,
             /  ';          /  ';
             /   ;______/   ;
          /                  \    997ワショーイ
         /    /          \     \
        /´   (  ) |____|  (  )      |
       |  /////  (  |     :|    )  /////    |
       |    (   ) :|      |  (   (       |
        |    )  (  |     |   )   )      |
        |   (   ) ';    /   (   (     /
         \  )  (   \/    )   )  ../
           ヽ              ........:::::::
999デフォルトの名無しさん:02/07/08 02:28
              / ・           / ';,
             /  ';          /  ';
             /   ;______/   ;
          /                  \  阪神ワショーイ
         /    /          \     \
        /´   (  ) |____|  (  )      |
       |  /////  (  |     :|    )  /////    |
       |    (   ) :|      |  (   (       |
        |    )  (  |     |   )   )      |
        |   (   ) ';    /   (   (     /
         \  )  (   \/    )   )  ../
           ヽ              ........:::::::


1000デフォルトの名無しさん:02/07/08 02:28
              / ・           / ';,
             /  ';          /  ';
              /   ;______/   ;
          /                  \  阪神ワショーイ
         /    /          \     \
        /´   (  ) |____|  (  )      |
       |  /////  (  |     :|    )  /////    |
       |    (   ) :|      |  (   (       |
        |    )  (  |     |   )   )      |
        |   (   ) ';    /   (   (     /
         \  )  (   \/    )   )  ../
           ヽ              ........:::::::


10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。