▼ VB初心者質問スレ Part 10 ▼

このエントリーをはてなブックマークに追加
VBでホームページの内容を取得したいのですが、下のソースを実行す
ると、エラーがでます。誰かデバッグしてください。

Option Explicit

Private Sub Command1_Click()

Dim b() As Byte
Dim strURL As String
Dim strFilename As String

strURL = "http://www.aa.alpha-net.ne.jp/gfababa/"
strFilename = "C:\AAA\a.txt"

' 処理中マウスカーソル
Screen.MousePointer = vbHourglass

' 操作が途中の場合キャンセルする
Inet1.Cancel

' プロトコルを HTTP に設定
Inet1.Protocol = icHTTP

' 対象のURLを指定する
Inet1.URL = strURL

' バイナリ配列としてURLを取得する
b() = Inet1.OpenURL(, icByteArray)

' 取得したデータをファイルに書き出す
Open strFilename For Binary Access Write As #1
Put #1, , b()
Close #1

' マウスカーソルを通常に戻す
Screen.MousePointer = vbDefault

' 処理完了メッセージを表示する
MsgBox strURL & " を " & strFilename & " に保存しました。"

End Sub
>>929
index.html
>>930
いや、なんか変数が宣言されてないとかなんとか・・・
>>931
文法エラーごときで来ないでくれるか・・・。
>>932
じゃ、どうやってInetを宣言するか教えてくれ。
inetコントロールを張り付けるにきまってる
>>927
"任意のフォーム名".Form_Click と書いているけど、
任意のフォーム名を持つフォームが複数ある場合があるのを知ってる?

あと、イベントプロシージャを直接呼ぶのはやめとけ。
イベントプロシージャ内をPublic関数にして、それを呼べ。
できればPublic関数にするだけじゃなく、インタフェースを持たせるとベスト。

それとMeの使い方を調べよう。
小汚く行くなら、
すべてのフォームのClickイベントのイベントプロシージャをPublicにして、
その標準モジュールに渡す引数をMeにする。
937デフォルトの名無しさん:02/06/18 00:35
VBで逆ポーランド技法を使いたいんだけど
実現方法を教えてけれ。サンプルソースを
書いてくれるとうれしいよ〜
938デフォルトの名無しさん:02/06/18 00:47
>>937
勉強になるから、自分でやれ!
939デフォルトの名無しさん:02/06/18 00:54
そんなこと言わずに教えてよ〜、いけず〜
940デフォルトの名無しさん:02/06/18 09:30
DirectX8.1のSDKにIM、RMコントロールが入っていないのですが、
7.0aSDK落としてくれば、Direct3D8からでも使えますか?
941 :02/06/18 10:09
>>939
教えてやらんこともないから,なぜ逆ポーランド記述が必要なんだ?
何に使うんだ?ということを書け。クレクレ君は嫌われるぞ。
ただし,宿題だとか論文に使うとかがばれんようにな。
942デフォルトの名無しさん:02/06/18 10:30
逆ポーランド記述って、昔の電卓みたいに
演算子を数字の後につけるやつ?

電卓プログラム作るにはこっちのほうが実は楽なんじゃないかと
思うけど・・・
943ミニグラマー:02/06/18 11:59
単発で質問スレッド書いたらえらく叩かれてしまいました。
ですので、ここに書かせてもらいます。

エクセルVBAで保守を行って保存しようとすると、
「&H8000FFFF(-214748113):システムエラー。致命的なエラー」と130回くらい
エラーメッセージがでます。
色んな方向からパソコンを叩いてはみたのですが、いっこうに直りません。
ちなみにヘルプファイルはないので、エラーコードだされてもって
感じです。
一応、上書き保存はできているしプログラムは動きます。

お分かりになる方、是非教えて下さい。
今夜もミニグラマーさんの夢で今、目が覚めたよ。汗だくだよ。
恥ずかしいけど中二のくせにオネショしちゃったみたい…
でも、オシッコじゃないみたいなんだよね…
パンツがゴワゴワ、ヌルヌルしている感じなんだ…
何でだろう。漏れ、ひょっとして病気かな?

一度オシッコしたら気持ち悪いのでパンツを履き替えて、また寝ます。
明日も早朝練習があるのでしっかり睡眠を取らないと朝起きれないです。
>943
130回も数えたのはすごいと思うが、
パソコンを叩くのはやめなさい(w
あと、なんでヘルプファイルないの?
>>945
ピーコだから。なんてね(w
>>943
分かったぞ! そいつは致命的なエラーだ!
つまり助かりません。

------------- 終了 ---------------
948デフォルトの名無しさん:02/06/18 12:43
>>943
130回ぐらいたたいてみてはどうでしょうか?
>>943
ハンマーで思いっきり叩くと出なくなるよ。なんにも。
943
パソコン130回叩く前に他で再現するかどうか確認汁。
それらイタチ害と思われ。
951 :02/06/18 13:11
>>943
叩くだけじゃ駄目だ!窓から投げ捨てろ!
952 :02/06/18 13:12
>>943
ちゃんと先祖供養はしていますか?
953デフォルトの名無しさん:02/06/18 13:25
>>944
pants1.reflesh
954デフォルトの名無しさん:02/06/18 13:26
>>953
pant1.refreshだった、、、
ここまではできました。レスの差分取得をするにはどうすればいいでしょうか?

Private Sub Winsock1_Connect()

If getMode = 0 Then
Winsock1.SendData "GET /tech/subject.txt HTTP/1.0" & vbCrLf
End If
If getMode = 1 Then
Winsock1.SendData "GET /tech/dat/" & strDatName & " HTTP/1.0" & vbCrLf
End If

Winsock1.SendData "Host: pc.2ch.net" & vbCrLf
Winsock1.SendData "User-Agent: Monazilla/1.00 (test/1.0)" & vbCrLf
Winsock1.SendData "Accept: */*" & vbCrLf
Winsock1.SendData "Accept-Language: ja" & vbCrLf
Winsock1.SendData vbCrLf

End Sub
956デフォルトの名無しさん:02/06/18 13:57
Set objPants = Nothing
新スレの話題でないね。
ってな訳で、960番ゲッターの方は新スレおながいします。
>>956
俺のはAs Newで宣言されてるから、次のが自動装着されるのだ!ワハハハハ
959デフォルトの名無しさん:02/06/18 14:02
hWnd は何かわかったんだけど、
hIMC ってなんですか?
960デフォルトの名無しさん:02/06/18 14:12
msgboxのダイアログが表示されたとき、
IMEが利用不可(右下で、ツールバーが消えるか、禁止マークがかかる。)
となりますが、これはどうやるんですか?

単にIMEモードをOn, Off する方法はわかったんですが、
これが出来ません。
>>960
次スレよろ
962デフォルトの名無しさん:02/06/18 14:45
VBで Declare して使用するDLLは作成できないのでしょうか?
>962
無理。VC使え。
964962:02/06/18 14:54
>>963 了解・・・ VCで頑張ります
966デフォルトの名無しさん:02/07/11 02:57
1000トリガセーン モウスグダネ
早く1000までいtt毛
968デフォルトの名無しさん:02/07/11 06:12
おはようございます
いい天気ですね。
台風や嵐はすきなんです。
VB始めると友人にいったら(パソコン詳しい人C#にしろといいます
ネットが瞳孔といい、
インターネットソフトにいいですが、
あまり興味はありません。
VBはいろいろとあるらしいので、
なにかあるならおしえてください
>>968
どこを縦に読めと?
971デフォルトの名無しさん:02/07/13 11:33
はじめまして、VBを始めて半年ほどです。
Accessのデータを日付の条件で抽出するときのsql文について分からないことがありますので、
どなたかおわかりでしたらご教授願います。
(VBは6.0、Accsessは2000、ActiveXdataObject2.1で作っています)

dim cnct as new adodb.connection
dim rs as new adodb.recordset



dim sql as string
sql = ""
sql = sql & "selest sir_tokui" '(仕入れMの得意先名)
sql = sql & "from sir " '(仕入れM)
sql = sql & "where sir_date >= " '(仕入れMの仕入れ日)
sql = sql & DTPsiireStart.value '(画面で指定される日付開始)
sql = sql & "and sir_date <= " '(仕入れMの仕入れ日)
sql = sql & DTPsiireEnd.value '(画面で指定される日付終了)

Open rs, sql, cnct



画面で指定された値が02/07/01の場合、
(DTPpickerのプロパティでformatはYY/MM/DDです。)

これ(sql)をインミディエイトウィンドウで見ると
select sir_tokui from sir where sir_date >= 2002/07/01 and
sir_date <= 2002/07/01

となっています。
エラー等は出ないのですが、該当データが0軒(BOFとEOFがtrue)で
返って来ます。

データは存在します。

どのようにしたらきちんと抽出できるのでしょうか?
またデータ0軒になる理由は何なのでしょうか?
過去ログもみてみましたが分かりませんでした。
どなたか、よろしくお願いします。
972デフォルトの名無しさん:02/07/13 11:35
すみません。
長すぎました・・。
でも、どなたか回答お願いします。
>>973
って逝っても、もう終わりかけてるね
975即レス ◆POP.SOKU :02/07/13 17:29
>>971
違うかもしれんが
×2002/07/01

○#2002/07/01#
にしてみれ。
976791:02/07/14 23:18
回答ありがとうございます。
でもDTPpickerのvalueはdate型なので、date型に変換しなくても良いのかと、思ったのですが・・。
977初心:02/07/15 00:01
すいません。SQLの話になるんですが、文字列の中にシングルコーテーションを含む
検索はシングルコーテーション2こ並べてクリアできますよね。でも%_を検索
したいときってどうすればいいですか。