VBAでYahooやGoogleの検索を自動でやることはできないでしょうか?

キーワードのリストが1000個ほどあり、ネットで検索して上位に出ているサイトから文章をコピペしてまとめたいのですが、すべて手作業でやると途方もない作業量になってしまいます。
なので次のような作業をVBAやプログラミングで自動でやることはできないでしょうか?

エクセルなどに入力されているキーワードで検索をする。

検索エンジンの上位100サイト程度の中からキーワードと近接する文章をコピーする。

コピーした文章をエクセルなどにまとめる。

これを全キーワードについて自動でやってくれるようなプログラミングは可能でしょうか?
あるいはすでにこういったソフトがあれば有料無料問わず教えてください。

キーワードに関する情報を集めることができればいいので必ずしも情報元は検索エンジンでなくても構いません。
例えばRSSの更新情報の中からキーワードに関する文章を集めてくるようなソフトでもかまいません。

よろしくおねがいします。

※大学の研究のために使う予定です。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

Web BrowserコントロールでHTMLソースを取り出してパース(解析)


するよりは多少楽な方法を提案します。
(1)検索リクエストはYahooやGoogleの公開APIを使います。
-Yahooの場合
http://search.yahooapis.jp/WebSearchService/V1/w …
にパラメーターを付けてHTTP GETリクエストすると検索結果が
XML形式で返されます。( http://developer.yahoo.co.jp/webapi/search/webse … )
-Googleの場合
http://ajax.googleapis.com/ajax/services/search/ …
にパラメーターを付けてHTTP GETリクエストすると検索結果が
JSON形式で返されます。( http://code.google.com/intl/ja/apis/ajaxsearch/d … )
(2)HTTP GET のリクエストはMSXML COMオブジェクトを使って
GETできます。
Dim ObjReq As MSXML2.DOMDocument
Set ObjReq = CreateObject("MSXML2.DOMDocument")
とか
Dim ObjReq As MSXML2.XMLHTTP
Set ObjReq = CreateObject("MSXML2.XMLHTTP")
でオブジェクトを作って、
ObjReq.async = True
if ObjXml.Load("http://hoge.hoge/hoge?fuga=xxx&....") = true
then ....
で結果を取得する。
(3)結果のパース(解析)はXMLならMSXMLのメソッドやプロパティが
そのままつかえるので多少は楽、JSON(テキストデータ)の場合
VBAでそのまま使えないので面倒だが、VBAでJSONをパースする
ページを発見( http://d.hatena.ne.jp/so_blue/20090326/1238084885 )

といったプログラムを作ればよいと思う。

注意点として、結果は文字コードUTF-8で返ってくる(問題なさそう?)
リクエストはURLエンコードする必要がある。YahooやGoogleのAPIを使うためのキーを事前に取得する必要がる(ローカルだと何でもOKみたい?)

あんまり詳しく書けません。後はご自身で調べてみてください
面白そうなので、私も作ってみよう。
    • good
    • 0

そのようなソフトは知りませんし、ここで作り方を聞くには規模が大きすぎるので断片的に回答します。



可能か不可能か、という問いに対しては「可能」です。

検索エンジンの多くは、GETメソッドで処理されているので、検索用のURLクエリが解ればキーワード一覧を元に検索することはそれほど難しくはありません。
例えば、Googleの場合は
http://www.google.co.jp/search?hl=ja&num=100&q=[ここにキーワード]
というURLにアクセスすればキーワードで検索した結果が100件得られます。(ただし、キーワードはURLエンコードする必要があります)
ここからURLを抽出し、リンク先のページをダウンロードしてファイルとして保存。(一旦保存してから文章を探したほうが処理を細分化できます。)

とりあえずここまで出来るかやってみてください。これだけでもかなりのコード量になるはずです。
検索サイトへのアクセスは、Microsoft Web Browserコントロールでできます。
アクセスすればコントロールからHTMLソースを取り出すことが出来ます。
URLの抽出はHTMLソースから<A>タグを見つけることで出来ます。

ここまでで具体的なコーディング等が解らなければまた質問してください。
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

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

QPHPを使って検索エンジンにひっかかる商品の一覧

商品の一覧をするようなページを作りたいと思っています。
(ショッピングサイトの買い物かごのないバージョンのような)
また、HTMLが全く分からない人がフォームから商品データをいれたらページに反映されるようなものを作りたいんです。

そのため、(MySQLを使って)データベースにあらかじめ商品データを入力し、そこからPHPで要求された商品データをひっぱってくるような仕組みを作ろうと思っています。
しかし、PHPでデータベースからデータを引っ張ってこようとすると、動的なサイトのため検索エンジンにひっかかりませんよね?
静的にみせるにはどうしたらよいのでしょうか?

PHPとMySQL以外でもいいので何か良い方法があったら教えてください。

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

Aベストアンサー

今は動的ページでもそこそこ引っかかる。

どうしても静的ページにしたいならHTML出力型のシステムにすればいい。
(MTみたいに)

QVBAでキーワード検索

EXCEL(テキスト可)内に書かれた大量のキーワードを
1ワードずつ自動でGoogle検索し、
1ページ目の検索結果のリンクを1つ1つクリックしていき、
検索結果ページ内に、目的の情報があれば取得し、
EXCEL(テキスト可)に出力するといった操作を
VBAで自動で行いたいと思っています。

EXCEL2010かEXCEL2000に対応していればOKです。
検索するところまでは分かりましたが、検索結果(1ページ目のみ)
のリンクをクリックして、ページ内の目的の情報を取得する
といったところをどう記述すればよいかが分かりません。

検索するところまではこことほぼ同じように書きました。
http://vbaie.blog111.fc2.com/?mode=m&no=6

お分かりになる方、アドバイスのほど、よろしくお願いします。

Aベストアンサー

ちょうど正月休みでJavaScript - DOMのお勉強をしていましたので、試しにやってみました。
当方の環境(Win7Home64bit、IE10、xl2010-32bit)の環境ではお示しのコードは動きませんでした。
ソース(ページの見た目の割にとんでもなくごちゃごちゃしたソースで、自作のWebのTreeをワークシートに書き出すVBAコードを使って解析しました)を見ると、検索窓のIDや、「Google 検索」のタグも変わっている様でした。Googleさんの気分で時々変わるとすると、自力で作成できる様にお勉強していただくしかないと思います。下記で使用したidやclassnameも明日には変わっているかもしれません。
検索結果の最初の1ページ(10件分)のリンク-これも訳の分からない他のリンクが山ほど存在していて、正規表現による取得ではNGと思います-を取得して、5秒ごとにリンク先のページを表示するというところまでやってみました。ここまでで、自分の勉強に戻ります。ご参考まで。

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

'Googleで「VBA」と検索する
Sub GoogleSearch()
Dim objIE As Object
Dim myElements As Object
Dim i As Long
Dim urls() As String

'IE起動
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
'Googleに接続
objIE.navigate "http://www.google.co.jp"
'IEを待機
Call IEWait(objIE)
'検索窓に「VBA」と入力
objIE.document.getElementById("gbqfq").Value = "VBA"
'1秒停止
Sleep 1000
'検索ボタンを押す
objIE.document.getElementById("gbqfb").Click
'IEを待機
Call IEWait(objIE)
Sleep 1000
Set myElements = objIE.document.getElementsByClassName("altcts")
ReDim urls(0 To myElements.Length - 1)
For i = 0 To UBound(urls)
urls(i) = myElements(i).NextSibling.FirstChild.href
Next i
'取得したリンク先を表示する
For i = 0 To UBound(urls)
objIE.navigate urls(i)
Sleep 5000
Next i

'IE終了
' objIE.Quit
' Set objIE = Nothing
End Sub

'IEを待機する関数
Function IEWait(ByRef objIE As Object)
Do While objIE.Busy = True Or objIE.readyState <> 4
DoEvents
Loop
End Function

ちょうど正月休みでJavaScript - DOMのお勉強をしていましたので、試しにやってみました。
当方の環境(Win7Home64bit、IE10、xl2010-32bit)の環境ではお示しのコードは動きませんでした。
ソース(ページの見た目の割にとんでもなくごちゃごちゃしたソースで、自作のWebのTreeをワークシートに書き出すVBAコードを使って解析しました)を見ると、検索窓のIDや、「Google 検索」のタグも変わっている様でした。Googleさんの気分で時々変わるとすると、自力で作成できる様にお勉強していただくしかないと思います...続きを読む

Q検索エンジン(CGI等)を探しています!

新しくサイトを作るのですが、
その際に検索エンジンを設置する予定です。

その検索エンジンは
1)キーワード
2)カテゴリー
3)チェックボックス
4)新着一覧
5)更新一覧
の機能が付いているものがいいんです…

どういうものかというと、
http://www.yumemaboroshi.net/search/
のようなものです。

無料ではやはり難しいでしょうか?
有料でも金額によっては検討と思っています。

いろいろと探してみましたが、
なかなかいい検索エンジンが見つからなかったので
もし知ってみえる方がいたら教えてください><

Aベストアンサー

Yomi-Search http://yomi.pekori.to/yomi-search.shtmlを利用しています。
デフォルトではチェックボックスは付いていませんが、改造してつけることが出来ます。

最近はその改造サイトがなかなか見つかりませんが。。。

私はCC-ROOMさんのところを参考にチェックボックスを付けております。

Qシートにあるキーワードを別のシートで検索し、該当する行(複数行)を新ブックに貼り付けたい

今週から勉強を始めたくらいのマクロ初心者なので言っている事が分かりにくかったらすみません。
エクセルVBAでマクロを組んでいるのですが、
Sheet1にあるキーワード(B3~)をSheet2の指定の列で検索し、
そのキーワードが含まれている行を新しいブックにコピーするものを作成したいです。
どうやっても検索とシートのコピーのところがうまくいかず、Sheet2の行数が2万ぐらいあるのでどの方法で検索をしたらいいのか困っています。
とりあえずブック内にシートを1つ作って、そこにヒットした行を貼り付け新しいブックにコピーすればいいのかと思いやっているのですが、動きません…
以下に現時点でのソースを記載するのでどこがまずいのか助言宜しくお願いします。


Sub kensaku()

Dim key As String
Dim target As String
Dim x As Integer
Dim y As Long
Dim z As Long

x = 3
y = 10
z = 1

Set sh = Worksheets.Add
sh.Name = "kekka"

key = Worksheets("Sheet1").Range("B" & x).Value
Do Until Worksheets("Sheet1").Range("B" & x) = ""
target = Worksheets("Sheet2").Range("F" & y).Value
Do Until Worksheets("Sheet2").Range("F" & y) = ""
If target = key Then
Worksheets("Sheet2").Rows(y).Select
Selection.Copy
Sheets("kekka").Rows(z).Activate
Activesheet.Paste
z = z + 1
End If
y = y + 1
Loop
x = x + 1
Loop

Worksheets("kekka").Copy

Application.DisplayAlerts = False
Worksheets("kekka").Delete
Application.DisplayAlerts = True

End Sub

今週から勉強を始めたくらいのマクロ初心者なので言っている事が分かりにくかったらすみません。
エクセルVBAでマクロを組んでいるのですが、
Sheet1にあるキーワード(B3~)をSheet2の指定の列で検索し、
そのキーワードが含まれている行を新しいブックにコピーするものを作成したいです。
どうやっても検索とシートのコピーのところがうまくいかず、Sheet2の行数が2万ぐらいあるのでどの方法で検索をしたらいいのか困っています。
とりあえずブック内にシートを1つ作って、そこにヒットした行を貼り付け新...続きを読む

Aベストアンサー

>そのキーワードが含まれている行を新しいブックにコピーするものを作成したいです。

オートフィルタでキーワードの文字を絞り込んでから、表の範囲をコピーして別のシートに貼り付けを行う方が簡単で早いですよ。


フィルタで絞り込んでコピーし、別シートに貼り付けと言う作業を記録マクロにして、思い通りに動くように編集してみてはいかがでしょうか?

QIEの左にある検索エンジンを他のブラウザにも取り入れたい・・

IEブラウザを立ち上げて「検索」をクリックすると左にでてくるMSNの検索エンジン、とても便利です。しかし他のタブブラウザなどにはこの機能がない気がします。ただの検索バーはあるのですがあれは一覧がでてきませんのでいちいち検索ページに戻らなくてはいけません。
このエンジンを他のブラウザに取り込むことは不可能なのでしょうか・・MSNじゃなくてもいいです。
とにかく左に検索したら一覧がでてくる方法はないのでしょうか・・

Aベストアンサー

こんばんは。

Firefox の拡張機能で『 Seach Station ( 検索ステーション )』
というものがあります。
実際に入れて使ってみましたが、IEのMSNサーチバーに似ているんじゃないでしょうか。

Search Station (検索ステーション)
http://members.lycos.co.uk/toolbarpalette/searchstation/index.html

Q【プログラミング】ショートカットキーの設定について

KeyPress イベントプロシージャの設定で

Private Sub Button1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles Button1.KeyPress

If e.KeyChar(Keys.F) Then

End If
End Sub


この中にボタン1の命令をさせたいとき、どのように書けばいいんでしょうか?

Visual Basic 2010です
コードを教えてください、お願いします

Aベストアンサー

Button1 上で F キー を押した場合に、Button1 のクリックイベント(Button1 をクリック)を
発生させたい。と言う事でしょうか?

それなら、下記を試して見て下さい。
Private Sub Button1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles Button1.KeyPress
  '大文字と小文字が区別されますので、どちらの(f or F)キーにも対応
  If e.KeyChar = Microsoft.VisualBasic.ChrW(70) Or e.KeyChar = Microsoft.VisualBasic.ChrW(102) Then
    '貴方の仕様のとうりにするなら
    Button1.PerformClick()  'Button1 をクリック
    '本来なら上記の替りにここにカウントアップのコードを書く。
    'count += 1
    'Label1.Text = count.ToString
  End If
End Sub

'質問内容は、誰にでも理解できるように5W1H を入れて書くなり、箇条書きにやりたい順に
詳しく書くようにして頂かないと他人には伝わりませんよ。

Button1 上で F キー を押した場合に、Button1 のクリックイベント(Button1 をクリック)を
発生させたい。と言う事でしょうか?

それなら、下記を試して見て下さい。
Private Sub Button1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles Button1.KeyPress
  '大文字と小文字が区別されますので、どちらの(f or F)キーにも対応
  If e.KeyChar = Microsoft.VisualBasic.ChrW(70) Or e.KeyChar = Microsoft.VisualBasic.ChrW(102) Then
    '貴方の仕様のとうりにする...続きを読む

Q独自の検索エンジンを作るには!?

難しいと思いますが独自の検索エンジンを作成してみたいと思っています。

検索エンジンといっても自分のWebサイト内を検索するものではなくGoogleやYahoo!、A9のように全世界のWebを対象にした検索を行う検索エンジンのことです。

検索エンジンに関しては知識がないのですがDBと相性がいいPHPで作成できるのではないのかなと思っています。

そこで質問です。

PHPやPerlなどで検索エンジンを作成することは可能でしょうか?
個人が運営している検索エンジンサイトなどはあるでしょうか?
もし検索エンジンを運営することになった場合はどの位のスペックがあるサーバーが必要になってくるでしょうか?

です。どうぞよろしくお願いいたします。

Aベストアンサー

検索エンジンを個人でphpやperlで作ることは理論上は可能かと思いますが、現実的には厳しいかと思います。

その理由はページの取得にあります。検索エンジンは、大きく分けて2つの部分に分かれます。

・1つは、webページをまわってデータを取ってくる部分。

・もう1つは、検索(要求)された単語やフレーズに応じて、取ってきたwebページのデータから適切なページを選択、表示する部分。

で、本来の検索エンジンでは2つ目(ランキングの評価)が重要なのですが、個人でやる場合には1つ目が非常にハードルが高いです。

例えば、1つのページを取得するのに平均1秒かかるとすると、10億ページを取得するのに約31年もかかります(現在、世界中には数十億ページ以上あるようです)。この部分の高速化は、高速な回線を世界的に多数用意する必要があります。検索対象が日本だけだとしても、億を下らないページがあるでしょうから(最近blog流行ってページ数激増みたいですし)、個人レベルで取得するのはかなり難しいと思います(全ページの巡回だけで数年~数十年かかってしまうでしょう)。

この対策(?)としては、自分では取得せず、大手の取得結果を利用させてもらう考え方があります。
直接的な答えではありませんけど、例えばメタサーチエンジンのceek( http://www.ceek.jp/ )では、検索後をいろんなサーチエンジンに投げて、その結果を取りまとめて表示します。
このように大手の結果を使うのも含めて検討されてはいかがでしょうか?
# それでもとても大変だとは思いますが。

検索エンジンを個人でphpやperlで作ることは理論上は可能かと思いますが、現実的には厳しいかと思います。

その理由はページの取得にあります。検索エンジンは、大きく分けて2つの部分に分かれます。

・1つは、webページをまわってデータを取ってくる部分。

・もう1つは、検索(要求)された単語やフレーズに応じて、取ってきたwebページのデータから適切なページを選択、表示する部分。

で、本来の検索エンジンでは2つ目(ランキングの評価)が重要なのですが、個人でやる場合には1つ目が非常に...続きを読む

QVB.NETのUsingキーワードの使い方

毎々参考にさせていただいております。
早速ですが質問させていただきます。

あるフォームでボタンが押された時に、下記の3つの処理でログを出力したい場合なのですが。
 a) ボタンが押されたイベント処理
 b) ボタンが押されたイベント処理の中で呼ばれるTestFunction1の中
 c) ボタンが押されたイベント処理の中で呼ばれるTestFunction2の中
複数のメソッドに参照されるということで、StreamWriterのオブジェクトはインスタンスフィールドに宣言しています。

Public Class Test
  'StreamWriter型のフィールド宣言
  Private _sw As System.IO.StreamWriter

  'ボタンクリックイベント処理
  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Me._sw = New System.IO.StreamWriter(filePath)
    Using Me._sw
      Me._sw.WriteLine("Button1はクリックされました")
      Me.TestFunction1()
      Me.TestFunction2()
    End Using
  End Sub

  Private Sub TestFunction1()
    'TODO:ここに処理
    If Me._sw IsNot Nothing Then
      Me._sw.WriteLine("TestFunction1は処理されました。")
    End If
  End Sub

  Private Sub TestFunction2()
    'TODO:ここに処理
    If Me._sw IsNot Nothing Then
      Me._sw.WriteLine("TestFunction2は処理されました。")
    End If
  End Sub
End Class

目的とする処理は実現されているのですが、このようなUsingの使い方は問題ないのでしょうか?
どなたかに御回答いただければうれしく思います。よろしくお願いいたします。
環境は下記のような感じです。
 環境IDE:Visual Studio 2005
 言語  :Visual Basic

毎々参考にさせていただいております。
早速ですが質問させていただきます。

あるフォームでボタンが押された時に、下記の3つの処理でログを出力したい場合なのですが。
 a) ボタンが押されたイベント処理
 b) ボタンが押されたイベント処理の中で呼ばれるTestFunction1の中
 c) ボタンが押されたイベント処理の中で呼ばれるTestFunction2の中
複数のメソッドに参照されるということで、StreamWriterのオブジェクトはインスタンスフィールドに宣言しています。

Public Class Test
  'StreamWrite...続きを読む

Aベストアンサー

 StreamWriterやGraphicsなども、Application終了後にガベージコレクターに引っ掛かり、最終的には .Net がメモリを解放するはずなのですが、これらはリソースの消費が激しいので、Application内で何回も作成されることを防ぐために、まめに Usingブロックか、Disposeメソッドでメモリを掃除しろ、というのがMSの推奨です。

 _swは、使い切ってから End Using に達するので、問題ないように思えます。ただ蛇足ですが、_swがNothingでないかどうかだけで、所定の機能が果たせた、という判断は若干疑問です(大きなお世話ですね)。

Qyahooは検索エンジン?

yahooはポータルサイトですかそれとも
検索エンジンなのでしょうか?
検索エンジンは何を使っているの?の問に
Yahoo
と答えてました。
ポータルサイトは?
もちろん、Yahooです。
しかしながら、検索エンジンとポータルサイトはイコールではないですよね。
gooやGoogleは検索エンジン?
yahooは昔gooやGoogleと提携していましたよね。
今Yahooはどこの検索エンジンを使っているのですか?
それとも、Yahoo独自のもの?
支離滅裂な質問ですが、きっと、ポータルサイトと検索エンジンの意味がはっきりわかっていないのだと思います。
教えてください。よろしくお願いします。

Aベストアンサー

>gooやGoogleは検索エンジン?

gooの検索エンジンはGoogleですね。
Googleはもちろん自身の検索エンジンを使っています。

>今Yahooはどこの検索エンジンを使っているのですか?

自社のエンジンです。

ポータルサイトと検索エンジンとを混同しているみたいですが、Googleも一つのポータルサイトだと思いますよ。ポータルサイトというのは、インターネットの入り口という意味ですから。
http://e-words.jp/w/E3839DE383BCE382BFE383ABE382B5E382A4E38388.html

Q「New」キーワードを使ったFormの表示について

よろしくお願いします。
VB2005で、Windowsアプリケーションを開発しています。
Formを開く時の「New」キーワードについてお伺いしたく、投稿しました。
手許の参考書に、Form1からForm2を開くときは、
Dim Form2 As New Form2
Form2.ShowDiaolog()  とか
Dim NewForm As New Form2
NewForm.Show()
と記載されていたんですが、「Dim Form2 As New Form2」や「Dim NewForm As New Form2」という部分は必ず必要なのでしょうか?
Form2.ShowDiaolog()だけでも開きますが、これだけだと何か支障があるのでしょうか?
Form2を「New Form2」とする意味がわかりません。Newを使って、Form2のインスタンスを作成しておく、と参考書にあったのですが、Form2にボタンや、テキストボックスを配置している時点でインスタンスはできてるのでは?と思っていました。
何かルールみたいなものなのでしょうか?

よろしくお願いします。
VB2005で、Windowsアプリケーションを開発しています。
Formを開く時の「New」キーワードについてお伺いしたく、投稿しました。
手許の参考書に、Form1からForm2を開くときは、
Dim Form2 As New Form2
Form2.ShowDiaolog()  とか
Dim NewForm As New Form2
NewForm.Show()
と記載されていたんですが、「Dim Form2 As New Form2」や「Dim NewForm As New Form2」という部分は必ず必要なのでしょうか?
Form2.ShowDiaolog()だけでも開きますが、これだけだと何か支障があるので...続きを読む

Aベストアンサー

例として簡単なクラスを作ってみます。

Public Class TestClass

  Public Sub ShowMessage()

    MsgBox("Testです。")

  End Sub

End Class

一つのメソッドだけを持つクラスです。

このクラスのメソッドを呼び出す場合

TestClass.ShowMessage()

とは書けません。(コンパイルもできません)

TestClassという型を定義してあるに過ぎないからです。
この型の実体(インスタンス)を作る必要があります。
印鑑がクラスで、印影がインスタンスみたいな感じです。

Dim hensuu As TestClass    '変数を用意
hensuu = New TestClass()   'インスタンス化して参照する
hensuu.ShowMessage()     'メソッドを実行

という感じにhensuuという変数を宣言して、Newしたインスタンスを参照させてやる必要があります。

Formもクラスなので考え方としては同じで、Form2.ShowDialog()というように、型をインスタンスのように使ってしまうのは何か変です。
ところが、実はFormの場合だけは例外的に型でもあり、(暗黙の)インスタンスでもあるという約束があります。
そのため、Newしないで使用した場合は、どこからでもアクセスできる自動で実体化される既定のインスタンスを使うという意味になります。

ちなみに暗黙のインスタンス化は、VB6にはあって、VB.NETの2002と2003ではなくなり、2005で復活しました。
ちゃんと理解しようとすると余計にわかりづらいと思うのですが、こうできた方がお手軽ということなんでしょうかね。「暗黙のインスタンス」や、「既定のインスタンス」で検索すると、詳しい話が見つかると思います。

それと、デザイナでボタンとかを置いたからインスタンスがあるのではなくて、デザイナはクラスの一部分のコードを自動生成してくれているだけですよ。
プロジェクトのフォルダの中に、Form2.Designer.vbというファイルがあるはずなので、メモ帳などで開いてみてください。

例として簡単なクラスを作ってみます。

Public Class TestClass

  Public Sub ShowMessage()

    MsgBox("Testです。")

  End Sub

End Class

一つのメソッドだけを持つクラスです。

このクラスのメソッドを呼び出す場合

TestClass.ShowMessage()

とは書けません。(コンパイルもできません)

TestClassという型を定義してあるに過ぎないからです。
この型の実体(インスタンス)を作る必要があります。
印鑑がクラスで、印影がインスタンスみたいな感じです。

Dim hensuu ...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング