• ベストアンサー

設定プロパティについて

Sub InStrSample1() Dim myData As String Dim i As Integer myData = "*******@projecta.co.jp" i = InStr(myData, "@") MsgBox Left(myData, i - 1) End Sub ネット上で上のようなプログラムを見つけ、VBで書いてみたら何も動きませんでした。ダイアログボックスに*******と表示されるらしいんですが、その設定プロパティがわかりません。お願いします。

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

  • ベストアンサー
  • zerosix
  • ベストアンサー率31% (47/149)
回答No.3

>これを使ってテキストに保存した”あいうえお”から”わをん”までの文字の中か>ら”まみむめも”を抜き出すというようなプログラムを作れませんか?これとは違>うプログラムになるのでしょうか? myData = "あいうえお・・・まみむめも・・・わをん" i = InStr(myData, "ま") MsgBox Mid(myData, i, 5) ちょっとは考えましょうよ。

mos21
質問者

お礼

回答ありがとうございました。すいませんでした、書き方がおかしかったですね。そのテキストに名前を付けておいてその名前をプログラムに書いて”まみむめも”を抜き出したいんです。プログラムの中には”あいうえお”とか”わをん”を書かないで抜き出したいんですが、できるんですかね?よかったらお願いします。

その他の回答 (3)

  • haporun
  • ベストアンサー率40% (230/562)
回答No.4

勉強しなければならないこと ○ ファイルの読み込み方 ○ InStr、Left、Mid、Rightの4つの関数の動作 これだけですね。 ファイルの扱い方は最初は難しいですが、4つの関数については自分でいろいろ値を入力してみて、どういう動作をするのか目で見てみることがいちばんの上達になると思います。 いちばん簡単なのは、VB内でCtrl+Gを押したときに現れるテキストのウィンドウに ? left("あいうえお", 2) とか ? instr("あいうえお", "う") とか入力してEnterをその行で押してみると、関数の結果をダイレクトに表示してくれるので、どういう動作をするのかが明らかです。 ファイルの読み込み方については、ヘルプで ○ Open ○ Input などのキーワードで調べてみましょう。 その際わからないことがあったら、また質問してみてください。 掲示板の構造上、ソースコードを全部書いてしまうというわけにはいかないので、ある程度わかるようになって疑問にぶつかったら、また来るといいでしょう。 ちなみにmos21さんのコードを、メニューの "プロジェクト"→"標準モジュール" の追加でできるウィンドウ内に貼り付けて、先ほどのCtrl+Gで現れるウィンドウで instrsample1 と入力してEnterを押すと、お望みどおりの結果が得られますよ。

  • -boya-
  • ベストアンサー率35% (176/494)
回答No.2

下の回答で良いと思いますが、付け加えるなら、、、 このサブプロシージャ(Sub~End Subまで)はInStr関数を使って 文字列[myData]の中に"@"があれば、その最初の文字の位置を 変数[i]に返し、Left関数で[myData]の左から[i-1]文字目 までをメッセージボックスで表示(MsgBox)させています。 で、実行させる方法ですが、、、 ボタンを押したときのイベントにするなら、[デザイン]時に フォーム上にコマンドボタンを置いてダブルクリックすると クリックした時のイベント(Command1_Click())が記述できます。 ([Command1]は名前を付けない場合のデフォルトの名前) そこに下の回答の通りに記述するか、もしくは次のように記述します。 Private Sub Command1_Click()  Dim myData As String  Dim i As Integer  myData = "*******@projecta.co.jp"  i = InStr(myData, "@")  MsgBox Left(myData, i - 1) End Sub [開始](右向きの三角)を押せば試しに実行できます。

mos21
質問者

お礼

ありがとうございました。プログラムの意味がよくわかりました。

  • zerosix
  • ベストアンサー率31% (47/149)
回答No.1

もしかしてInStrSample1を実行するイベントを記述しないのでは。 ボタンでも張りつけて、以下のようにしたら表示されますよ。 Private Sub Command1_Click() Call InStrSample1 End Sub Sub InStrSample1() Dim myData As String Dim i As Integer myData = "*******@projecta.co.jp" i = InStr(myData, "@") MsgBox Left(myData, i - 1) End Sub

mos21
質問者

お礼

ありがとうございました、表示できました。これを使ってテキストに保存した”あいうえお”から”わをん”までの文字の中から”まみむめも”を抜き出すというようなプログラムを作れませんか?これとは違うプログラムになるのでしょうか?

関連するQ&A