1 :
デフォルトの名無しさん :
2001/05/25(金) 21:20
VBのCollectionって ガーベッジコレクションだと 思っちゃってよいのでしょうか?
そのとおりです(ウゾ)
うむ、そのとおり(う゛ぞ)
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 "なになに" を実行させると、ファイルの保存先選択ダイアログが現れます。 ここでキャンセルボタンを押すと、エラーが出てしまいます。 このエラーを回避させる方法はないでしょうか? 手段は問いません。
>>10 そのエラーを回避したければ
今すぐにそのプログラムを破棄しなさい。
12 :
デフォルトの名無しさん :2001/05/28(月) 22:21
>11 Acrobat SDK に書いてますよ。確か、レジストリをいじるんだったと 思いますが(もちろんAPIからいじってね)。 昔やったけど忘れた。
>>10 on error ハンドラでそのエラー番号のみ
何も表示しなければいい。
14 :
印刷するソフトを :2001/05/28(月) 23:20
>>13 ありがとうございまーす。
コーディングは自力でやってみます!
15 :
12 :2001/05/29(火) 01:32
>14 すまん、SDKのはファイルの保存先選択ダイアログを出現させない方法だった。
眠れない。。。
>>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
Private Sub Text1_OLEDragDrop(Data As DataObject,(中略) Text1.Text = Data.Files(1) End Sub OLEDropModeを1 - 手動にしませうね
>>18 ありがとうございますできました。
こういう風に使うのかぁ(納得
20 :
デフォルトの名無しさん :2001/05/29(火) 14:51
教えてください! データ元がAccessで番号か何か(No等)で一致するデータを引っ張ってくる際に SQLを発行します。 そのときに、どのようにSQLをセットするのでしょうか? Set 〜 を使うだろうということはわかるのですが、具体的にわかりません。 (AccessとVBはADOでつないでいます。ADOでSQLをセットするコマンド? があるのでしょうか?) SQL="SELECT 〜 FROM 〜 WHERE 〜 = '" & xx & "'" このSQLで一致したデータを次にどうセットするのかで困っています。 よろしくお願いします。
>>20 教えてください!
Recordsetって調べた?
よろしくお願いします。
22 :
無責任な名無しさん :2001/05/30(水) 00:22
VBは継承が出来ない(のでオブジェクト指向じゃない) ってよく聞く気がするのですけれどImplementsって オブジェクト指向における継承とはまた違うのでしょうか?
23 :
デフォルトの名無しさん :2001/05/30(水) 00:38
VBで関数電卓何行くらいで作れますか?
先日自由課題で私が作った電卓は124行みたい 四則演算 乗数 階乗 sin cos tan log ln メモリを4つ実装 真面目に例外処理いれたらもっともっとステップ増えそうだけど
25 :
デフォルトの名無しさん :2001/05/30(水) 21:58
>>24 Windowsのアクセサリにある二進法や十六進法などもあるやつだとどれくらいでしょうか?
>>22 Implementsはインターフェースの実装です。
VB.NETでは継承にInheritsというキーワードを使います。
進数表示は単に入出力の問題だからプラス数十ステップ程度では>25
>>22 クラスや継承はオブジェクト指向の根本とは関係ない。
継承が無くとも委譲で十分補える。
29 :
デフォルトの名無しさん :2001/05/31(木) 23:49
文字列のなかのある特定部分からを表示したいのですが、 どうすればよいのですか。配列にばらさないとだめでしょうか。
substring>29
31 :
デフォルトの名無しさん :2001/05/31(木) 23:56
VBを始めようと思うのですが どこからダウンロードすればいいですか?
マイクロソフトのサイトにあります。>31
33 :
30 :2001/06/01(金) 00:26
わかったからもういい Mid
32> VBって売り物だと思うのですが、それを無料ダウンロードできるのですか? 当たり前だと思うのですが有料ですよね〜?
その辺はマイクロソフトに聞いてくれ>34
VBSとか
37 :
デフォルトの名無しさん :2001/06/01(金) 13:47
VBで委譲ってどうやるんですか?
A.cls Public Sub DoAnything B.DosomeThing End Sub B.cls Public Sub DoSomething A.DoAnything End Sub
解説: A:「おまえがやれ。」 B:「いやだ。おまえがやれ。」
40 :
:2001/06/03(日) 00:55
VB6ってMEには対応していないのですか?
41 :
名無しおやぢ :2001/06/03(日) 23:33
>>40 SP5なら問題ない。(MS公式情報)
あとは自分で調べなさい。
43 :
デフォルトの名無しさん :2001/06/04(月) 12:20
Public Const Dim csCommon(2) As String = { "common1", "common2"} のように配列を定数として定義したいのですが、どうしたらよいのでしょうか?
>>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とかに表示したいんですが。
>>46 どのZIPユーティリティでも一時ファイルを作成して
用が済んだら削除していると思いますが?
VBがメモリーストリームとか扱えればインメモリで行なえるかも
しれませんが、結局画像の場合データが大きいので仮想メモリ
が使われるのでパフォーマンス的には変わらないかも。
48 :
46 :2001/06/04(月) 17:12
>>47 さん
回答ありがとうございました。
一時ファイル作成でやってみます。
もう一つ質問ですが、その場合zipファイルを一度全て解凍する必要が
あるのですか?目的のファイルだけを解凍(というか抽出)することは
可能なのでしょうか?
50 :
46 :2001/06/04(月) 20:44
>>49 合点。がんばってみます。ありがとうございました。
コマンドボタンをクリックしたら Windowsを再起動するようにするにはどうしたら良いでしょうか?
52 :
デフォルトの名無しさん :2001/06/06(水) 09:28
教えてください。とっても困っています。 VBのヘルプが突如出てこなくなっちゃいました。 「不明なエラーが発生しました」とかなんとかで・・・。 ヘルプも、VBも全てアンインストール後、フォルダも 削除し、心機一転再インストールをしたのですが、まだ エラーが出ます。 スキャンディスクも、デフラグも異常なし。 良い方法はありませんか??
53 :
デフォルトのやる気なし :2001/06/06(水) 10:43
>>52 実行環境(OS)もVBのバージョン(SP)も書いてなくて、的確な
回答を求めるわけ? (^^;
54 :
52 :2001/06/06(水) 14:03
>>53 すみません・・・。全く考え無しでした。
OSは、Win98で、VBは6.0です。
端末には、Office2000が入っているくらいで、
他には特に入れていません。
よろしくお願いします。
windowsを再インストール。 これを機会に2000にかえましょう。
56 :
デフォルトの名無しさん :2001/06/06(水) 14:57
一気にフォルダを削除させる動作をさせたいのですが、 下にフォルダがいくつか続く場合には、 どうしたら一気に消すように出来ますでしょうか?? dosのコマンドのdeltreeと同じ感じで 一気に消したいのです。よろしくお願いします。
>>56 FileSystemObjectのDeleteFolderメソッドか、
FolderオブジェクトのDeleteメソッド。
58 :
デフォルトの名無しさん :2001/06/06(水) 16:54
ソースを公開しているVBのプログラムってない? ソースの書き方をいろいろ参考にしたいんだけど。 出来ればらるち〜とかfubくらいのプログラムのがいいんだけど。
59 :
52 :2001/06/06(水) 18:35
>>55 そうですね。最後の手段?!OSのインストールを
やり直してみます。
思いつかなかったです・・・。
ありがとうございます。
60 :
デフォルトの名無しさん :2001/06/06(水) 20:43
TextBoxに書いている文字列を ソートしたいのですが、自分でソートアルゴリズムを 作るのはだるいので、楽してやる方法はないでしょうか? フルパスのファイル名をソートさせたいだけなので ソートアルゴリズムや ソート順の形式にはこだわりません。 よろしくお願いします.
61 :
デフォルトの名無しさん :2001/06/06(水) 20:43
TextBoxに書いている文字列を ソートしたいのですが、自分でソートアルゴリズムを 作るのはだるいので、楽してやる方法はないでしょうか? フルパスのファイル名をソートさせたいだけなので ソートアルゴリズムや ソート順の形式にはこだわりません。 よろしくお願いします.
2ジウ投稿ゴメソ
>>62 ネット漁ってソース探せば?
作る=コーディングする
ならそれしかないと思うけど
どっちの方がだるくなるかわからんけどな
64 :
デフォルトの名無しさん :2001/06/06(水) 21:24
>>63 そのソース探す場ソがわからないので、利いたのですが。(w
だめだったかな。
66 :
65 :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の使い方好きな人いますか?
以上バブルソートらしきものでした。
…つう、か 1メソッドでソォ-トしてくれる便利なものは、VBではないのか。
69 :
デフォルトの名無しさん :2001/06/06(水) 22:26
>>61 リストボックス作っておいて、そこにテキストボックスの内容を突っ込む。
で、リストボックスの中身をソートさせて、また取り出してテキストボックスに写す
70 :
デフォルトの名無しさん :2001/06/07(木) 00:45
GOTOって On Error の時とかしか使ってないかも。
>>61 VB的な方法なら
>>69 だな。
ネットでクイックソートのソース拾って使うもよし。
72 :
デフォルトの名無しさん :2001/06/07(木) 01:58
拾うのはいいけど、理解できない(ほど高級なものを拾う)とメンテ大変だよ。
>>51 ExitWindowsExec API かな。
>>69 の方法を見せてくれないっすか。
リストボックスにTextBoxの文字列を渡す
普通の方法がわかりません。
TextBox.Textの改行をSplitでわけて代入するの?
<<なんか不要な泥臭いコードを実行している気がする
リストボックスを動的に生成したりしてもいいものなのでしょうか?
69じゃないけどね 「泥臭い」とか言う位なら、最初からソートアルゴリズム実装しなよ > リストボックスにTextBoxの文字列を渡す > 普通の方法がわかりません。 For Each s in Split(TextBox.Text, vbCrLf) ListBox1.AddItem s Next これだけじゃん
>>75 マジさんくすこ。
いや、VBの文法を把握しきれていないから
S = Split(TextBox.Text, vbCrLf)
FOR i=0 TO UBOUND(S)-1
LISTBOX1.AddItem S(i)
NEXT
とか書こうかと思っていたけど
ある意味、おんなじですか。
>>76 それって泥臭いですか?
泥臭いと感じないヲレは染まってますか??
>>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使ってるのになんでそんな所にこだわるのかよくわかんない。
こだわるんだったらソート関数自作すれ。
>>80 スンマソン。
コントロルの動的生成が
どこぞの言語のように簡単に出来るかと思ったもので
出来ないのね。
やっぱ、VBって...........ってちょと思ったけど、
まあいいや。非表示にして張っておくよ。
さんくすね。
コレクション使え
84 :
VB厨 :2001/06/10(日) 10:51
a-ge-
スレッドプログラムの作り方を教えてください お願いします
87 :
DataReportで累計 :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
90 :
お勧めHP :2001/06/11(月) 01:13
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関数)を使ってください。
(他の方法もありそう。ツッコミきぼー)
- 以上 -
>>93 >>94 ご多忙のところありがとうございます。
ブラウザを立ち上げるにはAPIを使うしかありませんか。
もしくはVBのウェブブラウザコントロールを使いたいのですが、
使い方が分かれば教えていただけますでしょうか?
カスタムコントロールなのか、ヘルプファイル載っていないので・・・。
htmlファイルを表示するプロパティなんかあるでしょうか。
プロパティリストにはそれらしいものは無かったのですが・・・。
VB6 sp5使っているんですけど、 ComboBox か ImageComboBox を ドロップダウンさせた時に表示する行数を 変更するにはどうしたらよいですか? デフォルトのままだと小さくて見づらい。 無理手゜すか?
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を参照設定してからな。
ついでにお気に入りとか履歴バーの有無とかも制御
できるぞ。
98 :
97 :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 使っていけない理由は何故なんでしょうか?
ふつー、ってのは理由にならないですよね。
避けられる事が多いのならばそれなりのデメリットがあると思うのですが。
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
103 :
97 :2001/06/11(月) 16:20
>101 煽るような言い方ですまぬ。 クラスから使用したほうがイベントやメソッドで制御しやすいため。
104 :
101 :2001/06/11(月) 16:30
失礼。こっちの書き方も煽りっぽかった。 当方VBではなくCプログラマでShellExecuteを使っているので、 この関数って使ってはいけないものなのかと思ってしまったので。
105 :
デフォルトの名無しさん :2001/06/11(月) 16:31
Mozillaじゃだめでしょ。
106 :
97 :2001/06/11(月) 16:33
>101 当方も今年度からVCに移行(DB中心だけど)させられました。 貴方よりVCど素人です。謝ります。
107 :
97 :2001/06/11(月) 16:48
ぜんぶ英語ヤダ
>>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でアイコンとして使えないのでしょうか?使えるのであれ ば対処方法を教えてください。何卒御教授の程よろしくお願いいた します。
111 :
FAQさん :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
>>116 ちょっとした文章なら、いいけどね
自分の英語力の無さが情けない・・・
118 :
110 :2001/06/12(火) 15:07
>>111 さん。
ありがとうございます。
Vectorにtoolたくさんありました。
Exeとして実行した場合 自分自身のExeの名前を取得することは出来ますか?
120 :
デフォルトの名無しさん :2001/06/12(火) 18:49
age
122 :
デフォルトの名無しさん :2001/06/13(水) 10:59
ではインタープリタで実行しているときは そこにはどんな値が???
プロジェクト
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
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 コーディングがめんどくさいとき、
そのテの手法?をよく使います。(要するに、手抜きじゃん)
131 :
128 :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 エラーナンバーってどのように定義すればよろしいでしょうか?
>>126 W2K上でVB5.0はサポートされていない。
VB6SP4以上を使用すべし。
>>126 です
>>129 >>133 サンクス
別PCのNT4.0sp6上にVB5.0sp3を新規インストールしても
同じ症状が出ました。これはVBのCDが逝ってマスカ?
135 :
128 :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
VBでDDEってどうやるんですか? ヒントでも良いのでご指導ください。
139 :
デフォルトの名無しさん :2001/06/13(水) 18:55
>>138 1.EXCELのデータの入っているセルを適当にコピー
2.VBのエディットボックスにフォーカス当てて、[編集]-[リンクのコピー]
3.EXCELに戻ってセルの値を変えてみる・・あら不思議。
LinkTopic,LinkItemのプロパティを見てヘルプも引いてみよう。
ところで向こうで暴れまくってるね。
140 :
訂正 :2001/06/13(水) 18:58
2.は[リンク貼り付け]でした。
VBで、割り算を計算させて、あまりが出るようにしたいのですが、 どうやってやるのですか?
142 :
デフォルトの名無しさん :2001/06/13(水) 23:19
>>142 そうです。
それの出し方が解らないのです。
a - a / b * b>143
>>144 様
すみません。
「変数ではなく、プロシージャを指定して下さい」と出てしまうのですが。
146 :
デフォルトの名無しさん :2001/06/13(水) 23:49
とりあえず、エラーになる行書いてみなよ
>>141 *は掛け算
/は割り算
の意味
t機能にbasicコードに変換してくれ
x t機能 o 適当
150 :
デフォルトの名無しさん :2001/06/14(木) 00:11
c = a - a / b * b
>>144 様
すみません。
よくわからないんで、ソースコードを全部書いてくれませんか?
お願いします。
152 :
デフォルトの名無しさん :2001/06/14(木) 00:15
そらー、代入もしないで、ただ剰余求めたって、エラーになるべさ。
てゆうかさ、 C = A Mod B で十分じゃん
>>151 aとbは変数の意味。
aとbに何か数字入れて自分で試してみろ
ちなみに演算子の優先順位はこう
(a - ((a / b) * b))
なんだ。 Modがあるのか。
氏ね>156
つーかさ、VBってインタプリタじゃないの? その場で実行できんの?
>>157 それはないと思う。
初心者が、ほんとにわからなくて聞いているのかもしれないし。
あくまでここは質問スレだから。
>159 氏ねが言い過ぎ? じゃあVBのマニュアル最初っから読めよ>141 四則演算ぐらいわかるだろ?
あっそ
■■■■終了■■■■
■■■■再開■■■■
■■■■再開してもいいけど、141のは終了■■■■
でもやっぱり ■■■■終了■■■■
でもやっぱり ■■■■再開■■■■
要するに ■■■■終了■■■■
要するに ■■■■再開■■■■
結果として ■■■■終了■■■■
■■■■終了■■■■
■■■■再開■■■■
だけで999まで行くスレ。いや過ぎ。
つーか、まずマニュアル入手しましょう。
>>141 セイキバン購入してな。
結果として ■■■■再開■■■■
(・∀・)シュウリョウイイ! ■■■■終了■■■■
(・∀・)サイカイイイ! ■■■■再開■■■■
163=164=.....=174=175
もうつかれた 誰か引き継ぎしてくれ ■■■■終了■■■■
■■■■再開■■■■
┌─────────┐ │ │ | シュウリョウイイ! | │ │ └―――──――――┘ ヽ( ・∀・)ノ ( へ) く
1. (。_。) アレレ ノ( )ヽ ゲンキガナイヨ? |υ| 2. (。_。) イジッテミヨウ (ヽノ) モゾモゾ |δ| 3. ヽ(´▽`)ノ ワアイ ( ∩ ) タッタヨ! / ω \ 4. ヽ(*゚Д゚)ノ ウワァ ( η)⌒ヾ ナニカデテキタ ノωヽ 5. (-_-) ナンダカ (∩∩) aメンタル… ■■■■再開■■■■
このスレは終了再開スレになりました。
終┃ 了┃ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛
皆様、大変ご迷惑をおかけして、申し訳ありませんでした。 今度の週末にでも、VBの正規版を買ってきます。 皆様、本当にありがとうございました。
再┃ 開┃ 再┃ 開┃ 再┃ 開┃ 再┃ 開┃ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ 再┃ 開┃ 再┃ 開┃ 再┃ 開┃ 再┃ 開┃ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ 再┃ 開┃ 再┃ 開┃ 再┃ 開┃ 再┃ 開┃ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ 再┃ 開┃ 再┃ 開┃ 再┃ 開┃ 再┃ 開┃ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ 再┃ 開┃ 再┃ 開┃ 再┃ 開┃ 再┃ 開┃ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ 再┃ 開┃ 再┃ 開┃ 再┃ 開┃ 再┃ 開┃ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ 再┃ 開┃ 再┃ 開┃ 再┃ 開┃ 再┃ 開┃ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ 再┃ 開┃ 再┃ 開┃ 再┃ 開┃ 再┃ 開┃ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛
〈 ̄ヽ ,、____| |____,、 〈 _________ ヽ, | | | | ヽ' 〈^ー―――^ 〉 |/ ,、二二二二二_、 〈__ _ __〉 | | | | / / | | |\ ___/ / | |___| ヽ \__/ ヽ_____)
! こ い ん ざ な う あ あ 糞 ゃ あ ス じ ぁ ぁ レ e は g s a
('∀`)<終了〜
('∀`)<再開〜
┌────────────┐ │ ∧∧ 終 │ │ ○ (. ゚д゚) 了 │ │ ヽ/ つ日).~~ │ │ 6 (_ __) │ │ 点 │ └────────────┘
∧__∧ / ̄ ̄ ̄ ̄ (´∀`) < 再開〜 (⊃ \⊃ \____ \ )ρ く く
本題に戻した方がいいのでは? VB初心者はいっぱいいるし。 このままでは、スレ乱立の危険性もある。
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | 終了 \___ _____________ |/ ∫ ∫ ∧∧. ∬ .. ∧,,∧ ∬ ( ゚Д゚ノ.っ━~ ミ゚Д゚,,,ノ,っ━~ _と´_ ノ_∀_∀_と~,,, . ~,,ノ_. .(_/ .), .┷┳┷ .ミ,,,/~), |  ̄ ̄ ̄.し'J ̄ ̄...┃  ̄ ̄ ̄ .し'J ̄ ̄ ̄|.. /| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ | 再開 \_______________
|\ ┌──────────┘- \ │ \ | 終 > │ / └──────────┐- / ヽ(´ー`).ノ |/ ( へ) く - = ≡三 |\ - = ≡三 ┌──────────┘- \ _ = ≡三 │ \ ― =三三 | 了 >  ̄ = ≡三 │ / - = ≡三 └──────────┐- / (´ー`) - = ≡三 |/ ( ヽ ヽ) / >
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∧ ∧ < 終了 ( ,,) \______________ 〜(___ノ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∧ ∧ < 再開 (,,・Д・) \_____________ 〜(___ノ
ゝ‐――――∂――∂――――∂――∂――――ゝ / / / / / / / / / / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ / / < このシュウリョウってどうよ? / / \__________ / / / / / / / / Λ_/Λ / Λ_/Λ / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( /∀´)/ (´∀` ) / <ある意味終わってるよな! (つ つ ⊂/ つ \__________ ←λ_ ~) ~)ヽ ←λ_~) ~)ヽ ヽー(__)_) ゝ ヽー(__)_) ゝ ゝ
196 :
デフォルトの名無しさん :2001/06/14(木) 15:20
荒らされている所恐縮なのですが Private Sub Command1_Click() Dim Strs() As String Strs = Split("", "A") MsgBox UBound(Strs) End Sub これって-1が表示されるのですが この現象はなんですか?
("A")?
>>196 Split関数の仕様が
「引数 expression が長さ 0 の文字列 ("") である場合、Split 関数は、
要素もデータもない空の配列を返します。」
こうだから、そういうもんじゃない?
>>197 ちょっとわらた(w
>Strs = Split("", "A") この行を取ると最後の行で実行時エラーになるね。 Strsは最初から空の配列のはずだが・・・
200 :
デフォルトの名無しさん :2001/06/14(木) 22:56
("∀")?
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
ExcelObject.Quit Set ExcelObject = Nothing #こんな所に実名、実メアド書いちゃ駄目
203 :
デフォルトの名無しさん :2001/06/15(金) 12:20
すいません。教えてください。 文字列を画面に斜めに表示したいのですが、どうすればできますか?
204 :
デフォルトの名無しさん :2001/06/15(金) 12:42
>203 CreateFontIndirect() API を使って論理フォントを作成して TextOut() API を使って画面の hDC に出力する
205 :
203 :2001/06/15(金) 13:01
>204 ありがとうございます。 やってみます!
>202 ありがとうございました。Excelが開きっぱなしでみっともなかったのですが、うまく閉じてくれました。 実名、実アドはまずいでしょうか?住所や電話番号はまずいと思いますけど? 実名は本当はハンドルかもしれませんし?
207 :
デフォルトの名無しさん :2001/06/15(金) 14:34
いや、どうでもいいんじゃない? 君さえよければさ。 メールアドレスがSPAMで埋まっても、名前からいろいろ検索されても。
どうでもいいけど、なんか冷める
209 :
デフォルトの名無しさん :2001/06/15(金) 16:27
ADSIでActiveDirectoryとExchangeServerを操っている人いない?
210 :
デフォルトの名無しさん :2001/06/15(金) 18:59
申し訳ございません。どのようにお詫びしてよいかわかりませんが、今後十分注意いたします。どうぞお許しくださいますようお願いいたします。
>>210 なにをお詫びしているんだ?
ジツアド晒した事?
自分が困るだけだから、ワビル必要はあるまい。
2chはちょっと痛い場所だから
なれないうちは
他の親切な場所で質問するとよいよ。
親切な人間の多いスレだな(w
>>212 初心者スレだからな。
糞スレたててたら、ぶち頃しだけどな。
215 :
浦島次郎 :2001/06/16(土) 02:41
ずっとFreeBSDってOSを使っていたのですが、 今年になってMACを購入しまして、Windows98を使っています。 先日、VisualBasicなる物を知りましたが、このBasicの対象としている 開発アプリケーションはゲームなのでしょうか?仕事で使うようなシステム なのでしょうか?どんな事に不向きな言語なのでしょうか、教えて下さい。 今、作りたいプログラムは、NC用のエディタです、数万行程度のNC用のプロ グラムをエミュレートする機能も付け加えてみたいと考えています。 恥ずかしいのですが、言語はCとアセンブラしかできません(C++も駄目です) こんなレベルの私でもVBを使いこなせるでしょうか。宜しくお願いします。
NCってなに? つーか、 >今年になってMACを購入しまして、Windows98を使っています。 ネタですか?
説明不足でごめんなさい、ネタじゃないんですVirtualPCでWindows98つかってます。 NCはコンピュータ制御の旋盤です。
>>217 CとASM知ってるんならVBはやっても身にならないよ。
完全にWindows依存の言語処理系だし。
UNIX経験があるなら、まだDelphiかKylix
(どっちも言語はOOPascal)かC++Builderの方がお勧め。
エディタ作るんならなおさら。
コア部をCやASMで書いて、GUI部分はDelphi/kylixを使うとか。
とにかくVBの事はすっぱり忘れた方が良いのは確か。
あ、GUI部をVBで書くって手もあるけど、 余計な物(OCXやVBランタイム。UNIXでいうsoライブラリ)を インストールしなくちゃならない。
>>218 そーなんですか、全然知らない世界だったもので、色々と資料見たの
ですが見た目、同じに見えまして。(^^;;
C++BuilderとDelphi/Kylixを調べてみます。有難うございました。
#アセンブラは、MicrosoftのMASMとかまだあるのでしょうか・・。
VBにもシェアードライブラリが必要なんですか、参考になります。 C++BuilderやDelphi/Kylixにはsoは必要ないのでしょうか?
>>221 >#アセンブラは、MicrosoftのMASMとかまだあるのでしょうか・・。
昔はン万円もしたMASMは現在マイクロソフトのサイトに行って、
DDKというパッケージを取ってくれば、その中に入っているので
タダで入手できるよ。
>C++BuilderやDelphi/Kylixにはsoは必要ないのでしょうか?
少なくともVBランタイムのインストールの様な物は無いです。
1つの実行ファイルが作られる筈。
(ランタイムを別個のファイルにもできるけど)
CやASMで作ったモジュールをGUIモジュールと結合したい場合、
さっき言ったDLLという(soと似た)形式を作ってリンクする。
MASMが無料になっていたなんて、知りませんでした。 今、検索して来ましたが、C++Builderってのが良さそうなので これで挑戦してみます。 (Borlandなんですね、古い人間なんで名前だけで安心感がある f(^^;) ついでに、Delphiってのも調べてみたらTurboPascal?なんですね、 インラインアセンブラも書けるみたいだし、こっちも良さそう. (^_^;; とても参考になりました。
結局、VBの話しじゃなくなってしまいました申し訳ありませんでした。
225 :
デフォルトの名無しさん :2001/06/16(土) 15:07
最近エクセルでVBAを始めたのですが、参考になるようなソースコードが 大量に落ちている場所はありませんか? 自分でも捜しているのですが、あまりいいのが見つかりません. お願いします。
すれちがいで申し訳ない。 VBSでIEの右クリックメニューを色々いじりたいんだけど、 どこでリファレンスが手に入るか分からないのですが。 知ってたら誰か教えて〜。方々探したけれど見つからない。
>>215 制御屋さんにはCQ出版のInterfaceって雑誌がお勧め。
(ちょっと前だったらDelphi/BCBの連載やってた。)
229 :
デフォルトの名無しさん :2001/06/18(月) 10:59
CreateObjectで作成したオブジェクトから イベント取得ってできます? おれには無理だ・・・。
230 :
D使いβ :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
231 :
VBびぎな :2001/06/18(月) 23:25
>>229 CraeteObjectで作成しているCOMも自分で作ってるなら、
自分IFのオブジェクトを渡して、
そのオブジェクトを使ってコールバック関数のように使うのはいかが?
ただ、呼び元もCOMじゃないといかんとは思うけど
232 :
初心者 :2001/06/18(月) 23:36
VB始めたばかりの初心者です。 お教え願いたいことがあるのですが, VB6を使っているのですが、メッセージボックスに表示させる文字のフォントサイズって 変更できるのでしょうか? 色々な本で探したのですが載ってないのです。 どうかお教えください。
233 :
VBびぎな :2001/06/19(火) 00:25
>>232 メッセージボックス用のフォームを作って。
それを使った方が簡単だと思いますよ。
234 :
デフォルトの名無しさん :2001/06/19(火) 00:30
>>231 イベントの送出もEventキーワードで出来たはず。
Public Event MyEventProc
として、
RaiseEvent MyEventProc
で実際に通知します。
>>232 [コントロールパネル]-[画面のプロパティ]
ってか、ダイアログ自作した方が早くない?
236 :
VBびぎな :2001/06/19(火) 01:06
>>234 あ・・多分、私勘違いしましたね・・・
「プロジェクト」→「参照設定」とかで、参照設定しないで、
Set oObj As Object
という風に定義したオブジェクトに対して
Set oObj = CreateObject("なんかのProgID")
で作成して。
この作成したオブジェクトからイベントを取得する方法だと思ったんですよね。
勘違いしたようで、どうも、スマソ。
去ります。
237 :
デフォルトの名無しさん :2001/06/19(火) 05:30
VB初めて二日目なんですけど、フォルダ選択ダイアログってどうやって出すんですか? いろいろコンポーネントをフォームに付けたんですけど、できませんでした。
ネットで検索したらWinAPIと使うとできるってありました。
239 :
232 :2001/06/19(火) 09:13
やっぱりダイアログを自分で作った方が早いんですね Windows自体のシステムフォント自体を変えるのは嫌なので どうもありがとうございました
240 :
デフォルトの名無しさん :2001/06/21(木) 00:10
msgboxで、メッセージとOKボタンのみ表示させてるのですが、ボタンを 押さないと次の処理に進みません。 OKボタンを押さなくても次の処理に進んでほしい場合、どんな手を使っ てますか?よろしくお願いします。
>>240 じゃあ何故MsgBoxを表示させるのか?
私の使用するアプリなんかで、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に現在接続している人数を取得することは可能でしょうか? テーブルに接続フラグみたいなものもてば出来るのですが、 この方法以外でなにかありましたらお願いします。
>>247 net fileコマンドをリダイレクトしてロック数を調べる。
*実際にロックされるのは*.ldbファイルの方。
249 :
デフォルトの名無しさん :2001/06/21(木) 17:59
>>248 おぉぉ!今までldbって何だぁって思ってた。
ありがとうございます。
バカですいませんでした。(TT)
250 :
デフォルトの名無しさん :2001/06/21(木) 18:04
>>241 MsgBoxもWinAPI32なんですってね
ぜひバイナリが知りたいです
>>243 ありがとうございます。
ネットで検索してみます。
>>250 Win32APIだよ。
それと「バイナリが知りたい」って、意味わからんけど。
ネタニマジレス?
253 :
デフォルトの名無しさん :2001/06/23(土) 23:35
age
254 :
デフォルトの名無しさん :2001/06/24(日) 00:21
ウインドウのXY軸を獲得したいのですが、可能でしょうか?
無理です>254
>>254 う〜ん、イマイチ日本語が分からない。
ウインドウを斜めに傾けたいって事なんだろうか。
XY軸っていうのも変ですよね・・・ スイマセン マウスの位置を獲得するように、ウインドウの位置を獲得したいのです。
XY座標っすね。 Me.Left, Me.Top でいいんじゃないかな?
ありがとうございます! 獲得できました。
私が得をする情報をタダでください。 それによって私は大変な恩恵に預かりますが、あなたには何の メリットもありません。 でも、いいじゃないですか? どうせ情報なんてタダでしょ? とても困っているので、情報を知っている人は私を助けなければ いけません。これは義務です。 初心者にも分かるように説明してください。 私は、ごく普通の人間なので、パソコンのわけの分からない知識は ありません。勉強するつもりもありません。時間の無駄です。 検索するなんて面倒です。どうしてそんな面倒な事するの? 知ってる人に聞けばいいじゃん。どうせタダだし。 マルチとか質問スレというのはヲタクのルールです。 私は普通の人間なのでヲタクのルールなど知ったこっちゃありません。 早く教えてください! 早く教えろ! 早く! これだけ言ってもまだ教えねーのか?!
↑帰ってくれ 質問したとき、返答が返ってこなくなる。
263 :
256 :2001/06/24(日) 07:36
私が得をする情報をタダでください。 それによって私は大変な恩恵に預かりますが、あなたには何の メリットもありません。 でも、いいじゃないですか? どうせ情報なんてタダでしょ? とても困っているので、情報を知っている人は私を助けなければ いけません。これは義務です。 初心者にも分かるように説明してください。 私は、ごく普通の人間なので、パソコンのわけの分からない知識は ありません。勉強するつもりもありません。時間の無駄です。 検索するなんて面倒です。どうしてそんな面倒な事するの? 知ってる人に聞けばいいじゃん。どうせタダだし。 マルチとか質問スレというのはヲタクのルールです。 私は普通の人間なのでヲタクのルールなど知ったこっちゃありません。 早く教えてください! 早く教えろ! 早く! これだけ言ってもまだ教えねーのか?!
!kubotatないぞ
266 :
デフォルトの名無しさん :2001/06/24(日) 18:51
age
267 :
> :2001/06/25(月) 15:37
カレントプロセスの名前を知りたいッス GetClassNameで親プロセスのハンドルを渡してやりたいのですが、 親プロセスのハンドルを抜くAPIってないですか?
268 :
デフォルトの名無しさん :2001/06/25(月) 16:13
269 :
久遠 :2001/06/25(月) 16:13
質問です。 C++でクラスを使ったDLLを作りました。 それをVBで読み出したいのですが・・・ Declear宣言の仕方がよくわかりません。 ご教授願います。
271 :
デフォルトの名無しさん :2001/06/25(月) 17:23
272 :
デフォルトの名無しさん :2001/06/25(月) 17:25
>>269 DEFファイルとextern "C"定義
>>272 「クラスを使ったDLL」て書いてあるじゃん。
>>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
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
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)
ですか?前、似たようなことをやったような
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)
おしい
291 :
shige :2001/06/29(金) 03:11
,, .: 。 \( ゚´3゚)- = 。 ゚ ( )` :: . ペッペッ ノ \ VB使いってクズだね(ワラワラ rubyの足元にも及ばないね。
292 :
65535点満点 :2001/06/29(金) 03:17
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
298 :
デフォルトの名無しさん :2001/06/29(金) 15:47
ACCESS2000(ADO)でSQLサーバにストアドで データをアップデート 使用としたときに 途中でネットワークのエラーでおちてしまうのですが 何が悪いのでしょうか? アップデートするデータは、10000件で 8000件ぐらいで落ちてしまいます。 申し訳ないのですが、分かる方いたらよろしくお願いします。
>298 VBの質問に見えんが.. ADOが同期型になっておらず、 且つ 参照作業が直後に含まれいる。 てなことぐらいしか思いつかん。
300 :
298 :2001/06/29(金) 17:14
>>299 返答ありがとうございます。
スレ違いで恐縮です
>ADOが同期型になっておらず
この内容がちょっとよく分からないのですが
教えていただけないでしょうか
教えてクンんで恐縮ですが
よろしくお願いします。
301 :
テリー :2001/06/29(金) 17:42
>297 名前:デフォルトの名無しさん 投稿日:2001/06/29(金) 15:39
>>296 >Excelのヘルプを見たまえ
えーヘルプを見てもわからないから、質問させていただいて
いるのですが、助けてください。
302 :
295 :2001/06/29(金) 17:51
>えーヘルプを見てもわからないから、質問させていただいて いるのですが、助けてください。 「該当する項目をヘルプで見つけられない」 「見つけたが理解できない」 のどちらですか? それと他の場所でも質問されてますね。どっちで答えていいのか 迷います:-)
303 :
デフォルトの名無しさん :2001/06/29(金) 17:55
304 :
テリー :2001/06/29(金) 17:59
>302 >「該当する項目をヘルプで見つけられない」 まずこのレベルに該当します。 >「見つけたが理解できない」 従いこれも該当します。 もう少し詳しく教えていただくと、 こんな感じで出来るでしょうと、ソフト屋さんに 説明できると思ったもので。 >それと他の場所でも質問されてますね。どっちで答えていいのか >迷います:-) あー失礼しました。こちらで教えていただけますか? 他は削除します。
>>294 よくわからんがVBAで認証をしてもVBAを無効にしたら
開けちゃうのでは?
306 :
テリー :2001/06/29(金) 18:07
>305 元のエクセルファイルはパスワード設定していて 開けないのですが、よりセキュリティーがかかっていると 見せたいのです。
>>304 VBEditerの画面のヘルプで検索しろ!
308 :
テリー :2001/06/29(金) 18:13
>307 ここは、初心者質問スレ だったので、質問したまでです。 >ヘルプで検索しろ! その程度の回答が帰ってくるのが、 初心者質問スレ ということでしたか。判りました。 引っ込みます。 ありがとうございました。
309 :
デフォルトの名無しさん :2001/06/29(金) 18:15
310 :
shige :2001/06/29(金) 18:17
ぷぷっ VBだってさ。 ruby>>>>>>>>>>>>>>>>>>>>>>>>>>VB
デフォルトの名無しさん>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>shige
312 :
デフォルトの名無しさん :2001/06/29(金) 18:22
2ch>>>>>>>>>>>>>>>>>>>>>>>>>yahoo
313 :
298 :2001/06/29(金) 18:45
>>303 ご返答ありがとうございました。
>>ADOが同期型になっておらず
先程教えて頂いたURLを参照したのですが
adAsyncExecuteでは非同期になってしまうんじゃないでしょうか?
教えてくださいばかりで申し訳ありませんが、何卒よろしくお願いいたします。
314 :
295 :2001/06/29(金) 18:57
ExcelオブジェクトのリファレンスはVisual Basic Editorのヘルプ からたどれます。つまりExcel本体のヘルプからはたどれません。 デフォルトのインストールだとこのヘルプファイルがインストール されないので、その場合は追加インストールする必要があります。
315 :
デフォルトの名無しさん :2001/06/29(金) 21:58
>>313 基本的にデフォルトが同期で非同期が明示的な指定ですね。
別に同期になってるんなら別の原因なんじゃないでしょうか。
これ以上はわかりません、すいません。
-----------------------------------------------------------------
昔、RDOのとき特定のバージョン使用のときにデフォルトが非同期になってしまうというアホな状況がありました。
RDO3.0+DB2(バージョン忘れた)でSQLAPIでむりやり同期指定した記憶があります。結構大騒ぎ
でもこれはイレギュラーなことなんで..大体RDOはクサかった、ADOは安定だと思われ
-----------------------------------------------------------------
283
>>285 どうもありがとうございました。見事に解決できました。
引数は自分で分解すれば良いだけだったんですね(^^;
朝一で実行の必要があったので、マジ助かりでした。謝謝
317 :
298 :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に載っていたもの をコピペしただけなのに・・・ なぜなのでしょう?教えていただけたら幸いです。
age
320 :
デフォルトの名無しさん :2001/06/30(土) 23:52
>>318 Set myInspector = new Application.ActiveInspector
じゃなくって?
321 :
アリスハァハァ :2001/07/01(日) 00:29
質問です。 Visual Basicの体験版ってどこで手に入りますか?
322 :
318 :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
324 :
318 :2001/07/01(日) 15:29
>>323 ありがとうございます。
んーでも、同じです(泣)。
(「プロパティが読み取り専用です」行番号2 と言われる・・・)
325 :
デフォルトの名無しさん :2001/07/01(日) 15:54
>>323 多分、Applicationが読取専用なんすね。
Set m_App = CreateObject("Outlook.Application")
とかローカル用の定義にかえてみては?
Application って予約後では?
予約後じゃねえよ。 単なる定義済みグローバル変数駄。
328 :
デフォルトの名無しさん :2001/07/01(日) 22:26
圧縮ソフトみたく、 エクスプローラー右クリックした時に表示されるコンテキストメニューに 「書庫を作成」というメニューを表示させて、選択されたら処理するような サンプルとか知りませんか?
329 :
デフォルトの名無しさん :2001/07/02(月) 21:44
電卓作ってるんだけど 1+1=2ってだすプログラムの方法教えてください。 勉強はじめたばっかでわかりません
電卓はサンプルプログラムが付いてるぞ。。<VB
331 :
デフォルトの名無しさん :2001/07/02(月) 23:26
コントロール配列使って、電卓のボタン押したとき、その数字を画面に表示させたいんだけど・・ できないよ〜〜
333 :
デフォルトの名無しさん :2001/07/02(月) 23:30
>>332 今練習でやってるの・・・教えてケろ〜〜
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
338 :
デフォルトの名無しさん :2001/07/02(月) 23:54
>>336 あと足し算頑張って作るよ。
でもどうやって
1回目に表示させた数字と2回目(プラスを押したあと)に表示
する数字を足すんだろ。両方ともテキストボックス1にしか表示させないから・・
困る
グローバル変数にコイツラを持っておく Dim Ans As Integer ' 現在の答え Dim Enzansi As Integer ' 前回押された演算子 ・・・ 作り方によりけりだね、がんばってちょうだい
だから、電卓のサンプルプログラムはVBのCDのなかに入ってるだろうッ。
>>340 必殺「友だちから借りました」ってやつなんだろ。
でなきゃ「学校からもってきました」かね。
342 :
デフォルトの名無しさん :2001/07/03(火) 02:59
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 だよ こんなひどいマジボケは生まれて初めてだ詩嚢
そんなになげかんでも...
347 :
デフォルトの名無しさん :2001/07/03(火) 23:51
>>342 それだと「送る」に入るだけで、
メニューには乗らないねー。
しかし、VBで実現できるのか?
348 :
343 :2001/07/04(水) 09:07
>345 どーも、ありがとーございます。 やってみます。
ツッコミが入る前に気がついてよかったじゃないか。
350 :
デフォルトの名無しさん :2001/07/05(木) 12:53
10進法を 2進法とかに変えるプログラム教えてください
352 :
デフォルトの名無しさん :2001/07/05(木) 13:43
VB6では「利用可能なアドイン」に表示されるアドインが Office2000VBAでは表示されません Officeのオプションで、何か追加しなければいけませんか?
>>336 こんな、典型的な宿題厨房に回答する必要ないぞ。
354 :
デフォルトの名無しさん :2001/07/05(木) 14:52
ウインドウの右上に「最小化」「元の大きさに戻す」「閉じる」ってボタンがありますよね。 それを表示させないようにする事はできるんですか? 又、「閉じる」ボタンを押した時にどういう動きをさせるかってのは、どうすればいいんですか? ご存知の方がいらっしゃいましたら、教えて下さい。 宜しくお願いします。
355 :
ビギナーず :2001/07/05(木) 15:48
>>354 >ウインドウの右上に「最小化」「元の大きさに戻す」「閉じる」ってボタンがありますよね。
>それを表示させないようにする事はできるんですか?
ControlBoxをfalse
>又、「閉じる」ボタンを押した時にどういう動きをさせるかってのは、どうすればいいんですか?
どういう動きをさせるかというのはどういうことでしょ?
ウィンドウにWM_CLOSEをPOSTするってこと?
357 :
354 :2001/07/05(木) 16:11
>>355 >ControlBoxをfalse
すみません、僕の説明が不充分でした。
これは知ってるんです。
でも、このやり方だと、全部消してしまう事になっちゃいますよね。(確か)
そうじゃなくて、3つのボタンのうち一つだけ表示させるとか、そういう感じです。
>どういう動きをさせるかというのはどういうことでしょ?
>ウィンドウにWM_CLOSEをPOSTするってこと?
「×」ボタンでウインドウを閉じようとした時に、例えばメッセージボックスを表示させるとかそーいう事です。
初心者質問スレ でガタガタ言うのはやめましょう。スレ違い
>>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
363 :
357 :2001/07/06(金) 09:14
>>361 では、「×」ボタンを非表示、又はクリックしても何も動作しないようにするには、どうするのですか?
>>362 ありがとうございます。
では、そのメッセージボックスに「はい」「いいえ」の選択肢を設けて、「はい」を選んだらそのまま閉じる。(これはできました。)
「いいえ」を選んだら、元の画面に戻るというようにする事は可能でしょうか?
364 :
ビギナーず :2001/07/06(金) 09:40
>>357 そういうことね
Unloadイベントのcancelパラメータに0以外の値を設定したら、
フォーム消えないっすよ
365 :
363 :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にして実行できるようにしたのですが, アイコンを変えたいんです。 アイコンは用意してありますが, どうやったらいいんでしょうか? お助けください。マジレス希望です!
371 :
46 :2001/07/07(土) 19:34
>>370 プロパティウィンドウのformのIconをクリック、好きなアイコンを選ぶ
だけ。
372 :
370 :2001/07/08(日) 01:10
>>371 できました!感激です!
どうもありがとうございました!
373 :
デフォルトの名無しさん :2001/07/10(火) 10:03
つまらない質問かもしれませんがおねがいします VBで印刷がうまくおこなえません フォームを印刷するとき、印刷用紙のサイズに合わせるにはどうすればいいでしょうか? サンプルコードなどを頂けたら、助かります
374 :
デフォルトの名無しさん :2001/07/10(火) 10:13
>>367 アプリケーションウィザードでエクスプローラスタイルで
作成すれば、それをサンプルにできるよ。
375 :
D使いβ :2001/07/10(火) 18:36
>>373 Form1.PrintFormじゃなくて、
Printer.PaintPicture Form1.Image, x, y, w, h
を使うといいかも。
拡大率はFormとPrinterのScaleHeightまたはScaleWidthから
求めればいい。
376 :
VB初心者 :2001/07/11(水) 14:29
MSCommを使用して機械とパソコン間でデータをやりとりするプログラムを書いているのですが ハイパーターミナルでデータ送信命令のコマンドを打つとちゃんとデータを送ってくるのに MSCommで同じように命令を送ると何の返事も返ってきません。 MSCommとハイパーターミナルではやり方が違うのでしょうか? もちろんMSCommの設定とハイパーターミナルの設定は同じようにしております。 下にコーディング例を書いておきます。 なにか原因があればご教授ください。 お願いいたします。
377 :
VB初心者 :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
>>376 MSCommに慣れるためにパソコン同士をつないでテストプログラムを
作ってみてはいかがでしょう?
379 :
デフォルトの名無しさん :2001/07/11(水) 15:27
>>376 MsCommのサンプルだったら、ネット上にアホほど
転がってるでしょ。
>>378 も言ってるけど、COMポートが二つあるPCなら、
自分同士で通信のテストできるよ。
380 :
VB初心者 :2001/07/11(水) 15:39
お返事ありがとうございます。 既にテスト用のプログラムも作りましたし、 Vector等でテストプログラムを取ってきて使っております。 それでPCを2台繋いだ状態でテストすると完璧に送受信できているのですが 実際に機械に繋いで動かすと全然動かないのです。 それで、ハイパーターミナルとMSCommでは何か違うことをしなければいけないのか (例:文字列を送る時に文字コードで送るとか) と思いましてお聞きした次第です。
>>380 LoopにDoEventsがないけどいいですか?
383 :
VB初心者 :2001/07/11(水) 17:14
>vbCrLf でいいですか? 復帰改行はCRLFとなっているので vbCRLFと書いたのですが & Chr$(13) & Chr$(10) の方がよいのでしょうか? >LoopにDoEventsがないけどいいですか? OnCommイベントを使わずボーリング型で受信しているので DoEvents は必要ないと思ったのですがいるのでしょうか? 変に使用するとおかしくなるかなと思い使用したなかったのですが 普通はハイパーターミナルで動作すればMSCommでも動作すると考えてよろしいのでしょうか? 他にもデータが入ってこない理由が考えられましたらお教え願います m(__)m
>>383 ソースでいうとどこの行まで実行されているかわかりますか?
どこかのループで永久ループしてるのでしょうか?
それとも応答を待たずに終了してしまうのでしょうか?
>>383 DoEventsは入れた方がいいと思います。
386 :
VB初心者 :2001/07/11(水) 17:52
Do Until MSComm1.InBufferCount > 0 'データが入ってくるまで回れ Loop ↑ここでループしています。 受信データがゼロのまま変化していないということですよね。 Do Until MSComm1.InBufferCount > 0 'データが入ってくるまで回れ DoEvents Loop って、やった方がいいのでしょうか
>>386 VBのヘルプにはDoEventsが入ってますよ。
InBufferCountの内容がメッセージで制御されているのであれば
DoEventsが必要でしょうね。実はMSComm使ったことないんです。
>>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
392 :
Mr.厨 :2001/07/12(木) 15:09
Visual SourceSafe に登録しますかと聞かれたので、登録したところ コードの編集が一切できなくなってしまいました。どうしたらいいのでしょうか。 SourceSafeから登録解除すればいいのでしょうが、よくわかりません。。。
393 :
VB厨房 :2001/07/12(木) 15:18
>>392 IDE上のプロジェクトウィンドウにある編集したいオブジェクトの上で
右クリック。
チェックアウトしてから編集すべし
ありがとうございました。できました。
395 :
デフォルトの名無しさん :2001/07/12(木) 16:33
VBからほかのソフトを起動し、さらにそれを操作するということは可能でしょうか?
397 :
:2001/07/12(木) 16:59
398 :
デフォルトの名無しさん :2001/07/12(木) 17:10
PictureBoxで表示されている画像を AccessのOLEオブジェクト型のフィールドに対して adoでデータのi/oを行いたいのですが どなたか方法を教えていただけないでしょうか?
>>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"
403 :
401 :2001/07/12(木) 20:40
404 :
初心者=386 :2001/07/12(木) 21:53
>>391 そのAPIで一度試してみます
ご返答ありがとうございました m(__)m
405 :
Mr.厨 :2001/07/12(木) 22:03
ビジュアルスタジオインストーラでVBインストーラを作ったとき、 [スタート]メニューの[プログラム]のところにショートカットを作りたい のですが、どうしても[スタート]メニューの直下になってしまいます。 これはなんとかできますでしょうか
406 :
デフォルトの名無しさん :2001/07/13(金) 04:05
エクスプローラのような右と左を分けるツマミは何で作るのでしょうか?
>>1 ネットにサンプルがいっぱいあるだろう?
書籍くらい買えよヴォケ!
とりあえず、回線切って首吊ってくれ!
それが君のためだ!
↑ワラタ
412 :
デフォルトの名無しさん :2001/07/13(金) 10:03
MAPIMessagesでOutLookのアドレス帳からアドレスグループを指定し、送信するというのは可能なのでしょうか? 参照できるだけなのでしょうか? ご存知の方がいらしたらお教え下さい。
413 :
Mr.厨=405 :2001/07/13(金) 12:27
>>410 すいません。ディストリビューションウィザードではなくて、
ビジュアルスタジオインストーラの方でのやり方が知りたいのです。
415 :
デフォルトの名無しさん :2001/07/14(土) 02:01
SStabで質問です。 ・タブを複数表示させるとき、ずれちゃう ・Updownコントロールを使ってタブだけ移動させるのってどうやるか どちらかのお答えを頂けないでしょうか。 たくさんのタブを、限られたウィンドウ内に納めたいのです。 よろしくお願いします。
>>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
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個ぐらいフォームが表示されるプログラム 作ってるの見て面白そうだったので。 だいぶ前の話なので知り合いも忘れてしまっててあてになりませんでした。
for i=0 to 50 dim Fm as new Form2 Fm.show vbModeless set Fm=nothing next i こんなんで出来ないかな。 Nothing前に位置を変えてやればランダムに見えるでしょう。 Form_Loadあたりに突っ込む。 Form2も追加しておくこと。 即興なので、バグあるかも。
426 :
VB初心者 :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
>425 うまくできました。 どうもありがとうございます。
428 :
:2001/07/17(火) 12:56
オラクルのDB更新時にバインド配列を使って一括で更新したいのですが、 やり方が分かりません。 できれば、ストアドプロシージャを用いずに更新したいのですが・・・。
429 :
デフォルトの名無しさん :2001/07/17(火) 13:26
>426 Print #1, Buffer; セミコロンを付加してみてください。
素朴な疑問なのですが、 Private Sub Command1_Click() Do DoEvents Loop End Sub とすると、×ボタンを押してFormを閉じることができますが、 Do Loopが実行されているらしく、タスクマネージャに残ってしまいます。 なぜFormがUnloadされているのに、Command1_Clickは実行されているのでしょうか。 また、このときCommand1を再度クリックすることができますが、 これは、新しいスレッドで実行されているのでしょうか。 (ちなみに私の環境では、28回クリックすると、操作不能になりました。)
431 :
430 :2001/07/19(木) 00:27
sageてしもた。
アホですな(w
433 :
デフォルトの名無しさん :2001/07/19(木) 13:53
VBScriptでやっていることをVisualBasicで統合しようと思うのですが どうすればよいでしょうか?
ぁのぅ、 毎日MPEG1動画が吐き出される環境(Win2k)があるのですが、 それを自動的にMediaEncoderを使ってwmvニコンバーとして、もとの MPEG1動画を削除したいのですが、 どうも、VBScriptというのを使うとできるみたいなんですが、それはどうやったらインストロールできますか? ぼくはCとパールしかできないのですが、VBスクリプトというのは難しいですか? Windowsでは自動化というのは難しいんでしょうかね。 でもうにっくすではwmvにで機内誌。
435 :
デフォルトの名無しさん :2001/07/19(木) 15:57
現在、VBScriptを使ってのWebデータ管理をしています。 ブラウザから書き込んだ内容をVBScriptを使用して参照したり、書き込んだりといった内容です。 これだとHTMLコードが混ざっていたりしますので、VisualBasicコードのみを管理したいという点で VBの部分を独立させたいという企画なのです。 が、まったくどうしていいのかわかりません… ご存知でしたらよろしくお願いします。
>>434 Win2kなら、インストロール済みじゃねーの
438 :
デフォルトの名無しさん :2001/07/19(木) 16:51
YO!
トロール船
せんだみつお
おにぎり
りんご
ごはん
ううん、誤字脱字が多くてごめんなさい。 VBスクリプトって使ったことないのですが、全く初心者はどこに行って勉強すればよいですか?
ええと、Win2k何ですが、WindowsScriptingHostって、どうやったら起動するのですか?
>>445 test.vbsというテキストファイルを作る。
中身は
MsgBox "Test!"
でいいな。test.vbsをクリック!
どうだい?
要は、バッチファイルだ。
うわーありがとうございます。 このスクリプトのリファレンスって、どこにあるのですか? これって、たとえばDOSコマンドとかも使えるのですか? シェルスクリプトみたいなのと思っていいのかな。
>>447 簡単だろ。
ブラクラとかも簡単に作れるよ。
練習だと思って、一つ作ってみな。
とりあえずAドライブ奥歯がたがたいわせるのつくったれや
449 :
デフォルトの名無しさん :2001/07/21(土) 05:20
VisualBasic6.0で聞きたい事があります。 C++でいうSTLのようなものは無いのでしょうか? 自分でリスト構造等を作るのが面倒なので、もしあれば使いたいなぁ、と。
451 :
449 :2001/07/21(土) 23:16
>>450 少なくとも標準では、付いてないのでしょうかね…。
C++使えよ(w>449
>>452 そうしたいのはやまやまなのですけど、のちほどそのプログラムの修正を
することになると思われる人が、VBしか使えない…。
>>454 ま、つくっちゃえば、こっちのものなんですけどね。
C++でやっちゃうか。
456 :
わからん :2001/07/22(日) 23:10
VB6でmscommを使用して周辺機器の制御をしようとしてます。 RS-232CのER信号の内容を取得したいのですが出来ずに困っております。 値が変わってもイベントが発生しません。 どなたか御存知ないでしょうか?
457 :
デフォルトの名無しさん :2001/07/23(月) 16:28
Stringをテキストファイルに読み書きする もっとも簡単な方法ってなんですか?
458 :
gh :2001/07/23(月) 17:08
当方CとJavaを勉強中っす(C、一年半くらいでJava半年くらい)。 いまの状態からVBやり始めたらどんくらいで つかえるようになりますかねえ?
多分3日ぐらいで、そこそこ使えるようになるんじゃ…。
460 :
gh :2001/07/23(月) 17:32
>>459 よく「簡単だ」って聞きますけど
ホントにそんな簡単なんですか?
Cとかだってそこそこつかえるまでに
いろいろおぼえなきゃいけないことあるし。
ちょっと参考書でもかって、やってみようかな・・・
そのうち無料になるDelphiの方がいいんじゃないか? 簡単だし、奥は深いし。 VBは浅いよ。
Delphiまだかな。すごく楽しみに待ってるよ。
463 :
gh :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 こういうことをしても正しく動作していないみたいなのです。
>Do While Not EOF(1) EOF(2)じゃなくて?
>>465 行単位に読み込むならLine Inputの方がよくない?
#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
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
477 :
デフォルトの名無しさん :2001/07/27(金) 16:36
>>476 IISを再起動させればいいような
よく分からないけどさ
478 :
デフォルトの名無しさん :2001/07/27(金) 16:40
479 :
初心者まる :2001/07/27(金) 17:51
むちゃむちゃしょうもない質問で申し訳ないのですが ExcelでVisual Basic Editorを立ち上げると左に出てくる プロジェクトとプロパティのフォントがおかしくて何が書いてあるか 全然わかりません。 どうやったらこれ、直るんですか? VBとあまり関係なくて申し訳ないのですが困ってます。教えてください。
480 :
デフォルトの名無しさん :2001/07/27(金) 18:06
>>479 フォントないんだよ、多分。
windowsの[画面のプロパティ]直せない?
481 :
479 :2001/07/27(金) 18:25
>>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を利用しないといけないんですが、どなたかわかりましたら 教えていただけないでしょうか?
Windows2000環境で、ディストリビューション ウィザードで作成した setup.exeを使ってインストールしようとすると「Path or File Not Found」 というメッセージが出てセットアップが中断されてしまいます。 Windows98SE環境だと問題なくセットアップできるのですが・・・ 何が問題なのでしょうか? ちなみに、VB6SP5です。
486 :
あう :2001/07/30(月) 01:11
VBで、FindWindowで取得したウィンドウの左上を(0,0)として そのウインドウ上の任意の長方形画面を取り込みたいんですが、 どの関数を使えばいいのでしょうか? (昔のBASICで言うところのGET@みたいな事をしたい)
>>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秒単位でしか計測できないのです。 初心者な質問で申し訳ありません。
>>488 スレ違いだがマジレス。
「できません」
以上。
つうか初心者だからって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にするというやり方でとりあえず実現しましたが、ちらついてしまうのです。 なにか他にいい方法があるでしょうか
498 :
超初心者 :2001/08/01(水) 13:16
少々スレ違いですが詳しい方がおられると思うので質問いたします。 EPSONのPC286上で動いているN88-BASICでフォーマットされたフロッピーディスクのデータをWindowsで読込みたいのですが可能でしょうか? PC9801シリーズのMS-DOS上でなら読めるかと思い試したのですが認識できませんでした。 何かスムーズに読み込める方法があればお教えください m(__)m
500 :
:2001/08/01(水) 14:05
アクティブレポートで印刷する時について質問です。 一枚の紙に、罫線付きで20行出すとします。 しかし、データ的には15行しかないとします。 その場合、残りの5行も罫線付きの空白行として印刷したいのですが、どうしたらいいでしょうか? お願いします。
>>500 こんなところで質問する前に下らん見栄えにこだわる客を説得して
工数削減に努めろよ。
いーじゃん、一行だけの紙が有っても。
ありがとうございます。できました。 ただ、私には難しいやり方ですね。
504 :
デフォルトの名無しさん :2001/08/02(木) 13:31
すいません。質問です。 TRIM関数で「プロジェクトまたはライブラリが見つかりません。」 というエラーが出るのですが、TRIM関数のライブラリの名前を 教えてもらえないでしょうか。 よろしくお願いします。
505 :
>>504 :2001/08/02(木) 14:28
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
ビジュアルスタジオインストーラでインストーラを作ったとき、 [スタート]メニューの[プログラム]のところにショートカットを作りたい のですが、どうしても[スタート]メニューの直下にしか作れません。 これはなんとかならないのでしょうか
>>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 参照先を正しく設定したら動きました。
さんきゅでした!!感謝!!
それを教えてください
なるほど。試してみます。 特殊なフォルダを自作できるとは気づかなかった。
518 :
514 :2001/08/04(土) 13:55
519 :
デフォルトの名無しさん :2001/08/04(土) 17:14
ユーザ定義型をBinary形式でファイルに保存しているんですが そこに追加書込みする良い方法はありませんか? 書込み位置を LOF(FileNum) + 1って感じで 無理矢理やってますが、どうもしっくり来ません。
>>518 直リンすんな!!
わざわざ"h"削ったのが判らんのか?
おまえ荒らしか?夏厨か?
コモンダイアログの「ファイルを開く」をキャンセルした場合は、 エラー処理を行わない。 存在しないファイルを開こうとした場合は、「存在しません」とエラーを出したいのですが、 キャンセルしたかどうかはどう調べるのでしょうか?
>>521 ヘルプでCancelErrorあたりを調べていくと良いと思うが。
523 :
デフォルトの名無しさん :2001/08/05(日) 18:35
なぜここは下げ進行なのよ?
>>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しておく。
530 :
525 :2001/08/06(月) 12:13
>>529 ありがとうございます
まず、 引数の一つ目(変換元文字列)は、 正に(const)char*だったので、
上記のように対応して、解決のようです
そして、ちょっと説明が間違っていたのですが、
二つ目の引数で、変換後文字列を格納する場所を
LPTSTR dstで指定するようになっています
(ここの指定のしかたが間違っている?ようです)
そして、三つ目の引数で、dstの最大バイト数を指定してあげるようになっています
(ちなみに、CE向けソフトで、 kctrl.dll内の sjis2unicodeを利用しようとしてるところです)
APIについてはどうやって調べたらいいのですか
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
537 :
デフォルトの名無しさん :2001/08/06(月) 14:01
>>530 VBは外部関数コール時にはStringに対して
自動的にUNICODE<->ANSI変換を行うので、機能的にちょうど
衝突する形になっているのだろう。
(VB内部コードはUNICODEだが、外部は全てANSIであると
仮定してVBは動作する)
従って、wchar_t*の受け渡しにはByteの配列を使って
(0番目の要素をByRefで渡してやる)必要があるのだが、
そもそもVB標準のStrConv()を使えばそんな苦労は
要らないのでは。
538 :
535 :2001/08/06(月) 14:35
>>536 すいません、説明が難しくて・・・
今、VB5で作ったプログラムのレスポンスチェックしてるのですが、
「VB6でもレスポンス計って」と、上司に言われました。
それで、VB5からVB6に入れなおすと、速度が向上するのかな?
ということです。
>>538 計ってといわれたら計れよ。まったく最近の若者は。
540 :
525=530 :2001/08/06(月) 14:53
>>537 すいません、
なんか、今使ってるCE向けVB (eMbedded Visual Basic)には、
StrConvが 無いみたいなのです・・・
(まだ勉強不足なので、自信なし とりあえず、ヘルプではでてきませんでした)
>>538 自分で解決できることを質問するべきではありません。
542 :
538 :2001/08/06(月) 16:04
たしかにそうですね。 申し訳ない。
543 :
デフォルトの名無しさん :2001/08/06(月) 16:09
>>541 あんだと?お前何様だ?
ただでさえVBがなくなってしまいそうなときなんだから
お互い協力すべきだろーが、あっ。
お前みたいなのがVB使いにいるからみんながVBを馬鹿に
するんだぞ。わかってんのか?
じゃあオマエが質問に答えてやれよ。
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を使えばいいのかなーとか 思っているのですが今ひとつピンと来ません。 一般的(?)なプロキシ変更ソフトの仕組みをお教えいただけませんか? よろしくお願いいたします。
>>548 レジストリ変更だろ
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
ProxyServer
設定ダイアログ−接続−プロキシーの設定を代えて、値がどうなるのか確認してみるがよろしい。
>>549 レスありがとうございます。このキーの存在は知っていたのですが、
Windows全ての環境に共通なのか不安で二の足踏んでいました。
これでやってみます。
551 :
デフォルトの名無しさん :2001/08/07(火) 07:54
>>549 すぐそれだ。もうどっかいけよ。お前なんかVB使いから
追放だ!
げ! VB界から追放されてら〜〜!! スゲー
今、使おうとしている外部関数なんですが、 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も無いということは結構怪しい気がする。
>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
本でも買って勉強してから出直してきな
559 :
557 :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!件数で取得できますよ。
562 :
561 :2001/08/08(水) 00:49
上のサンプル、データベース名がdbHANBAIになってしまってる……。 自分が今組んでるコードからコピペしたもんだから……。鬱だ……。 dbHANBAIの部分は自分のデータベース名にして下さい。
元COBOLer?
564 :
561 :2001/08/08(水) 01:19
元COBOLerじゃないけど、どうして???
>>561 解決しました!。
ありがとうございました。実はわけあってかなり追い詰められてまして
すごいほっとしてます!。ありがとう!。
>>560 まともなレスありがとうございました!。
ご指摘の点、以後きをつけます。
566 :
556 :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
571 :
デフォルトの名無しさん :2001/08/08(水) 10:42
572 :
デフォルトの名無しさん :2001/08/08(水) 10:43
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
>>575 どうやって応用するとUnicodeからSJISになるんだ?
Unicodeから他のコードセットに「計算で」変換する方法は存在しないぞ。
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)
strReturn = StrConv(strSource, vbFromUnicode) 'Unicode --> Shift-JIS strReturn = StrConv(strSource, vbUnicode) 'Shift-JIS --> Unicode
vbFromUnicode = 128 vbUnicode = 64
581 :
デフォルトの名無しさん :2001/08/08(水) 18:00
For Eachループの意味がいまいちよくわかりません。 これはどのようなときに、どのようにして使うのでしょうか。 たとえば配列になっているボタンを一括で非表示にしたいときに 使えるのかなと思っていますが、やり方がよくわかりません。
>>581 要素を一つずつ順番に取り出して処理するのに向いていると思います。
>>578 UNICODEは完全に独立したコード体系で、表引きによってしか変換できません。
WindowsにはそれをするAPIが用意されています。
ただし、Windowsが持っている表にはいろいろと不備があって、そのために
S-JIS→Unicode→S-JISという変換をAPIで行っても完全に元に戻らないことがあります。
(1対1になっていない文字がいくつかある。どれとどれかは忘れた)
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のところで、オーバーフローエラーになってしまいます なんか、考え方間違ってますか?
>ただし、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
すいません。いきなり質問します。 ご存知の方教えてください。 Printで出力するファイルがあるのですが 改行を含むデータを出力しようとすると CSVファイルで開いたとき、セルにまたがって表示されてしまいます。 EXCELで編集した場合に、Alterキー+Enterキーで 同セルに改行するような形で 出力したいのですが、どのようにすれば良いのでしょうか。 vbCrLf、vbCr、vbLfすべてダメでした。(同セルに改行されません) 上記定数に置きかえる定数をご存知の方、教えてください。 いきなりすいません。
ExcelでAlt+Enterで改行した場合はvbLFが入っていますが、CSVを 経由してそれを渡すのは無理でしょう。できるとしたら、CSVに吐く ときに改行コードを特定の文字(\nとか)に変換して出力し、Excelに 読み込ませた後にvbLFに変換するといった方法を取る必要があると 思います。
592 :
534 :2001/08/09(木) 12:24
593 :
587 :2001/08/09(木) 12:55
594 :
590 :2001/08/09(木) 14:12
>>591 了解しました。
ご回答ありがとうございました。
595 :
デフォルトの名無しさん :2001/08/09(木) 16:41
>>534 =592
アイコンファイル (*.ico) には複数のイメージを含めることが出来る
32x32 と 16x16 の両方のイメージを入れておけば適切に表示されるはずだ
ってすまない、前発言よく見てなかったよ 含めてるのに表示されないってか、そりゃ解んないやごめん 今ちょっとアイコン作ってためしてみたけど、普通に表示できたよ アイコン何で作ったのか知らないが、作りなおして試してみたらどう?
>>590 -591
ダブルクオート " で囲むとできるんじゃなかったっけ。
色々試してみたら、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とは意外な展開。(笑)
603 :
579 :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へはロジックで変換できるよ。
604 :
579 :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房にそんなこといってもわからんぞ。
ふざけんな!
606 :
579 :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
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を使おうよ
びっくりした。 本当にできてしまった。 579様、ありがとうございます。 これで一応不細工ながらエクセル・機械間のデーター通信が完成します。 できれば、メールなど頂ければ お世話になったお礼に裏山で採れるみかんでも、 それとも美味しい讃岐うどんでも贈りたいものです
毎日3食コンビニめしなので、うどんが喰いたいYO!!
>>613 礼なんていらないよ。
なんかメールが来ても偽者だから送らないように。
616 :
デフォルトの名無しさん :2001/08/10(金) 14:30
Access 2000 で、VBAからフォームにコントロールを貼る方法を教えてください。 たしかデザインモードで開いてはできたはずなんですが、やり方を覚えていません。
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
VBユーザーってこんなバカばっか?
622 :
あ :2001/08/12(日) 20:22
>>621 やっぱこの質問、恥ずかしすぎました?ごめんなさい。バカなもんで・・・。
どうしてもできないので教えてください(聞くは一時の恥〜ってやつです)。
Findメソッドとかってうまくいくときとエラーが出るときとありませんか?
なにが悪いのかわからんのです・・・。
ちがうよ, 機械屋とかいうヴァカのこと。
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
これ本にのってたサンプルコードといっしょなんですけど、間違ってますか?
>>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プロパティで指定してもだめでした。
>>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
>>632 >set WshShell = CreateObject("WScript.Shell")
の後でちゃんと改行入れてる?
>>633 惜しい。"スクリプト" = VBScript だから、このままでは動かない。
>Dim Wshshell As Object
の
> As Object
と、
>Private Sub Form_Load()
>End Sub
の2行が不要(というか、あると動かない)。
上記3つを消せば
>>633 で望みどおりの結果が出るよ。
>>632
>>636 オイラは初心者なんでよく分からんのだけど、
635のコードでも動きましたが…
639 :
632 :2001/08/15(水) 06:49
>>635 -636さん
うぉぉぉぉぉ!!出た!やった!感動した!ありがとう!!ヽ(´▽`)/
ただ僕は、これをローカルでなくWeb上から実行し、実際にメアドの情報が得られ
ないけど、サイトを見た人が『げっ!!』となるようなびっくりサイトを作ろうとした
のですが、やっぱりエラーが出て上手く表示されません。
またまたお手数ですけど、よければ以下のタグも不具合チェックして下さい。
640 :
632 :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>
641 :
632 :2001/08/15(水) 06:54
スクリプトの間の書き込み見て判る方は判ると思いますが、そうです。 僕は「ニセ竹」です。ちく裏の名物スレのファンです。 まさかここに来てる人竹ちゃんファンがいるのかな? 悪戯はよせ!
>>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>
643 :
632 :2001/08/15(水) 23:44
竹ファンじゃないよ。 つーか、竹ファンって何??? 上のスクリプトの記述は間違ってない。 ただ、ネットワーク上で表示させるには ブラウザのセキュリティの設定が必要。 インターネットオプション>セキュリティ>レベルのカスタマイズ で、 「スクリプトを実行しても安全だとマークされていないActiveXコントロールの初期化とスクリプトの実行」 の項目が「有効にする」になっていないと表示されないよ。 つまり、閲覧者がこの設定を無効にしていると何も表示されないので 実用的ではないような気がする…。 VBの話題から外れてしまったのでsage。
>>644 の635さん
ありがとうございました。
>閲覧者がこの設定を無効にしていると何も表示されないので
>実用的ではないような気がする…。
その通りですね。
実は僕、VBのことやプログラムのこととか全くの無知なのですけど、これは
鰹G和システムから出版されてる「ホームページ 誰も書かなかったホントの裏技」と
いう本に出てたもので、「訪問者のログの取り方」だの「自前CGI串の作り方」だの
アングラ系サイト制作のコツとかテクを説いたものなんですが、
>>644 でカキコしてある
こととか一言も解説なかった。 単なる厨房読本だったのね。
でも、VBの興味も出てきました。 ゴミレスごめんね。 よってsage
646 :
628 :2001/08/16(木) 11:12
>>628 Excel97を使ってる別人だが、確かにFindメソッドは同じコード
でも動いたり動かなかったりする。動かないときの切り分けが
できないので結局使うのをあきらめた。
こういうときはMSのサイトで大概該当する項目が見つかるのだが、
これに関しては何も見つからなかった。
648 :
デフォルトの名無しさん :2001/08/16(木) 12:37
>>647 >>629 のコードは、デフォルト多用しまくりだし、エラー処理も無いから
当然条件がそろわないと動かないけど、そーじゃなくて安定しないってこと?
649 :
647 :2001/08/16(木) 13:05
>>648 ごく単純なコードでも動かないことがある。
直値を指定した動いていたコードを、変数に変えたらエラーに
なったり(そもそも例のエラーメッセージ自体謎)、後でもう
一度同じようなコードを書いてみたら問題なく動いて再現できなく
なったり...
650 :
デフォルトの名無しさん :2001/08/16(木) 23:49
VBから画像処理DLLを呼び出したいんですけど、引数として画像の先頭メモリ アドレスを渡さないといけないのですが、どうやればアドレスを取得できるの ですか?
だから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
……これで変更できるはず。
655 :
653 :2001/08/18(土) 03:40
656 :
あび :2001/08/18(土) 17:00
くだらない質問なんですが フォームを傾けて表示させる方法ってあるんでしょうか? 中身のコントロールもそのまま傾いた感じで。 いろいろ考えたんですけど、そりゃ不可能か・・・と思い始めたんで 最後にここで質問させてもらいました。 どなたか、教えてもらませんか?
ディスプレイ傾ける。
全部自前で描画したらできるんでない? VBの範囲超えるかもしれんが
660 :
デフォルトの名無しさん :2001/08/18(土) 18:46
・フレームのキャプションって左上に表示されますよね。 あれを中央で表示させたいのですがどうやったらいいのでしょう。 ・テキストファイル(単語が一行に1個書いてある)をインポートするときに、 指定された文字の物だけをランダムで読み込む方法を教えてくれませんか? ・テキストボックスにひらがなだけを入力させるほうを教えてください。
>・フレームのキャプションって左上に表示されますよね。 >あれを中央で表示させたいのですがどうやったらいいのでしょう。 スペース入れまくれ。
662 :
デフォルトの名無しさん :2001/08/18(土) 23:02
>スペース入れまくれ。 ネタか? リサイズしたら中央にならんだろ。 コントロールボックスとキャプション消してラベルを貼り付けるのが正解。 何?グラデーションが無くなる? ユーザーコントロールでも作れや。
663 :
厨房635号 :2001/08/19(日) 00:54
664 :
660 :2001/08/19(日) 10:34
>>663 ありがとうございました。この問題については、解決です。
・テキストファイル(単語が一行に1個書いてある)をインポートするときに、
指定された文字の物だけをランダムで読み込む方法を教えてくれませんか?
・テキストボックスにひらがなだけを入力させるほうを教えてください。
はわかる方いらっしゃいますか?
665 :
厨房635号 :2001/08/19(日) 16:56
>>664 オイラは読解力が乏しいので、質問の意味がイマイチ分からん。
どんなふうにしたいのかもうちょっと詳しく説明してくれないかな?
666 :
660 :2001/08/19(日) 18:22
一つ目について。 まず事前準備として、テキストファイルに単語(りんご など)が一行に1個づつ、 たてにずっと並んでます。 で、したいことは、このテキストファイルをインポートしてラベルに単語を表示させるときに 指定した文字("あ"など)で始まる単語だけをランダムに1個だけ取り出して表示させたい ということです 2つ目はわかると思うのですが、、、 テキストボックスにひらがなしか入力できないようにしたいのです
667 :
デフォルトの名無しさん :2001/08/19(日) 18:26
>>666 全部読むだけ読んで、1つ読むごとに指定文字と比較して
マッチしない場合はしかとすればいいのでは?
マッチしたら文字配列にぶっこんで、そこからランダムで抜くとか。
これじゃだめかしら
668 :
厨房635号 :2001/08/19(日) 19:59
670 :
660 :2001/08/19(日) 21:07
>>667 -668
できました!!
ありがとうございます
もうしわけないのですが、あと一個です。数字だけ入力できるようにするのならわかるのですが。。。
ぜひお願いします
671 :
厨房635号 :2001/08/20(月) 00:22
>>667 たしかラクダ本に載ってた、1パスでランダムに取り出す方法。VB
は知らんので誰か書き換えて。
open(F, "TEXTFILE.txt") or die;
$cnt = 0;
$line = undef;
while (<F>) {
next unless /^あ/;
$line = $_ if (rand(++$cnt) < 1);
}
print $line;
673 :
660 :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だけど
>>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
SortItems
682 :
VBで動画見るには? :2001/08/21(火) 18:43
VBで動画を見る画面を作るにはどうしたら良いの?? どんなファイルがよいかも教えてください
>>682 ActiveMovieControlを貼り付ける
684 :
デフォルトの名無しさん :2001/08/21(火) 18:51
去年くらいの雑誌に載ってた 「リッチ摘記すとボックスに色つきの文字を挿入する」 っていうTips覚えてる方いませんか? RTFタグ(?)で直接いれるやつ
685 :
デフォルトの名無しさん :2001/08/21(火) 19:16
ラベルを伸縮させることで簡易プログレスバーを作成したのですが、 これをステータスバーの上の乗っけることはできませんか 処理中はステータスメッセージを特に出していないし、ここにもって いけたらスマートな感じがするのですが。
686 :
デフォルトの名無しさん :2001/08/21(火) 19:25
なるほど。これは良さそうなのでさっそく試してみます。 ありがとうございました。
いわゆるクリック待ち処理を 作りたいのですが、うまく行きません どのようにすればええんでしょうか
689 :
デフォルトの名無しさん :2001/08/21(火) 22:23
>>688 えっとまず、ここはVB初心者質問ですがスレッド間違ってませんか?
次に、クリック待ち処理って何ですか?
ボタン等クリックしたときに発生するイベントとは別物ですか?
「いわゆる」と言われても、あんまり一般的なことを聞かれているような気がしませんが。(笑)
結局、688は何を作っているのだ? まずはその辺を説明してもらいたい。
強制的に処理を"中断"させてしまい、 それを入力で再帰できるような処理を作りたいんですわ Cとかだとそれなりに簡単に出来るよーですけど、VBやとむずかしいんかな。 そのような処理をしているアプリを探したんけど、見つかりませんでしたわ たしかに一般的でないかもしれへんわ、でも使ったこと無いかなあ。
中断させる「処理」を具体的に書いてくれ。 こんな曖昧な質問では誰も回答できんよ。
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
俺なら、こんな感じでするかな。
>>693 うまく行きそうな感じですわ、ご助言ありがとうございます
TIMER使って入力探知するとかとか、条件式で謎の処理行ってほんまの無限ループに
なったり大変でしたが、いや助かりました。
>>635 ども、抽象的ですんません。
>>694 Timerもイベントだから、なにか処理してる間は呼ばれないね。
Timerで処理していることがあるなら、他にも時間がかかりそうな
所はまめにDoEventsすべし
696 :
デフォルトの名無しさん :2001/08/22(水) 02:56
質問なのですが、VBで現在のマウスカーソルの位置の色情報を取得するにはどうすればいいのでしょうか? いろいろなサイトを見たのですが全然見つかりませんでした。知ってる方よろしくお願いします。
>>696 グラフィックとかのソフトのこと?
やっぱり自分で計算するんじゃない?
無責任なレスでスマソ・・・
698 :
デフォルトの名無しさん :2001/08/22(水) 03:02
699 :
デフォルトの名無しさん :2001/08/22(水) 03:05
702 :
デフォルトの名無しさん :2001/08/22(水) 03:36
スマソ、英語はめちゃめちゃ苦手です。
703 :
デフォルトの名無しさん :2001/08/22(水) 03:38
>>699 やっぱりAPIを使うんでしょうか???
704 :
699 :2001/08/22(水) 03:47
705 :
デフォルトの名無しさん :2001/08/22(水) 03:53
706 :
VBで動画見るには? :2001/08/22(水) 07:33
707 :
デフォルトの名無しさん :2001/08/22(水) 10:18
>>701 ありがとうございます!!
恩に切ります!!
708 :
デフォルトの名無しさん :2001/08/22(水) 16:03
今までクラスって使った事無いんですけどそもそもクラスって何なんですか? わかりやすく教えてください
■[クラス]の大辞林第二版からの検索結果 クラス [class] (1)学校などにおいて、組み分けしてできた生徒の集団。学級。級。組。 (2)等級。階級。層。「実力はトップ-―だ」 (3)種類。部類。
711 :
デフォルトの名無しさん :2001/08/22(水) 17:32
クラスとは、オブジェクトを作成するためのテンプレートのことです。クラス モジュール内のコードは、そのクラスから作成されるオブジェクトの属性と機能を示します。 クラスはオブジェクトではありませんが、属性を定義するデザイン時のプロパティと、機能を定義するイベントを保持します。
>>708 自分でクラスモジュール書いてみそ。
下手に説明されるよりずっと良く分かるはずだ。
715 :
デフォルトの名無しさん :2001/08/22(水) 21:12
クラスは使わなくても開発できるけどね
だからDQNが多いのか・・・
717 :
デフォルトの名無しさん :2001/08/23(木) 05:23
VBで作ったプログラム(ゲームです)を配布しようと 思っていたのですが、ランタイムを用意してもらったりと 面倒な事が多いのでCに移植しようかなぁと考えています。 しかし僕のCの知識は教科書のポインタおよび構造体まで しかなく、サウンドの再生や画像の描画に関しては全くです。 そこでみなさんにお聞きしたいのですが、VBプログラムの まま製作を続けていく方がいいでしょうか?それとも苦労して でもCに移植した方がいいでしょうか?
ゲームなら迷うことなし
719 :
デフォルトの名無しさん :2001/08/23(木) 07:59
HSPがあります(藁
721 :
デフォルトの名無しさん :2001/08/23(木) 12:36
ビットマップファイルのデータ構造がどうなっているのか知りたいのですが、 日本語でそういったことを解説しているサイトなどはないでしょうか VB特有の質問ではないのですが、VBで開発しているのでここで質問しました。
www.google.com/search?q=BMP+%8D%5C%91%A2
>>717 もう完成間近って事なら、とりあえずはVBで完成させてしまうのがヨイと思うぞ。
移植なら、それからでも遅くはあるまい。
今からC勉強してという案は、完成までモチベーションを維持するという意味で大変だ。
724 :
717 :2001/08/23(木) 13:33
レスありがとうございます。
>>718 さん
迷わずVBという解釈でよろしいのですよね。
>>719 さん
使用者がランタイムを用意(ダウンロード)するのは面倒では?と思ったので
Cへの移植を考えました。
>>720 さん
HSPのページをいくつか覗かせて頂きました。今度チャレンジしてみようと
思います。情報ありがとうございます。
>>723 さん
おっしゃる通り、完成してからの移植でも遅くないですよね。まずはVBで
完成まで頑張ろうと思います。
Cに移植しようと思ったのは上記の理由(719さんへのレス)と、この掲示板
でVBがあまり好まれていないように感じたからです。
718のいいたいことは多分違うぞ・・・
726 :
超びぎな :2001/08/23(木) 14:22
既出の質問かもしれませんが、見つけ切れませんでした……。 テキストボックスで、右クリックしてでるポップアップメニューの カスタマイズってできるんですか? 項目追加もしくは、全く新しいメニューの作成など……。 よろしくお願いします。
728 :
超びぎな :2001/08/23(木) 16:11
>>726 ありがとうございます。
でもこれじゃ、プルダウンメニューと排他になると思ったんですが……。
やってみます(^^;
729 :
超びぎな :2001/08/23(木) 16:11
>>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
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
736 :
734 :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
>>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。
>>738 寝てしました。
こんなド素人に付き合って下さって、ありがとうございます。
>>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を使っています。)
既出かとは思いますが・・・ VB6で、 よく使うActiveXをプロジェクト新規作成の時に 初めからコンポーネントパレットに載っているように 設定する方法はないのでしょうか?
743 :
:2001/08/25(土) 16:07
MD5でメッセージダイジェストをつくるアルゴリズムを教えてください
この下のプログラムで実行できないんですが、何処が悪いのかわかりません。 教えてください。 コマンド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
>>744 「If Answer = ybYes Then」を「If Answer = vbYes Then」に。
「Form1.Cartion = "組込み関数" 」を「Form1.Caption = "組込み関数"」に。
……どこが違ってるかはわかるよね?
>>747 「If Answer = ybYes Then」のYをV
「Form1.Cartion = "組込み関数" 」のRをP
って事ですよね?
やってみたんですが、出来ないっす(T0T)
>>747 コンパイルエラー:
プロシージャの宣言が、イベント又はプロシージャの定義と一致していません。
って出ます。
>>749 Answerはstring型じゃ、だめだろ
>>750 えっ、どう言う事ですか?
初心者なんで意味がわかりません
>>751 Dim Answer As Boolean
いちお、マジレスしとく。
>>750 え? 俺はコンパイルできっけど・・(汗
>>747 &
>>750 &
>>752 &
>>753 さん
すんません、コンパイルできました。
フォーム画面のコマンド1ボタンで変な事したのが原因みたいです(コピーやら何やら)
所でボタンを押して画面の切りかえってどうやるんですか?
本を読んでも書いて無いっす。(はじめての…)
レスお願いします。
もう1個フォームを作ってShowで呼ぶのじゃダメ?
>>755 Show?
どうやって使うの?
フォームは作ったけど・・・・
758 :
厨房635号 :2001/08/25(土) 23:13
>>758 ありがとうです。DLしてみてみました。
またやってみます。
760 :
デフォルトの名無しさん :01/08/26 12:17
再掲 VB6で、 よく使うActiveXをプロジェクト新規作成の時に 初めからコンポーネントパレットに載っているように 設定する方法はないのでしょうか? やっぱり無理ですか?
761 :
デフォルトの名無しさん :01/08/26 13:49
∧ ∧
>>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
766 :
765 :01/08/26 21:27 ID:z1F7TOUw
追加。 これだったら勝手に他のモジュールから値を変えることができなくなるよ。 ageてしまった。 鬱だ氏のう
767 :
764 :01/08/27 01:04 ID:z4FBIIXk
>765 どうも助かりました。 言われたとおり試してみます。 ありがとうございました。
768 :
デフォルトの名無しさん :01/08/27 10:34 ID:/ohAiagA
初心者です。 textboxに最後に表示(入力)した文字を、次に起動するときに表示させたいのです。 簡単にできるのでしょうか? 誰かご教授ください
769 :
760 :01/08/27 10:53 ID:3YCsgyGE
>>761 -763
レスありがとうございました。
VBではできないと言うことで了解いたしました。
770 :
717 :01/08/27 11:33 ID:BL6hXT0g
>>768 終了するときにtextboxの内容をファイルに保存して、起動時にそれを
読み込むっていうのでいいんじゃないでしょうか?ファイルの保存とか
読み込みについてはgoogle(
http://www.google.com )で調べてね。
全部教えちゃうと身につかないから。
>>760 C:\Program Files\Microsoft Visual Studio\VB98\Template\Projects
↑ココ、良く使うというコントロールなどを配置した.vbpファイルを置くというのはどうだ?
プロジェクトの新規作成ウインドウにそのvbpが表示されるが...
ダメ?
遅レスsage
772 :
760 :01/08/27 13:38 ID:3YCsgyGE
>>771 おお!
「プロジェクトタイプ名.vbp」で書き込んでおくことで
使い分けることができるのですね。
おかげさまで解決しました。
ありがとうございました。
VBでフォームに画像をタイル状に並べて表示するにはどうしたらいいんでしょうか? プログラムが起動したら画面一杯にタイル状に表示させたいのですが・・・
>>773 何のために各フォームが独立してるんだ?
必要なければ1枚フォームで最大化すれば?
776 :
デフォルトの名無しさん :01/08/28 20:55 ID:DIzzKKB2
あらかじめ小さな画像を用意しておいて、 プログラム開始時に解像度に関わらず自動的にフォーム一杯に並べるという 処理のやり方を知りたいのですが・・・
>>776 よくわからん。それがどうして複数のフォームである必要があるの?
778 :
デフォルトの名無しさん :01/08/28 21:57 ID:DIzzKKB2
うーん・・・自分でも何言ってんだかよくわからなくなってきた・・ つまりフォーム上に、 Pictureコントロールもしくは、imageコントロールを用いて タイル状に画像を並べたいのですが・・・・
>>778 じゃあフォームは1枚でいいんじゃん。
あとは適当にPictureの配列作って並べるだけ。
必要があればフォームを最大化。
>>779 はじめっからフォーム複数個とは言ってないじゃん(笑
781 :
ActiveMoviecontrolでエラー :01/08/28 22:38 ID:1hHYVmZ.
ActiveMoviecontrolをツールボックスに入れ、フォームに貼り付けることは出来るのですが、 コンパイルするとシステムエラーになります。 ”&H80004005(-2147467259)特定できないエラー”です。 何故なのでしょうか? 誰か教えて、、、、
783 :
激遅レス :01/08/29 00:51 ID:uBAwy..2
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以外なら問題ないと思われ。
791 :
789 :01/08/29 17:10 ID:5DdtzJDg
>>790 なるほど。ありがとうございます。
でもLearning〜〜以外って高いですね。
Learningも大概ですけど…。
793 :
デフォルトの名無しさん :01/08/29 20:01 ID:xH2KJ2oM
プログラミングには関係ない話ですが・・ VBのランタイムファイルって、 ディストリビューションウィザードで作ったCABファイルの形でないと、 配布してはいけないんでしょうか。 ランタイムファイルをシステムフォルダにコピーするがために、 わざわざ、インストールという方法を取るのが無駄に感じて仕方ありません。 ランタイムファイルって、他の方法で配布しちゃ、いけないんでしょうか・・。 マイクロソフトに聞くのが一番早いでしょうが・・・ なんかこう・・聞きづらい・・(汗
796 :
デフォルトの名無しさん :01/08/29 20:32 ID:ixxpOU.2
ランタイムを単体で配布してはいけない、と言う規約があった気がするが アプリケーションと一緒なら良いんじゃなかったっけ? ディストリビューションウィザード使わんで、ZIP圧縮したって問題無いと思う。 VECTORにあるランタイム集は、それを回避するために、セットアップ付きで配布してる。
797 :
793 :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 を使って 業務やった事ある人いる?
803 :
デフォルトの名無しさん :01/08/30 16:41 ID:nBzECaFA
ログ探したんですが、見つけられませんでした。 ADOデータコントロールを用いて、ストアドプロシージャーに接続する際、 パラメータを指定しろとメッセージが出ます。 ですが、そのやり方が判りません……。 よろしくお願いいたします。
804 :
デフォルトの名無しさん :01/08/30 17:14 ID:qz3dXp/I
質問です。 VBでExcelを操作しているとき、Excel側が出すエラーをトラップして、 Excelにはエラーを出すのをやめさせて、VB側がエラー文字列を受け取るにはどうするのでしょう?
>>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見ても出てこないし宣言の仕方が分かりません。 これは関数?ライブラリ?
>>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のバージョンアップを繰り返してるうちに ダウンロード中に「システム設定の変更」のダイアログが表示されるようになってしまったんですが、 これってどうして出るんでしょうか? 出さなくする方法ってあるのでしょうか?
>>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はすぐ出るのでしょうか?
>>816 LearningEditionでは何も出来ません。最低でもPro版でせう。
高いなと思ったら...Delphiにしましょう(死)
なお、OfficeのVBAよりは自由度が高い反面、面倒くさいと感じる面も多いですが
基本的な構文等は一緒なので、大きな混乱は無いと思います。
VB6のプロジェクトファイルをVB5へ戻したいのですがどうしたら出来るのでしょうか? 昔にvbpファイルを一カ所いじるだけで戻せるようなのを見た記憶があるんですが、 お願いします。
819 :
811 :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", "ここに何か入れるのかな?"
>821 まさにVBユーザーって質問だな
824 :
816 :01/09/04 09:06 ID:y38JFVbc
>>817 ありがとうございます。
Pro版を見てみようと思います。
>>821 OpenDatabaseして、エラーが無ければ成功メッセージ出力でええんじゃないの?
826 :
821 :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 死亡する順番
831 :
830 :01/09/04 14:16 ID:GqHiCo0A
しまった、生存する順番だった。
VBのInetコントロールを使ってFTPのファイル転送をする時に、プログレスバーを使って 「処理中」の処理をしたいのです。 プログレスバーの伸び方をなるべく正確にするために現在の転送速度を取得したいのですが、 どうやったらいいのでしょうか。
833 :
デフォルトの名無しさん :01/09/04 16:29 ID:vhNb1xH.
>>832 転送開始時に
st=Date()
として、GetChunk() 後に
受信済バイト数 / DateDiff("s",st,now)
すれば出ると思いますが。
834 :
833 :01/09/04 16:35 ID:vhNb1xH.
>>833 は Execute メソッドの場合ね。OpenURLの場合は解りません。
(たぶんムリ)
>>833 -834
ありがとうございます。
でも受信ではなくて送信のときを知りたいんです。
肝心のところが抜けてて申し訳ありません。
同じようにFTPコマンドかなんかで送り先のファイルサイズを取得して計算するって方法しか
ないんでしょうか。
836 :
デフォルトの名無しさん :01/09/04 16:48 ID:vhNb1xH.
837 :
デフォルトの名無しさん :01/09/04 16:54 ID:vhNb1xH.
>>835 そうなると、Winsockコントロールで作るしかないかな?
>>837 そうですか。分かりました。
ちょっと手におえそうに無いので今回はあきらめることにします。
回答ありがとうございました。
839 :
デフォルトの名無しさん :01/09/04 17:45 ID:rEyf5xws
質問があります。 コモンダイアログボックスの[印刷]で設定したにもかかわらず、 いざ印刷してみると、用紙方向などが変わらないままで印刷されます。 ダイアログボックスで指定した設定などは、そのまま反映されないのでしょうか? ちなみに、ソースは With CommonDialog1 .Flags = cdlPDPrintSetup .ShowPrinter End With Me.PrintForm こんな感じです。 なにとぞ、ご教授よろしくおねがいします。
840 :
837 :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の方が〜〜の理由で早い(うろ覚え)との事。 僕は全然詳しくないのでその理由がわからないのだけど 分かる人います?それともこれは間違ってるの?
843 :
VBプロを買ってはや半月・・でも初心者。 :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が一番早いとどこかで見たよ。
理由は忘れた。
847 :
842 :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の方が速いのかな?
>>848 32bit CPU でも浮動小数点レジスタは 32bit とは限らないと思いま
すけど。
850 :
デフォルトの名無しさん :01/09/05 16:50 ID:7pb2r5rQ
RDO2.0を使っています。 現在データベースに接続されているかどうかを調べるには どうすれば良いでしょうか?
851 :
848 :01/09/05 16:53 ID:uXUpa2p6
>>849 Longでも浮動小数点演算を行えるのですか?
852 :
848 :01/09/05 17:04 ID:uXUpa2p6
失礼、意味を取り違えました。そのようですね。 CPUのアーキテクチャに詳しいわけではないので粗漏はお許しを。
853 :
デフォルトの名無しさん :01/09/05 19:47 ID:Ltby3ikU
うー、あー・・・素朴な疑問いいでしょうか。 変数名とかに日本語使ってる人います? あれって外道なんですか。問題でもあるんですか。 サンプルコードとか見ると、使ってる人が滅多に居ない・・
・・・・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
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 変数はともかく関数が日本語ってスゲーね。
ひまわりでも使えっつーの。
867 :
mstr名無し :01/09/07 18:59
でも、可読性は高いよ。 複雑な業務を表現したロジックだと用語を無理やり英語訳するよりいいんじゃ ないの?
868 :
デフォルトの名無しさん :01/09/07 19:11
英語に不自由な人にとっては日本語の方が可読性が高いわな。 でもねー、タイプミスが増えそうだよな。 売上げ、売り上げ、売上 全部違う識別子でしょ。
>売上げ、売り上げ、売上 これがそれぞれ変数定義されていたら、 それだけで十分に鬱になれるな…
870 :
デフォルトの名無しさん :01/09/07 20:11
質問させて下さい。 PictureBox を重ねてスクロール出来る様にしたありきたりな プログラムを作っているのですが、内側の PictureBox の サイズをデスクトップのサイズよりも大きくした所、 AutoRedraw の機能がうまく働きません。(一部が欠けてしまう。) Windows 98 SE でこの現象が発生します。 Windows 2000 では発生しません。 この辺の事、ご存知の方、いらっしゃいませんか?
872 :
mstr名無し :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
878 :
デフォルトの名無しさん :01/09/10 00:27
本当にありがとうございます!!! これを参考に自分の環境用に編集してみます! 芸能界に詳しいんですね…(笑)
……いや、芸能ニュースを見ながらサンプルを作ってたら ああなってしまったのよ(^^;
880 :
デフォルトの名無しさん :01/09/10 01:33
>>879 サンプルでは自分のマシンのデータベースを見に行っているのですが
他サーバーマシンのデータベースを見に行くようにするには
どうすれば良いのですか???
ADOを使うと思うのですが、どのようにすれば良いのか分からないのでよろしくお願いします。
881 :
デフォルトの名無しさん :01/09/10 11:58
VBに関して AccessでいうとモーグのようなBBSサイトはどこでしょうか?
? 死体置き場?
レスがないってことはこういうのはムリってこと?
>>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回目の数字覚えといて、それと同じ値が出たらもう一度乱数取得。
...でダメなのか?
>>884 スタートボタンを押した時に、出てくるメニュー見たいな感じにしたいのですが(
徐々に出てくるって感じで。。)
私はVBで「ファイルを結合」したり,「自動的に計算」させたり, 「15分間隔で計測したデータを1時間ごとのデータにしたり」など そういう用途で使いたいと思うのですが,あまりよい本がありません. 純粋に「計算機」として利用したいのですが,もしよい考えをお持ちの 方がいらっしゃれば教えていただけませんでしょうか.よろしくお願い いたします.
889 :
デフォルトの名無しさん :01/09/11 14:38
VB+oo4oで、トランザクションレベルで読み取りの一貫性を 持たせるにはどうしたらよいでしょうか? begintransでいいのでしょうか? よろしくお願いします。
>>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上からダウンロード可能?) よろしくお願いします。
>>895 自分で作れと…(^^;
いろいろwebで調べてたのですが、ドライバは、アプリケーションを購入しないと
付いてこないらしい事が分かってきました。
ADOとODBCでの接続を考えていましたが、ドライバのインストール等の作業の必要のない
VB6.0Pro(SP5)のデフォルトの状態で、AS/400と接続する方法はないのでしょうか?
よろしくお願いします。
>>896 AS/400側にサーバーソフトを作って
socketで通信すればドライバなんかいらないよー
VBでやりたい事は、別のアプリケーションから今作っているアプリケーションに ソケットを送り(取引先コード)、送られた取引先コードをキーに データベース(AS/400)の内容を検索して、該当レコードを表示させたいのです。
>>894 検索だけなら 897 氏のやりかたが手っ取り早いのでは?
>>898 意味がわかりません。
AS/400側のソフトは作れないってこと?
AS/400側には作れません。そこはデータベースサーバーで 検索とかは、VBでアプリを作ってそれで行いたいって事です。
>>901 では、なんらかのミドルウェアが必要でしょうね。
なんかDelphiならAS/400とネイティブ接続できるって
聞いたような気がするけど。
この開発のために、VB買っちゃいましたから… ちなみにミドルウェアとおっしゃるのは ・DB2コネクト ・ClientAccess ・PCOMM 4.3 等が必要だという事でしょうか。で、だいたいいくらぐらいですか? フリーでAS/400と接続出来るものは無いのですか?
AS/400のことはよく知らない。 ただ、サーバー側の開発ができないのは いろいろやれることが制限されそうだね。
905 :
デフォルトの名無しさん :01/09/12 23:26
www7.big.or.jp/~pinball/discus/as400/ この辺で聞いてみたら?
884さん答えて〜
907 :
デフォルトの名無しさん :01/09/13 00:51
>>874 884じゃ無いが。
いんちき臭いけどTimerコントロール使って
FormのHeightとWidthプロパティーを少しずつ増やしていけばいいんじゃない?
途中でタイマーを止めるようにしておかんといつまでも拡大しつづけるがな。
そんなことしてまでやるほどのもんではないが。
VBはいんちきソフトしか作れない
>>874 へぼいPC使ったり、スワップしまくりの状況だと何もしなくても
タラタラとアニメーションしてるように見える。
今使ってる会社のPCはメモリ64MBでWin2Kを使ってVGAがPCIのミレ2だから
IEでも何でもアニメーション状に表示される。HDDアクセスしまくり。(涙
>>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
新スレには変な冷やかしが来ないことを祈りましょう
920 :
デフォルトの名無しさん :01/09/18 09:59
VBから、アクセスのDBに対してOLE連携を行なっているんだけど、 アクセスを起動した後にVBの画面を触ると、メッセージ画面が出てきますが、 その画面を出さないようにするにはどうしたらいいの??
誰か教えて! VB2とEXCEL97で開発しているのですがVBからEXCELの列幅を変更したいと 思い、COLUMN.WIDTHを使っているのですが引数に何を指定したらいいのか 解かりません。どなたか教えてくれませんか?
>>921 VB2では、エクセルは扱えなかった気がするが記憶違いか?
>>921 VB2、Windows95にも対応してたかどうか・・
925 :
デフォルトの名無しさん :01/09/19 21:29
vbで作ったアプリをOLEオブジェクトとして登録したいんだけど・・
さげ
VB5で、一度読み込んだActiveXコントロールを、 プログラム内で解除→再読込する方法ってありますか?
>>920 VBがシングルスレッドだから普通にACCESSのプロシージャを呼ぶとそうなる。
ACCESS側の処理が完了するまでVB側のフォームを.Enabled = Falseにするか、
何とかして非同期コールバックを実現するしかない。
(ACCESS2000ならタイマが使えたかな?)
すいませんだれかVB増強作戦がまとまったパック(バリューパックだったか?) もってませんか?さっきHDDのパーティションきりなおしたら、まちがえてけして しまった! 本家は消滅。 昔ミラーサイトがあったようなけどGoogleで検索してもみつからず・・・
あ、Part3があったのか・・・すみません
Part3どこ?
934 :
名無しさん :01/11/08 14:24
何でこれがあがってるんだ?
textbox で指定行にカーソルを移動させる方法はありますか。 (たとえばボタン押したら2行目にジャンプさせる等) APIにはなさそうなんですが。
しまった part3あったの 失礼しました。
EM_LINEINDEXは「行番号→行頭の位置」 Tipsサイトに腐るほどあるけどね
941 :
VBのMSComm :02/02/07 09:51
VBで39文字の文字列をMSCcommで送信するのですが、 MSCommに渡す直前にlenBで実際の長さを調べると倍の78バイト、 (これはUNIcodeの為だと思うのですが) この文字列を実際に相手側が受信すると39バイトで受信されているようなのですが どうしてでしょうか?Winsockを使用しても同じ現象です。 結果OKではあるのですが、理由が知りたいのでわかる人、教えて!
今まで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で処理しなければならない。
サブクラス化あたりを調べれば手がかりが見つかると思う。
>>920 GetExitCodeProcess と EnableWindow の2つのAPI関数を使えばできるはずです。
(Shellで起動した別プロセスが終了するまで、呼び出し元のアプリを使用不可にする)
946 :
デフォルトの名無しさん :02/04/08 20:44
(*゚_゚).oO(CMLって何のことなんだろう?)
誤爆。スマソ
なんで旧スレがあがってるんだ?
>>942 >>944 の言うとおり、サブクラス化して受け取るのが一般的な方法だ。ほかには、
WM_SETTEXTをテキストボックスに投げてやって、Changeイベントで取得する、
ってのもある。
どちらにせよ、メッセージはプロセス間を越えて投げるには制限がある。文字列を
投げるときは、WM_SETTEXTやWM_COPYDATAを使うようにしたほうがいいな
>>945 それでもいいんだが、正しいやり方としてはIMessageFilterかなんかを処理する
らしい。詳しくは知らん
>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
>>950 だから、文字列を送るのは駄目だ、って言ってるだろ?一部のメッセージを除いて、
プロセス間でユーザーデータを送るのは保障されてない。つまり、送ったポインタが
有効である保証はない
で、何がしたいのかわからないが、ポインタから文字列への変換は、RtlMoveMemory()
を使えばいいぞ
RtlMoveMemory() ってどうやって使ったらよいのですか? いろいろ調べているのですが どうも使い方がわかりません。 わがままですみません
>>952 プロセス間通信がしたいの?だったら他の方法を使えば?
プロセス間通信は現在考えてません. メッセージの部分の動作をいうと 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で)自分の変数に
コピーすればいい。
>>954 旧スレにこだわる理由はなんだ?
>>955 が言うとおり、単にコピーすればいいだけだ。気をつけなくちゃいけないのは、
きちんとバッファを確保することと、VBからAPIで文字列を使うときはByValにする
ことぐらいだな。
957 :
Please :02/04/15 10:04
VB6.0のピクチャーコントロールとイメージコントロールでpng画像ファイルを扱えるようにする方法を教えてくださいませ。 またVB.NETではpngを標準でサポートしているのでしょうか?
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でどう表現すればいいですか?
この位置にある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逝きそうなスレがあるぞ!
教えてください。 VB.NETははやりますか?
C#ははやります。終了
んじゃぁ、VB.NETのデザインパターン解説ページを 教えてください。
975 :
デフォルトの名無しさん :02/07/07 22:51
教えてあげるから2万えん用意してください。
977 :
デフォルトの名無しさん :02/07/07 23:06
>>941 VBで文字変数を使う限り、1バイト文字も2バイトで格納される。
出力の際は、シフトJISに変換され、1バイトになる。
本は知ってる。だがサイトはないだろ?プププノプー
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
/ ・ / ';, / '; / '; / ;______/ ; / \ 阪神ワショーイ / / \ \ /´ ( ) |____| ( ) | | ///// ( | :| ) ///// | | ( ) :| | ( ( | | ) ( | | ) ) | | ( ) '; / ( ( / \ ) ( \/ ) ) ../ ヽ ........:::::::
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。