アプリ版:「スタンプのみでお礼する」機能のリリースについて

入力ボックスを表示し、その中に入力された数値を変数に格納したいのですが、.NETのときは動作したのですが、VB2005ですと、エラーとなってしまいます。何か設定項目があるのでしょうか?ご教示お願い致します。

Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Decimal
i = InputBox("メッセージ", "値を取得")
End Sub
End Class

なお、helpから検索したVisual Basic 言語リファレンスの「InputBox 関数 (Visual Basic)参照 使用例」に掲載されているソースをそのまま実行してもエラーが帰ってきます。

A 回答 (3件)

とりあえず、MSのHPで


「Microsoft.VisualBasic.CompilerServices.VBInputBox.resources」
を検索すると、

http://search.microsoft.com/results.aspx?q=Micro …

と、いくつかHITしますね。

# 但し、MSの公式な記事ではなく、フォーラムへのQ&Aですけど・・・

モジュール配布時のセキュリティの設定誤りや、
共有環境での使用で発生する、レアケースのようですね。
    • good
    • 0

> VB2005ですと、エラーとなってしまいます。


> 等々試してみましたが動作しません。

結局どういう状況なんです?
No1さんの回答は

> Option Strict On で 'String' から 'Decimal' への暗黙的な変換はできません。
と言うエラー限定の対応策です。

それを試したって事は、このエラーだったって事ですか?

でも、
> helpから検索したVisual Basic 言語リファレンスの「InputBox 関数 (Visual Basic)参照 使用例」

は、このエラーにはならないはずですが・・・

具体的な情報(エラーメッセージ等)を教えてください。

#ちなみに、私のVB2005では、InputBoxはちゃんと動作します。

この回答への補足

「Missing Manifest Resource Exception はハンドルされませんでした。」というボックス
が、InputBox関数からポップアップされて表示されます。その中のエラーメッセージは

指定されたカルチャまたはニュートラル カルチャに対して適切なリソースが見つかりませんでした。"Microsoft.VisualBasic.CompilerServices.VBInputBox.resources" が適切に埋め込まれたか、実行時にアセンブリ "Microsoft.VisualBasic" にリンクされたか、または必要なサテライト アセンブリが読み込まれて完全に署名されていることを確認してください。

ということです・・・

補足日時:2007/05/14 10:24
    • good
    • 0

お世話になります。



エラーとは、
Option Strict On で 'String' から 'Decimal' への暗黙的な変換はできません。

というエラーでしょうか?
であればの話ですが、
ソリューションエクスプローラで対象の
プロジェクトを右クリックしてプロパティ→
コンパイルタブに移動
Option Strict が On になっていますか?

個人的には On にしたままコーディングすることをお勧めしますが
Off にすることで、とりあえずエラーはでなくなります。

Option Strict On の状態のままでコーディングするのであれば
以下のような方法でキャストしてやらなければなりません。
i = CDec(InputBox("メッセージ", "値を取得"))
または
Decimal.TryParse(InputBox("メッセージ", "値を取得"), i)
など。

この回答への補足

有難う御座います。ご指摘のとおり実行したり、たとえば、
Dim i As Integer
i = CInt(InputBox("メッセージ", "値を取得"))
等々試してみましたが動作しません。
.NETなら何も問題ありませんのに・・

補足日時:2007/05/11 09:18
    • good
    • 0

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