none
サブやファンクションの作り方 RRS feed

  • 質問

  • VB2005ではサブやファンクションを作るときにはタイプして作るのでしょうか。

    VB6ではサブ名やファンクション名だけをタイプし、その種類をラジオボタンで指定するだけで

    ソースが宣言のところだけはできあがりましたが、VB2005ではどのようにするのでしょうか。

    メニューにそのようなものが見つからないので、今までタイプしていました。

    2008年2月12日 7:25

回答

  • 以下の機能はご存知でしょうか?

    慣れるとこちらの方が使いやすいんじゃないかと私は思います。
    # これらは外池さんの書かれたコードスニペット(既定)の機能になります。

     

    Visual Studio 2005 では、
    "Sub" と入力してタブキーを押すと次のひな形が作成されます。

    作成されるスケルトン

    Sub MySub()

     

    End Sub

     

    また、"Function" と入力してタブキーを押すと次のひな形が作成されます。

    作成されるスケルトン

    Function MyFunc() As Integer

     

        Return 0
    End Function

     

    同様に "Property" などもできます。

     

    Visual Studio 2008 の場合はさらに便利になっていて、
    "su" まで入力するとインテリセンスの一覧に "Sub" が表示されるため、
    "su" + タブキー2回でひな形の追加ができます。
    同様に "fu" で "Function"、"pro" で "Property" のスニペットが追加できます。

    2008年2月12日 12:07
  • 外池さんの書かれたスニペットを試してみましたか?

    コードの書かれていない行を右クリック→「スニペットの挿入」→「共通コードパターン」→「プロパティとプロシージャ」

    で「プライベートであるSubの定義」「パブリックであるSubの定義」などが挿入できます。

     

    #個人的にはスニペットを使った方がめんどうなので使ってません

    2008年2月12日 12:09

すべての返信

  • 外池です。

     

    VB2005では、スニペットという機能があって、ずっと高度なレベルで「やりたいことを指定する」と、ひな型が書き込まれるようになっています。例えば「音を鳴らしたい」とか、「クリップボードから文字列データを得たい」とか。で、自分なりによく使う独自のひな型があれば、スニペットに登録することもできるようです。

     

    VB6時代のようにSubやFunctionの宣言部を作ってくれる機能は、何かでチラっと見たような覚えがあるのですが、ちょっと思い出せません。ごめんなさい。(まったく独自の、作業用のSubやFunctionは、たぶん、タイプしないとだめなんじゃないか、と思います。すいません、これは、アヤフヤ。)

     

    ただ・・・、Form上にコントロールを配置して、Form自身のイベント、配置したコントロールのイベント(正確には、イベントが関連づけられたハンドラー)は、ソースのエディタの上部に表示されているリストボックスを使って呼び出す(最初の何も書いていない状態なら、宣言部とEndを書き込んでくれる)ことはできます。これが、仰っている機能に一番近いように思います。

     

    さらに、一行自分でタイプすると、その結果「あとは、こう書くのがお約束ですよ」というところは、一気にズラズラっと勝手に宣言部が出てきたりする局面も多いです。(Propertyの宣言、定義済みのインターフェイスをImplementする場合) 入力の途中で、次の入力候補になりえる選択肢がリストで現れたり(定義済みの列挙型を使う場合とか)。

     

    かなり便利ですよ。(たまに、意図したとおり入力できなくてイライラすることもありますが)

     

     

     

     

     

     

    2008年2月12日 8:31
  • VB136 さん、こんにちは。

     

    ファンクションと書いてあるのでわかりにくいですが、おそらく 「イベント プロシージャ」 のことを仰っているのではないかと思います。

     

    VB6 と同じように、VB2005 でもコード上部の ComboBox でイベント プロシージャのスケルトン コードを生成することができます。
    Form デザイナからならば、プロパティ ウィンドウのイベント (いわゆる雷ボタン) から作成できます。

     

    前者はコードの上部にある左の ComboBox から (Form イベント) を選んで、右の ComboBox からイベントを選択です。

    文言が少し違うだけで VB6 とまったく同じですね。

    2008年2月12日 10:42
  •  

    じゃんぬねっとさんこんばんわ。

     

    雷ボタンはコントロールと関連したイベントプロシージャを作る時でしょうか。

     

    私が聴きたかったのは、イベントプロシージャというより、単なる独自のサブプロシージャかファンクションプロシージャです。

     

    プロシージャ名とPrivateかPublicかだけを選べばVB6の頃はできたように思いますが、どうしたらよいかわからなくて...

     

    いわれるようにFormのイベントを選択し、宣言のコンボボックスを開きましたが、例えばNEWというものがあり

    クリックするとPublic NEW()と出ました。

     

    これをPrivateにするかPublicにすするか、名前もこちらが指定することはできないのでしょうか。

    これぐらいならタイプしてもいいかとは思いますが、VB6の時のような使い勝手ができるのならば

    その方法が知りたいです。

    2008年2月12日 10:58
  • 外池さんこんばんわ。

     

    >まったく独自の、作業用のSubやFunctionは、たぶん、タイプしないとだめなんじゃないか、と思います。

     

    が~~ん。そうなんですか。VB6の時はできたのに....

    それの代わりにもっと便利なようになっているものと信じていたのですが。

     

    ん~~~。 VB2008ではできるのだろうか.....

     

    2008年2月12日 11:01
  • 以下の機能はご存知でしょうか?

    慣れるとこちらの方が使いやすいんじゃないかと私は思います。
    # これらは外池さんの書かれたコードスニペット(既定)の機能になります。

     

    Visual Studio 2005 では、
    "Sub" と入力してタブキーを押すと次のひな形が作成されます。

    作成されるスケルトン

    Sub MySub()

     

    End Sub

     

    また、"Function" と入力してタブキーを押すと次のひな形が作成されます。

    作成されるスケルトン

    Function MyFunc() As Integer

     

        Return 0
    End Function

     

    同様に "Property" などもできます。

     

    Visual Studio 2008 の場合はさらに便利になっていて、
    "su" まで入力するとインテリセンスの一覧に "Sub" が表示されるため、
    "su" + タブキー2回でひな形の追加ができます。
    同様に "fu" で "Function"、"pro" で "Property" のスニペットが追加できます。

    2008年2月12日 12:07
  • 外池さんの書かれたスニペットを試してみましたか?

    コードの書かれていない行を右クリック→「スニペットの挿入」→「共通コードパターン」→「プロパティとプロシージャ」

    で「プライベートであるSubの定義」「パブリックであるSubの定義」などが挿入できます。

     

    #個人的にはスニペットを使った方がめんどうなので使ってません

    2008年2月12日 12:09
  •  VB136 さんからの引用

    >まったく独自の、作業用のSubやFunctionは、たぶん、タイプしないとだめなんじゃないか、と思います。

     

    が~~ん。そうなんですか。VB6の時はできたのに....

    それの代わりにもっと便利なようになっているものと信じていたのですが。


    むしろ、私は VB6 の時に出来たという記憶がないです...

    VB6 は End xxx などさえも補完してくれない (.NET では補完してくれる) くらいなので、何もしてくれないと思っていたのですが...

    2008年2月12日 12:12
  • VB136 さん、こんにちは

    ダッチです。

     

    VB136 さんが仰っているのは、VB6 の IDE の[ツール]メニューにある「プロシージャの追加」ダイアログのことでしょうか。このダイアログからは確かにプロシージャの名前と種類(Sub か Function かなど)を選べばソースが作成されますね。

     

    これと同じ、または同等の機能が Visual Studio 2005 にあるかですが、
    クラスダイアグラムがそれに近いように思います。


    クラスダイアグラムはソリューションエクスプローラの右クリックから表示できます。
    楕円形のオブジェクトを右クリックして[追加]から好きな種類を選ぶことができます。

     

    ただこの機能は Visual Studio 2005 の Standard Edition 以上のバージョンで使用できる機能です。

    # プログラミングになれてくれば、全て手入力した方が楽に感じてくるかもしれません。

     

    [追記]

    C.John さん、気にしないでください。時間のいたずらです。
    2008年2月12日 12:19
  •  じゃんぬねっと さんからの引用

    むしろ、私は VB6 の時に出来たという記憶がないです...

    VB6 は End xxx などさえも補完してくれない (.NET では補完してくれる) くらいなので、何もしてくれないと思っていたのですが...

    VB6のメニューから「ツール」→「プロシージャの追加」で表示されるダイアログのことかと思います。

    VC6のClassViewでクラスを右クリック→「メンバ関数の追加」で表示されるダイアログと同じような機能です。

     

    [追記]

    すいません、ダッチさんと内容がかぶってます

    2008年2月12日 12:25
  • ありがとうございます。


    プロシージャの説明をつけていた時に少し触ったことがありますが、私もあのダイアログで書く方が面倒に感じますね。

    2008年2月12日 13:47
  •  

    みなさま、ご回答ありがとうございます。スニペットという言葉は初めて聞きました。

    VB6より面倒になっていますね。

     

    TH01さんの回答が覚えやすいと感じました。

     

    ありがとうございました。

    2008年2月12日 14:50