- 締切済み
vbsのIsNumeric関数について
Excelのセルから値を取得しその値が数値かどうかをチェックしているのですがうまくいきません。以下のプログラムで間違えがありましたらご指摘をお願いします。 Dim obj Dim str Set obj = CreateObject("Excel.Application") str = obj.Worksheets(sheetname).Range("A11").Value If IsNumeric(str) Then MsgBox("")
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- nda23
- ベストアンサー率54% (777/1416)
>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)
これで全部ですか?プログラムから行を無作為に抜粋したように見えますけど。 ・プログラミング自体、経験無し ・プログラミング経験はあるが、VBSが初めて ・VBSプログラミング経験はあるが、Excelを操作するのが初めて のどれでしょう?
- redfox63
- ベストアンサー率71% (1325/1856)
Excelのインスタンスを生成してワークブックなどを読み込んでいないのですがこれは意図した動きなのでしょうか? Set obj = CreateObject("Excel.Applisction") obj.Workbooks.Open( "ブックのフルパス") str = obj.Worksheets(SheetName).Range("A11").Value if IsNumeric( str ) then MsgBox("") といった具合になりそうですが どこまで希望通りに動作して、どこからが希望通りの動作でないのかを具体的に投稿してみましょう エラーメッセージ出るならその内容を投稿してみましょう