• ベストアンサー

プログラムについて

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

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

  • ベストアンサー
  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.2

別フォームを開くなら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にテキストボックスだけでソース表示画面とします。 ヘルプを見ればわかるので各関数やメソッドについては説明を省略します。

mos21
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • itohh
  • ベストアンサー率45% (210/459)
回答No.4

こんにちは。itohhといいます。 yanmaaさんの補足について、回答がなされていないようなので代わりにアドバイス します。 >キャンセルか何も入力しなかった場合ウィンドウを閉じたい このソースのままで行うのでしたら、 >strUrl = InputBox("URLを入力して下さい.") の後で If(Len(strUrl) = 0) Then Exit Function End If としてください。 MSDNライブラリーでInputBox関数を見て使い方を憶えましょう。

mos21
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。
回答No.3

簡単な方法としては、 【別ウィンドウの起こし方】 1.フォームモジュールを新しく追加します。(Form2とします) 2.元のフォーム(Form1とします)からForm2.Showとすれば起こせます。 【ソースの表示のさせ方】 1.Form2にテキストボックス(Text2)でもラベル(Label2)でも、  文字を表示できるコントロールを貼り付けて起きます。 2.Form2.Text2.Text = "あいうえお"  とすればForm1から制御できます。  ⇒あんまりよい方法ではありませんが…。 ※Form2でPublicな関数を作りForm1からコールされると、  その関数内で自分自身(Form2)を表示する方がいいでしょう。  そしてForm2が所持しているText2にその関数が書き込む方向で。

mos21
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

こちらとしては何がわからないのかが分かりません。 別ウィンドウの起こし方でしょうか? ソース表示のさせ方でしょうか? それともフローでしょうか?

mos21
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 保存の仕方

    こんにちは、次のようなアドレスを入力するとそのソースを表示するプログラムを作ったのですがこれで表示されるソースに名前を付けて保存することってできますか?お願いします。 Private Sub Command1_Click() Dim strUrl As String Dim strBuf As String Command1.Enabled = False strUrl = InputBox("URLを入力して下さい.") If (Len(strUrl) = 0) Then Exit Sub End If 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

  • フレーム分割のソース表示プログラムについて

    以前次のようなプログラムを作ったのですが、これはURLを入力するとブラウザのソースを表示するものなので、フレームによって分割されたページのソースはすべて表示させることができません。このプログラムに何か追加して分割されていてもソースが表示できるようにしたいのですが。新たにコマンドを作ってやるしかないのでしょうか?何かアドバイスお願いします。 Private Sub Command1_Click() Dim strUrl As String Dim strBuf As String Command1.Enabled = False strUrl = InputBox("URLを入力して下さい.") If (Len(strUrl) = 0) Then Exit Sub End If 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 Dim strUrl2 As String strBuf = Inet1.OpenURL(strUrl) 'ファイル内容を取得 strUrl2 = InStr(strBuf, "frame src=") If strUrl2 > 0 Then strUrl3 = Mid(strBuf, strUrl2, 100) strUrl4 = Mid(strUrl3, 1, l) Getsource = strBuf End Function

  • ソース内の文字検索について

    下にHPのソースを表示させるプログラムがあります。 これで表示されたソースの中からある文字を検索したいのですが、それってできますか?どうしたらいいんでしょうか、お願いします。 Private Sub Command1_Click() Command1.Enabled = False Text1.Text = GetSource() Command1.Enabled = True 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  String型・Variant

    VBAです。 InputBox  String型・Variant型がエラーにならない理由がわかりません。 Sub 日付型() Dim 日 As Date 日 = InputBox("値をいれてください") End Sub Sub 数値型() Dim i As Long i = InputBox("値をいれてください") End Sub Sub 通貨型() Dim 円 As Currency 円 = InputBox("値をいれてください") End Sub Sub String型() Dim a As String a = InputBox("値をいれてください") End Sub Sub Variant型() Dim v As Variant v = InputBox("値をいれてください") End Sub String型・Variant型以外は、 「実行時エラー '13'; 型が一致しません。」になります。 String型・Variant型はならない理由を教えてください。ご回答よろしくお願いします。

  • プログラムの意味を教えてください

    ここで繰り返しについてのプログラムについて質問させていただいたものです。 いろんな方にプログラムについて教えていただきありがとうございました。コピーして貼り付けしてプログラムは完成したのですが、内容もわからないままとかいやなので下記に貼り付けしてあるプログラムを簡単にでもかまいませんので説明してほしいのです。内容を理解したうえで先に進みたいので是非わかる方よろしくお願いします。 Private Sub Command1_Click()   Label1.Caption = NumKanji(Text1.Text) End Sub Private Function NumKanji(ByVal Arg As String) As String   Dim Idx As Long   For Idx = 1& To 10&     Arg = Replace$(Arg, _       Mid$("1234567890", Idx, 1&), _       Mid$("一二三四五六七八九〇", Idx, 1&) _     )   Next   NumKanji = Arg End Function

  • VB6でテレビ番組表HTMLの保存

    VB6の以下のプログラムで下記URLのテレビ番組表を保存しようとしたのですが、うまくできませんでした。ソースを開いてみるとEUC-JPとなっていまして、これが原因かと思うのですが、保存するにはどうしたら良いでしょうか? よろしくお願いします。 ■URL http://tv.nikkansports.com/tv.php?site=007&mode=06&category=g&area=025&template=time&sdate=20081226&lhour=24&shour=5&arg=05 ■プログラム Private Sub Command1_Click() Dim strURL As String ' 取得URL Dim strFileName As String ' ファイル名 ' URLとファイル名を代入する strURL = Text1.Text strFileName = Text2.Text ' 指定されたURLのドキュメントをファイルに出力する Open strFileName For Output As #1 Print #1, Inet1.OpenURL(strURL) Close #1 MsgBox strURL & "を" & strFileName & "に出力しました" End Sub

  • InputBoxについて

    Sub test1() Dim tmp As String tmp = Application.InputBox("testです") End Sub Sub test2() Dim tmp As String tmp = InputBox("testです") End Sub この二つのコードを比較すると、 test1の方は、ダイアログボックスのタイトルに「入力」が表示され、 四角いインプットボックスが表示されます。 test2の方は、私がいつも使っているインプットボックスなのですが、 「tmp =」と 「InputBox」の間に何かコードが省略されてるのでしょうか? Application.を付ける事によって、形が変わってしまうのでしょうか? また、オブジェクトブラウザを見ると 【1】Function InputBox(Prompt As String, [Title], [Default], [Left], [T Excel.Application のメンバ 【2】Function InputBox(Prompt, [Title], [Default], [XPos], [YPos], [Help VBA.Interaction のメンバ がありましたが、 test1、test2それぞれどちらの事なのでしょうか?

  • オブジェクト??

    またまた困っております inputboxで入力した日付を検索して複数選択しようとしたのですが unionの使い方がよくわかりません(・・;) どこが間違っているのかもしくは何が足りないのか教えてください<m(__)m> どうかよろしくお願いします! Option Explicit Sub グラフ() Const SH_NAME As String = "VBA" Dim art As String Dim i Dim ws As Worksheet Dim endrow As Long Dim msg As String Dim writerow As Integer Dim grahu As Chart Dim target As Range Set ws = ThisWorkbook.Worksheets(SH_NAME) writerow = 2 art = InputBox("日付を入力してください") With ws endrow = .Cells(Rows.Count, 2).End(xlUp).Row For i = 2 To endrow If art = .Range("A" & i) Then Set target = Union(target, "D" & i) Else If InStr(msg, .Range("A" & i)) = 0 Then msg = msg & .Range("A" & i) & vbCrLf End If End If Next i target.Select End With If msg <> "" Then MsgBox msg End If MsgBox "グラフベースを作成しました" End Sub Set target = Union(target, "D" & i) ↑ここでエラーが起きて 「オブジェクトが必要です」と言われました どうすればよいのでしょうか?

  • VB6でスロットを作成したい

    VB6歴2ヶ月の初心者です。 フォーム上に ラベルコントロールが三つ コマンドボタンが二つ タイマーコントロールが一つ あります。 タイマーのプロパティは Enabled False Interval 10 です。 スロットを作成したいのですが、 ボタン1を一回押すごとに左からスロットが回り、 最後にボタン2で動きを止めたいのです。 一応自分でも書いてみたのですが、ここで行き詰まりました。 ウワァァァァァァヽ(`Д´)ノァァァァァァン! Private Sub Command1_Click() Timer1.Enabled = True End Sub Private Sub Command2_Click() Timer1.Enabled = False End Sub Private Sub Timer1_Timer() Dim slot As Integer slot = Int(Rnd(1) * 9 + 1) Label1.Caption = slot End Sub 思い通りに動かすにはどんなコードにしたらいいですか?

  • キャンセルボタンをクリックしたかどうかを取得したい

    InputBoxでもしキャンセルボタンが押されたら・・・ってどうやればいいですか? Sub あああ() Dim a As String a = InputBox("文字を入れてください。") MsgBox a End Sub をした時に、キャンセルボタンをクリックしたかどうかを取得したいのですが、どうすればいいんですか? a = InputBox("文字を入れてください。") の次に Cancel = True をいれても vbCancel = True をいれてもエラーになります。 Sub あああ() Dim a As String a = InputBox("文字を入れてください。") If a = "" Then MsgBox "キャンセルが押されました" End If End Sub これだとOKでもキャンセルでもメッセージが表示されます。

このQ&Aのポイント
  • 水彩紙のマステを剥がす際のダメージを最小限にするコツを教えてください。
  • 水彩紙に貼ったマステを剥がす方法やポイントについて教えてください。
  • 水彩紙に貼ったマステを剥がす時に気をつけるべきコツや工夫について教えてください。
回答を見る

専門家に質問してみよう