• 締切済み

vbsのIsNumeric関数について

Excelのセルから値を取得しその値が数値かどうかをチェックしているのですがうまくいきません。以下のプログラムで間違えがありましたらご指摘をお願いします。 Dim obj Dim str Set obj = CreateObject("Excel.Application") str = obj.Worksheets(sheetname).Range("A11").Value If IsNumeric(str) Then MsgBox("")

みんなの回答

  • nda23
  • ベストアンサー率54% (777/1416)
回答No.3

>str = obj.Worksheets(sheetname).Range("A11").Value obj はApplicationオブジェクトなので、WorkSheetsコレクションを 持っていません。WorkSheetsコレクションはWorkbookオブジェクトに 属します。正しくは下記の通りです。 str = obj.Workbooks(X).Worksheets(sheetname).Range("A11").Value Xはインデックス(1~)かブックの名前を指定します。

  • notnot
  • ベストアンサー率47% (4901/10362)
回答No.2

これで全部ですか?プログラムから行を無作為に抜粋したように見えますけど。 ・プログラミング自体、経験無し ・プログラミング経験はあるが、VBSが初めて ・VBSプログラミング経験はあるが、Excelを操作するのが初めて のどれでしょう?

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

Excelのインスタンスを生成してワークブックなどを読み込んでいないのですがこれは意図した動きなのでしょうか? Set obj = CreateObject("Excel.Applisction") obj.Workbooks.Open( "ブックのフルパス") str = obj.Worksheets(SheetName).Range("A11").Value if IsNumeric( str ) then MsgBox("") といった具合になりそうですが どこまで希望通りに動作して、どこからが希望通りの動作でないのかを具体的に投稿してみましょう エラーメッセージ出るならその内容を投稿してみましょう

関連するQ&A