• 締切済み

Mid関数の記述

いつもAccessでは、Mid関数を使っているんですけど、 ASPファイルで文字列の一部を取得したいんで、 SUBSTRINGを代わりに使ったんですが、 プロシージャーのエラー が出るので、 response.writeで、対象の文字列を表示させてみたら取得出来てるみたいなのに、 うまくいきません。どうして???

みんなの回答

  • hequil
  • ベストアンサー率65% (242/372)
回答No.1

全部とは言いませんが、エラー周辺のソースコードを 書いていただけないでしょうか? Kalen_Fさんの質問だけじゃ誰も適切な回答出来ないかと思います。

Kalen_F
質問者

お礼

すみません。 あれから試行錯誤してみたら、上手くできたんです(^^ゞ どうやら、関数の引数の記述が間違ってただけでした。

関連するQ&A

  • エクセル MID関数

    MID関数で表示した文字列が、数字として認識されません。 MID関数で表示された数字が10とします。セルはA1とします。 その後、IF式で =if(A1<5,10,0) とすると、結果は0になるはずなのに、常に真の値、10になってしまいます。 原因は、MID関数で表示された数字が文字列として認識しているからと考えられますが、対象方法をご存知の方がおりましたら教えてください。 よろしくお願いします。

  • mid関数とmidステートメントの違いを教えてくだ

    Sub test1() MsgBox Mid("abc", 2) End Sub は、mid関数ですか?midステートメントですか? ヘルプを見ると、 --------------------------------------------------------- Mid ステートメントの使用例 次の例は、Mid ステートメントを使って、 文字列変数の中にある指定した文字数分の文字を他の文字列に置き換えます。 Dim MyString, FirstWord, LastWord, MidWords MyString = "Mid Function Demo" ' 文字列を定義します。 FirstWord = Mid(MyString, 1, 3) ' "Mid" を返します。 LastWord = Mid(MyString, 14, 4) ' "Demo" を返します。 MidWords = Mid(MyString, 5) ' "Function Demo" を返します。 --------------------------------------------------------- も --------------------------------------------------------- Mid 関数の使用例 次の例は、Mid 関数を使って、 文字列の中から指定した文字数分の文字を返します。 Dim MyString, FirstWord, LastWord, MidWords MyString = "Mid Function Demo" ' 文字列を定義します。 FirstWord = Mid(MyString, 1, 3) ' "Mid" を返します。 LastWord = Mid(MyString, 14, 4) ' "Demo" を返します。 MidWords = Mid(MyString, 5) ' "Function Demo" を返します。 --------------------------------------------------------- も同じです。 mid関数とmidステートメントの違いを教えてください。 ご回答よろしくお願いします。

  • Mid関数(2)

    VB6.0でタイピングソフトを作成しています。KeyPressの入力判定で、入力された文字とLabel1に表示されている文字が一緒なら、その文字を消すという処理なんですが、 Private Sub Form_KeyPress(KeyAscii As Integer) Label1.Caption = "taipingu" If Mid(Label1.Caption, z, 1) = Chr(KeyAscii) Then Dim ss As String ss = Label1.Caption Mid(ss, z, 1) = " " Label1.Caption = ss z = z + 1 End if というやり方を教えていただいてやってみたのですが、 「If Mid(Label1.Caption, z, 1) = Chr(KeyAscii) Then」の部分で 「プロシージャの呼び出し、または引数が不正です」 というエラーが出てしまいます。しかも、このエラーが出ずに実行がうまくいくときもあります。 何故このエラーが出るのか、分かる方お願いします。

  • EXCELのMID関数について教えてください

    abcd+cd+EFのような文字列で右から3番目の 「d」を取り出したい場合、 EXCELのMID関数ですと左からしか数えられないので 右から数えられる、もしくは文字列の並びを 逆転できる方法を探しています。 ご存知の方どうぞよろしくお願いします。

  • OpenOffice,Basic,Mid()関数にて「無効なプロシージ

    OpenOffice,Basic,Mid()関数にて「無効なプロシージャの呼び出し」のエラー? OpenOffice Basicの初心者です. 「指定ユーザ数の、指定文字数のランダム文字列(a-z,A-Z,0-9)を生成するプログラム」 を作成したのですが, 以下のスクリプトを実行すると,下から6行目にて 「アクションは支援されません。無効なプロシージャーの呼び出し。」 というエラーが,出力されます. 出力されるタイミングは定まっておらず, プログラムが正常に動くときもあれば, 実行初期段階でエラーが出るときもあれば, 実行途中でエラーが出るときもあります. 色々と自分で原因究明してみましたが,原因が分かりません. (どうも Mid()関数 のところでひっかかっているようなのですが・・・.) どなたか、ご教授頂けませんでしょうか? (※添付画像は,出力されるエラー画面です.) ----- 自作スクリプト ここから ----- Sub Main dim doc as object dim sheet as object dim cell as object dim i, j as integer ' for文制御用 dim m, n as integer ' m:何人分か, n:何文字分か dim rand, maxRand as integer dim pw as string '文字列格納用変数 ' 初期化 rand = 0 maxRand = 63 ' 63未満の乱数生成する m= 20 ' 何人分の文字列か n = 15 ' 何文字分の文字列か doc = thiscomponent sheet = doc.sheets (0) smallString = "abcdefghijklmnopqrstuvwxyz" largeString = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" numberString = "0123456789" rootString = smallString + largeString + numberString cell = sheet.getcellbyposition(0,0) cell.string = "生成した文字列" for i = 1 to m    pw = ""    for j = 1 to n       rand = int(maxRand * Rnd()) ' 乱数の生成       pw = pw + Mid(rootString, rand, 1)    next    cell = sheet.getCellByPosition(0,i)    cell.string = pw next End Sub ----- 自作スクリプト ここまで -----

  • インクルードしたファイルの関数を使用する

    お世話になっております。カナと申します。 宜しくお願いいたします。 ・windowsXP ・Vbscript ・IIS5.0 インクルードしたaspファイルに、関数があるのですが、 それを実行し戻り値を取得して呼び出し元の関数に戻った際に、 エラー「この変数は宣言されていません。」が出てしまいます。 以下ソースです。 '~~~~~TEST_1.asp~~~~~~~~~ <%@ LANGUAGE="VBScript" %> <% option explicit %> <!-- #include file="TEST_2.asp" --> <% call TEST_1() %> <% public function TEST_1(Data) Dim Data On Error Resume Next Data=27 Call TEST_2(Data) Response.Write(Data)%><br><%      '↑きちんと30が取得できます Response.Write(Err内容:" & Err.Description)%><br><% '↑ここでエラーの確認をしています。      '「この変数は宣言されていません。」になります。 End Function %> ~~~~~TEST_2.asp~~~~~~~~~ <% Public Sub TEST_2(ByRef Data) On Error Resume Next Response.Write("Data)%><br><%      '↑27が表示されます     Data=Data+3 End Sub %> ------------------------------------------------------- 以上です。 callで関数を呼んで、実行結果は正しく取得できるのですが、戻ってきたときにエラーになるので、この先のコードを書いていったときにエラー処理等に問題が出てしまいます。 もっと長いソースを書いているときも同様のエラーが出るので、ファイルのインクルードの仕方か関数の呼び出し方など、根本的になにか問題があるのだと思うのですが・・・。 何かおかしい点があるのでしょうか? 大変困っています。 申し訳ありませんが、どなたかご教授ください。

  • EXCEL MID関数の文字数について!

    セルA1 12×1240×2280 セルA2 3×1240×2280 セルA3 5.5×1240×2280 ↑こんな風にセルの中に数字が入っているのでMID関数で セルA1 =MID(A1,1,2)→12 セルA2 =MID(A2,1,1)→3 セルA3 =MID(A3,1,3)→5.5 と答えが出ます。でもA列の桁数によりMID関数の文字数を変えなければなりません。 一気に出せる方法はないでしょうか?? おわかりの方教えてくださーい!

  • エクセルで、MID関数で抽出した文字を独立させたい

    エクセル初心者のため、お見苦しい文章で申し訳ありません。 WORDに入力されたアンケート結果をEXCELに移した際に、 例えば1つのセルにある「A:50% B:25% C:25%」という文字列を、 MID関数を使ってそれぞれ別のセルに抽出しました。 (それぞれ、"=MID(A2,3,3)"、"=MID(A2,10,3)"、 "=MID(A2,17,3)"という感じです) 設問がいくつもあるので、 その関数を十字でコピーしたほうが楽かと思いまして・・・ ところがそもそもグラフを作りたくてエクセルに移したのですが、 「50%」というのはただの関数の結果であって、 数字どおりのグラフが作れないと気づきました。 これを、「50%」という文字列だと 認識させてグラフを作る方法は何かあるでしょうか? それともやっぱりめんどくさがらずに、 1から打ち込んだほうが早いのでしょうか・・。 わかりづらい質問で申し訳ありません。 よろしくお願いいたします。

  • MID関数で、「0」を一文字目として認識させたい

    Excel2002で、住所録から封筒を印刷するファイルを作りました。 住所録シートの7桁の郵便番号セルから一文字ずつ取出して 印刷シートの各セルに収めるよう下記の関数を入れています。 =MID(VALUE(VLOOKUP("●",住所録データ範囲,5,TRUE)),1,1) 通常は問題無いのですが、「0」から始まる郵便番号の時は MID関数が「0」を1文字目と認識してくれず、2文字目が 1番先頭のセルに入ってしまいます。 (住所録シートに入っている郵便番号は「'」で文字列認識させています) 何か良い解決方法はありますでしょうか? 宜しくお願い致します。

  • .NET Compact Framework で文字列操作について

    .NET Compact Framework で文字列操作(Left、Mid、Right等)の方法が分かりません。 .NET Frameworkでは確かそのような関数があると思いますが、代わりに利用できる関数はありませんでしょうか? 参考になる文献等がございましたら、教えていただけないでしょうか。 よろしくお願いします。