こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

プログラムについて

今このようなプログラムを作っているのですが、わからなくて困っています。
Private Sub Command1_Click()
Command1.Enabled = False 'タイマー無効
Text1.Text = GetSource()
Command1.Enabled = True 'タイマー有効
Msg = "アドレスを入力して下さい"
Title = "URL入力"
Ret = InputBox(Msg, Title, "")
End Sub

Function GetSource() As String
Dim strBuf As String
Dim strURL As String
strURL = "http://www.microsoft.com/japan/ms.htm"
strBuf = Inet1.OpenURL(strURL) 'ファイル内容を取得
GetSource = strBuf
End Function

InputBoxにアドレスを書いてOKを押すと別ウィンドウでソースが表示されるプログラムを作りたいんです。お願いします。

投稿日時 - 2001-12-04 14:10:35

QNo.179542

困ってます

質問者が選んだベストアンサー

別フォームを開くならShowメソッド

取り合えずこの程度ですか?

Private Sub Command1_Click()
Dim strUrl As String
Dim strBuf As String

Command1.Enabled = False
strUrl = InputBox("URLを入力して下さい.")
Command1.Enabled = True

strBuf = Inet1.OpenURL(strUrl)
Form2.Show
Form2.Text1.Text = strBuf

End Sub

構成はForm1がURLを聞く画面、Form2にテキストボックスだけでソース表示画面とします。

ヘルプを見ればわかるので各関数やメソッドについては説明を省略します。

投稿日時 - 2001-12-04 18:08:33

お礼

ありがとうございました。あのー、それで次のプログラムを書いて動かしてみたんですが、キャンセルを押すとURLが不正です。って出ました。キャンセルか何も入力しなかった場合ウィンドウを閉じたいんですがどうすればいいでしょう。お願いします。
Private Sub Command1_Click()

Dim strUrl As String
Dim strBuf As String

Command1.Enabled = False
strUrl = InputBox("URLを入力して下さい.")
Command1.Enabled = True

strBuf = Inet1.OpenURL(strUrl)
Form2.Show
Form2.Text1.Text = strBuf
End Sub

Function Getsource() As String
Dim strBuf As String
Dim strUrl As String

strBuf = Inet1.OpenURL(strUrl) 'ファイル内容を取得
Getsource = strBuf
End Function

投稿日時 - 2001-12-05 19:22:15

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

こんにちは。itohhといいます。

yanmaaさんの補足について、回答がなされていないようなので代わりにアドバイス
します。

>キャンセルか何も入力しなかった場合ウィンドウを閉じたい
このソースのままで行うのでしたら、
>strUrl = InputBox("URLを入力して下さい.")
の後で
If(Len(strUrl) = 0) Then
Exit Function
End If

としてください。

MSDNライブラリーでInputBox関数を見て使い方を憶えましょう。

投稿日時 - 2001-12-06 00:44:45

お礼

あ、ありがとうございました。アドバイスしていただいたプログラムでウィンドウを閉じることができました。ありがとうございました。

投稿日時 - 2001-12-08 15:44:31

ANo.3

簡単な方法としては、

【別ウィンドウの起こし方】
1.フォームモジュールを新しく追加します。(Form2とします)
2.元のフォーム(Form1とします)からForm2.Showとすれば起こせます。

【ソースの表示のさせ方】
1.Form2にテキストボックス(Text2)でもラベル(Label2)でも、
 文字を表示できるコントロールを貼り付けて起きます。
2.Form2.Text2.Text = "あいうえお"
 とすればForm1から制御できます。
 ⇒あんまりよい方法ではありませんが…。

※Form2でPublicな関数を作りForm1からコールされると、
 その関数内で自分自身(Form2)を表示する方がいいでしょう。
 そしてForm2が所持しているText2にその関数が書き込む方向で。

投稿日時 - 2001-12-05 10:29:57

お礼

ありがとうございます。新しくフォームを追加してやってみました。丁寧な説明ありがとうございました。

投稿日時 - 2001-12-06 18:15:04

ANo.1

こちらとしては何がわからないのかが分かりません。

別ウィンドウの起こし方でしょうか?
ソース表示のさせ方でしょうか?
それともフローでしょうか?

投稿日時 - 2001-12-04 15:18:36

お礼

すいません、知りたいのは別ウィンドウの起こし方とソースの表示のさせ方です。テキストボックスではなく別ウィンドウにソースを表示させるものなんですけど(^^;

投稿日時 - 2001-12-04 17:05:12

あなたにオススメの質問