今このようなプログラムを作っているのですが、わからなくて困っています。
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を押すと別ウィンドウでソースが表示されるプログラムを作りたいんです。お願いします。

A 回答 (4件)

別フォームを開くなら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にテキストボックスだけでソース表示画面とします。

ヘルプを見ればわかるので各関数やメソッドについては説明を省略します。
    • good
    • 0
この回答へのお礼

ありがとうございました。あのー、それで次のプログラムを書いて動かしてみたんですが、キャンセルを押すと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

こんにちは。

itohhといいます。

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

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

としてください。

MSDNライブラリーでInputBox関数を見て使い方を憶えましょう。
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/12/08 15:44

簡単な方法としては、



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

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

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

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

お礼日時:2001/12/06 18:15

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



別ウィンドウの起こし方でしょうか?
ソース表示のさせ方でしょうか?
それともフローでしょうか?
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/12/04 17:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QMaskEdBox.Enable= False だと、BackColor が効きません

MaskEdBox の Enable を False にして、BackColor を設定すると、
BackColor が、有効になりませんでした。
解決方法を教えて下さい。

Aベストアンサー

VBのバージョンは何でしょうか?

VB6のSP3で単純に組んだプログラムでは再現しませんでした。
他の原因も考えられますのでフォームの様子や周辺のソースなど補足してください。

QMicroSoft BasicのDim文とVisualBasicのDim文の違い

私が20年前にMicroSoft Basicを使っていたときは、DIM文はDIMENSIONの略で配列型変数の宣言に使っていました。

最近VisualBasicの勉強を始めたのですが、変数の宣言はすべてDim文になっており、昔のMS BasicのDim文と意味合いが変わっているのに驚いています。

ここで質問させてください。
・なぜ配列を意味するDimension文が変数の宣言なのか?
・どのバージョンのBasicからDim文の意味が変わったのか?

私が使用していたのはNEC N-Basic,N-88Basic,N-98Basicです。

Aベストアンサー

VISUAL BASIC のDimは ディメンジョンの略です。
私の経験ではVB2.0時代からありました。

配列0を考えた場合変数とおなじであるからだとおもいます

QDim x As Integer = 0

いつもお世話になっております。

只今、本に記載してあるソースコードを手入力しています。
標記のように入力したら、『コンパイルエラー 修正候補:ステートメントの最後』というエラーが出ました。

(1)このエラーは無視してもよいのでしょうか?
(2)そもそも、変数の宣言文の後ろに=0をつけている意味がわかりません。当方VB初心者です。

よろしくお願いいたします。

Aベストアンサー

この点は(変数の宣言と初期化は)言語による、と考えるべきです。
この質問は何の質問か。
VB系統らしいことは判るが
VB以外のBASIC
VB6
VBA
VB.NET系統
のどれか質問に書くべき。質問者は経験が無くて、視野がそこまで行かないのかも知れないが。
ーーー
VBAでは(多分VBでも同じ。テスト環境がないので)
Sub test01()
Dim x As Integer
x = 0
MsgBox x
End Sub
はOK
ーー
Sub test01()
Dim x As Integer =0
MsgBox x
はDim x As Integer =0
と入力した段階でエラー。
http://www.bunsugi.ed.jp/vba4graduate/vba_hensuusyokika.htm
ーーー
定数のConstであればこういう書き方はOK
Sub test01()
Const x As Integer = 0
MsgBox x
End Sub
ーーー
VB.NETでは、OK
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Dim x As Integer = 10
MsgBox(x)
End Sub
ーー
Javaでは可能であるようです
http://msugai.fc2web.com/java/var2.html
ーーーーー
>ろに=0をつけている意味がわかりません
宣言と同時に値を与える=初期化する

この点は(変数の宣言と初期化は)言語による、と考えるべきです。
この質問は何の質問か。
VB系統らしいことは判るが
VB以外のBASIC
VB6
VBA
VB.NET系統
のどれか質問に書くべき。質問者は経験が無くて、視野がそこまで行かないのかも知れないが。
ーーー
VBAでは(多分VBでも同じ。テスト環境がないので)
Sub test01()
Dim x As Integer
x = 0
MsgBox x
End Sub
はOK
ーー
Sub test01()
Dim x As Integer =0
MsgBox x
はDim x As Integer =0
と入力した段階でエラー。
http://www.bunsug...続きを読む

QVB.NETのDropDownListをReadOnlyにする方法またはEnable=Falseで字を黒くする方法

VB.NETで作成したWebページのDropDownListを変更させたくないのですが、Enable=Falseにすると文字の色が灰色になってしまって大変見にくいので、TextコントロールのReadOnlyのように、変更不可にする方法はあるのでしょうか?
おしえてください~

Aベストアンサー

> ”入力できないようにする”というのは、Enable=Falseと同じで、”現在選択されているものを他のに変更できなくする”という意味で書きました。

なるほどなるほど。

> Enable=Falseだと色が灰色になってしまいますので、どうやって
> ・Enable=Falseで黒くするのか?
> ・ReadOnlyに換わるものがあるのか?
> ということが聞きたかったのです。

となると CSS とかでも無理っぽいので、
あらかじめ ReadOnly なテキストボックスを非表示にしておき、DropDownList にロックを掛けたいタイミングで
・DropDownList を非表示にする。
・DropDownList で選択されている値を TextBox にセットする。
・TextBox を表示する
とすれば可能です。

これらの動作をクライアント側で行いたいのであれば JavaScript で記述すればいいです。
下記が参考になるかもしれません。
http://chaichan.web.infoseek.co.jp/qanda/qa6878.htm?06-08-06-13-39

> ”入力できないようにする”というのは、Enable=Falseと同じで、”現在選択されているものを他のに変更できなくする”という意味で書きました。

なるほどなるほど。

> Enable=Falseだと色が灰色になってしまいますので、どうやって
> ・Enable=Falseで黒くするのか?
> ・ReadOnlyに換わるものがあるのか?
> ということが聞きたかったのです。

となると CSS とかでも無理っぽいので、
あらかじめ ReadOnly なテキストボックスを非表示にしておき、DropDownList にロックを掛けたいタイミングで
・Dro...続きを読む

QEnabled=Falseのテキストボックスの文字の色

VB6です。
テキストボックスで、Enabled=Falseに設定されているものについては、基本的にグレーアウトで表示されると思いますが、そのままの設定で色だけを変更する方法はあるのでしょうか。

なければ、ないでいいのですが、もしあれば便利だと思いましたので、ご存知でしたら教えてください。

なお、テキストボックスではなく、ラベルを使いなさいというのはできません。

処理がめんどくさいので、すべてをコントロール配列にして一度ですべての処理をさせたいからです。

Aベストアンサー

お気に召すかわかりませんが、このような方法があります。

1.Enable=Falseを設定した後に
 「BackColor = &H80000005(通常のテキストボックスの背景色)」
を設定する。

※文字はグレーのままです。

2.「Enable=False」ではなく、「Locked = True」の設定をする。

※入力はできませんが、「右クリック→貼り付け」はできてしまいます。

いかがでしょうか?


このカテゴリの人気Q&Aランキング

おすすめ情報