人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

とあるサイト上にあるテキストファイル(http://xxx.com/aaa.txt)を読み込み、
aaa.txtの内容(1行がファイル名とタイトルがコロンで区切られている)
--------------
bbb1.txt:title1
ccc2.txt:title2
ddd3.txt:title3
--------------
上位2行を読み込み、ファイル名からURLを生成して(http://xxx.com/text/bbb1.txt)
それぞれのサイト上の内容を読み込み(http://xxx.com/text/は固定)
bbb1.txtの内容
---------------
test111
test222
test333
----------------
ccc2.txtの内容
---------------
test444
test555
test666
----------------
各ファイルから「下位」2行を取得してファイルに保存するというVBスクリプトを
作りたいのですが、参考になるサイトはありますか?
また、参考サイトではなくサンプルソースでも大歓迎です。
出力結果:xxxcomout.txt
----------
【title1】
test222
test333
【title2】
test555
test666
-----------

●質問者: cooper0524
●カテゴリ:ウェブ制作
✍キーワード:AAA txt URL VB とある
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● nkysn
●50ポイント

急いで作ったのであまりスマートではありませんが、書いてみました。

作業用のディレクトリをデスクトップにしています。不都合あれば変えてください。

クォーテーションマーク等便宜上全角になっている部分は半角に直してください。


csturl = ”http://xxx.com/text/


set xmlhttp = wscript.createobject(”Microsoft.XMLHTTP”)

Set Fs=WScript.CreateObject(”Scripting.FileSystemObject”)

set shl = wscript.createobject(”wscript.shell”)


’aaa.txt取得&ローカル保存

tempfile1 = shl.SpecialFolders(”Desktop”) & ”¥” & ”temp1.txt”

getsave ”aaa.txt”,tempfile1


’タイトル・ファイル名取得

set Inf = Fs.OpenTextFile(tempfile1)

temp = Inf.readline

record1 = split(temp,”:”,-1,vbtextcompare)

temp = Inf.readline

record2 = split(temp,”:”,-1,vbtextcompare)

Inf.close


’bbb1.txt取得&ローカル保存

tempfile2 = shl.SpecialFolders(”Desktop”) & ”¥” & ”temp2.txt”

getsave record1(0),tempfile2


’bbb1.txt 最終2件取得

set Inf = Fs.OpenTextFile(tempfile2)

do until inf.AtEndOfLine

f1l1 = f1l2

f1l2 = inf.readline

loop

inf.close


’ccc2.txt取得&ローカル保存

tempfile3 = shl.SpecialFolders(”Desktop”) & ”¥” & ”temp3.txt”

getsave record2(0),tempfile3


’ccc2.txt 最終2件取得

set Inf = Fs.OpenTextFile(tempfile3)

do until inf.AtEndOfLine

f2l1 = f2l2

f2l2 = inf.readline

loop

inf.close


’結果出力

set Ofl = Fs.CreateTextFile(shl.SpecialFolders(”Desktop”) & ”¥” & ”xxxcomout.txt”)

Ofl.WriteLine(”【” & record1(1) & ”】”)

Ofl.writeline(f1l1)

Ofl.writeline(f1l2)

Ofl.WriteLine(”【” & record2(1) & ”】”)

Ofl.writeline(f2l1)

Ofl.writeline(f2l2)

Ofl.close


fs.deletefile(tempfile1)

fs.deletefile(tempfile2)

fs.deletefile(tempfile3)


wscript.quit


sub getsave(p1,p2)

xmlhttp.open ”GET”, csturl & p1, false

xmlhttp.send()

txt = xmlhttp.responseText

set Ofl = Fs.CreateTextFile(p2)

Ofl.WriteLine(txt)

Ofl.close

end sub

◎質問者からの返答

少し修正すればいけそうですね。

ありがとうございました!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ