とあるサイト上にあるテキストファイル(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
-----------

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:nkysn No.1

回答回数10ベストアンサー獲得回数0

ポイント50pt

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

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

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


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

id:cooper0524

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

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

2006/02/22 20:35:33

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません