お世話になっております。
VBSでテキスト(文字列)の一部を切り出したいのですが、Visual basicのやり方だとエラーが出てしまいます。
つまり、Mid関数を使ったらエラーが出て、対処がわかりません。
以下に具体的なものを示します。
インターネットホームページの中からテキストを取得して、そのテキストから一部分を切り出したいのです。
例えば切り出したテキストが「赤1、青2、黄3」だとします。色名+数字、色名+数字、色名+数字というテキストです。色名を指定して、その次の数字を切り出したいのです。最終的には切り出した数字をc:\textfile.txtに保存しようとしております。
Dim IE
dim price
Set IE = WScript.CreateObject("InternetExplorer.Application")
IE.Navigate ("http://hoomupeeji")
While IE.busy: Wend
While IE.Document.readyState <> "complete": Wend
Dim fs
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("C:\textfile.txt", True)
For Each r In IE.Document.All.tags("TABLE")(3).rows
For Each c In r.Cells
a.Write (Replace(c.innerText, vbCrLf, ","))
Next
Next
price = Mid(a, InStr(price, "赤") , 1)
a.Write (price)
a.Close
IE.quit
どうぞよろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
>price = Mid(a, InStr(price, "赤") , 1)
の「a」は、ファイルであって、文字列ではありません。
ありがとうございます。
>> price = Mid(a, InStr(price, "赤") , 1)
> の「a」は、ファイルであって、文字列ではありません。
このaファイルの記述をaファイルのテキストと直せばよいのではないかと思いました。もしその方向で正しければ、どのようにすればよいのでしょうか。
No.2
- 回答日時:
まず、c.innerText で取り出した文字列が、
期待しているように
"赤1,青2,黄3"のようになっているかどうかを確認しましょう。
str = c.innerTextとかして、
いったん変数に入れます。
str = "赤1,青2,黄3"
の時
price=mid(str,instr(1,str,"青",1)+1,1)
で price は"2"になります。
私は、テーブルの数も内容も知りませんし、
またファイルに書き出す処理の意味も知りませんので、
方向が正しいかどうかは知りません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
変数に256文字以上のテキストを...
-
全てのテキストボックスをセル...
-
VB.NETでパラメータクエリを使...
-
RPG(AS400)の本、サイトってあ...
-
VB6.0 でメニューを作りたいん...
-
IP Address 入力フォームについて
-
photoshopで書いた四角の枠の中...
-
ダブルクリックと2回クリックの...
-
画面の範囲選択
-
static関数がmapファイルに載ら...
-
setIntervalの解除方法について
-
C言語でのマウスを移動とマウス...
-
楕円の軌道に傾斜をつける方法...
-
VBAで改行の入ったデータの正規...
-
pythonの画像の貼り付けについて
-
五芒星は、悪魔崇拝とどういう...
-
C# chart controlの透過について
-
sendAndLoadでcgiからの戻り値...
-
インスタンスとポインタ
-
ボタンの上にカーソルを置いた...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のアプリケーションのテキス...
-
変数に256文字以上のテキストを...
-
テキストボックスの中身をリセ...
-
テキストボックスにセルの値を...
-
POIでのテキストボックス作成に...
-
全てのテキストボックスをセル...
-
VB.NET2005 DataGridViewでレコ...
-
VB6.0 でメニューを作りたいん...
-
VBSでMid関数を使ったらエラー...
-
RPG(AS400)の本、サイトってあ...
-
テキストエリア内の文字列にリ...
-
漢字入力した値のカタカナ変換...
-
IP Address 入力フォームについて
-
'2465'指定した式で参照してい...
-
VB.NETで数十行のプログラムを...
-
pdfのテキスト全文コピー、テキ...
-
アクセスのフォームから検索を...
-
pg_escape_string()
-
ただただ無駄な
-
FLASH上で日数カウントダウン
おすすめ情報