web上のCSVファイルを数秒毎にダウンロードしてテキストモードで上書き保存するマクロを作りたいのですがどのように記述すればよいでしょうか。
Windows XP SP3 Microsoft Exce2000です。
コピー元 http://www.***.***/101.csv 102.csv ベーシック認証ありuser=**** password=****
コピー保存先 c:\****\101.csv
ファイルサイズは20KB前後です。
超初心者ですがどうぞよろしくお願いします。
No.2ベストアンサー
- 回答日時:
個人的に、その時々に、こうした質問が出るたびに、同じ問題をずっと考えています。
まだ、解決していない部分が残っています。>認証はhttp://ユーザ:パス@****.netという方法で、
これで、オープンの状態になるなら、取れるかもしれませんね。
昔は、こういう書き方をしていたようですが、今は、こういう方法は使ったことがありませんので分かりませんでした。私自身が課題としている部分とは違うようです。
>だけどもうひとつhttpのダウンロードのためアスキーモードでのダウンロードか出来なくてこの変換の課題が残っています。
たぶん、オープンした後に、どこかをクリックしてダウンロードするとかいう種類のものでしょうか?
http://ユーザ:パス@****.net
そのまま、http://www.***.***/101.csv 102.csv としても、IEオブジェクトなら可能ですが、WinInet やWinHttp では無理になってしまいます。そうすると、IE Windowを取得して、開いた後にアクセスするというスタイルになるのだろうとは思います。それも、今の私では、具体的な例がないと作成できる自信がありません。
>コピー保存先 c:\****\101.csvからLFをCRLF
ふつうは、テキストエディタでも置換出来ますが、ファイル Replace 関数を使って、以下のようにすると簡単に変換できます。
Sub ConvertTest1()
Dim iFNo As Integer
Dim oFno As Integer
Dim textLine As String
Dim buf As String, i As Long
Dim FName As String
Dim oFName As String
Dim mPath As String
'***Import FileName
FName = "c:\****\101.csv"
'*******
i = InStrRev(FName, "\")
'Export FileName
mPath = Mid(FName, 1, i)
oFName = mPath & "$" & Mid(FName, i + 1)
iFNo = FreeFile()
Open FName For Input As #iFNo
oFno = FreeFile()
Open oFName For Output As #oFno
Do Until EOF(iFNo)
Line Input #iFNo, textLine
buf = Replace(textLine, vbLf, vbCrLf, , , 1)
Print #oFno, buf
textLine = ""
Loop
Close #iFNo
Close #oFno
'ファイル名の入れ替え
On Error Resume Next
Name FName As "tmp"
Name oFName As FName
Name mPath & "tmp" As FName
Kill "tmp"
On Error GoTo 0
Beep
End Sub
No.1
- 回答日時:
本日、ずっと調べてみました。
ダウンロードの方法は、あちこちを検索すれば出てきますが、私の知っている範囲では、あくまでも、オープンの場所に限ります。また、CSVを数秒毎にダウンロードすることは可能です。
場所を特定していませんから、汎用性のあるマクロを書けということになると思いますが、それは不可能です。調べてみると、それぞれのサイトには、文字コードやユーザー名・パスワードの入力IDが異なったりしますから、それを探し出すのは、そのサイトの解析をしなければなりません。
また、ここのサイトのように、Cookieが設定してあって、一定の期間、パスワードを求められずにオープンのままアクセスは出来るかとは思います。ただし、IEオートメーションに限りますから、数を重ねるとストップしてしまいます。とても、IEオートメーションでは、数秒毎にダウンロードは不可能だと思います。
http://oshiete.goo.ne.jp/qa/6398307.html
質問内容は、多少、似ていても上記のどれの回答も該当しません、うまく行かないという雰囲気はなんとなく分かっていただけると思います。
この回答への補足
いろいろ調べて頂き本当にありがとうございます。
友人に協力してもらい試行錯誤聞き込みを繰り返しました結果、認証はhttp://ユーザ:パス@****.netという方法で、数秒毎のダウンロードはOnTimeを使うことで何とかクリア致しました。
だけどもうひとつhttpのダウンロードのためアスキーモードでのダウンロードか出来なくてこの変換の課題が残っています。
コピー保存先 c:\****\101.csvからLFをCRLFに変換できる記述方法がございましたらどうかご教授お願いします。m(_"_)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
- Visual Basic(VBA) vbaマクロについて 次のようなマクロを組みたいです。 自分は初心者なので全くわかりません。 詳しく 8 2023/05/18 18:38
- Visual Basic(VBA) エクセルVBAについて 8 2022/07/13 22:41
- Visual Basic(VBA) vbaマクロについて 【シート2】をもとに【シート1】に有るものを「有り.csv」としてデスクトップ 3 2023/05/07 22:30
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- Visual Basic(VBA) vbaマクロについて 【1.csv】をもとに【商品.csv】に有るものを【有り.csv】として名前を 1 2023/05/18 07:58
- Excel(エクセル) Excelについて。 Excelからcsv変換したいのですが、 やり方はファイル→名前をつけて保存→ 7 2022/07/27 01:10
- Visual Basic(VBA) あるマクロを起動し、その際に使用したデスクトップにある1.csv(マクロを起動したせいで加工されてい 3 2023/06/02 22:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
OpenTextFile で書き込みできま...
-
ASPでCSVファイルを作成しダウ...
-
IE6でのダウンロードダイア...
-
ファイルのダウンロード
-
Excelでdatファイルを作成??
-
【Excel VBA】PDFを作成して,...
-
Excel-VBA 撮影日時の取得
-
フォルダ作成用バッチファイル...
-
subversionからファイル取得時...
-
batファイル処理でのテキストフ...
-
バッチによるショートカットの...
-
OCXのライセンス
-
Lubuntuでフォントをインストー...
-
Microsoft Access エラー 3051
-
VBAでファイルパスが長すぎてコ...
-
bat ファイルでフォルダ作成&移動
-
Access2003で「オブジェクト'○○...
-
マルチモニタ環境でネットから...
-
iniファイルのセクションについて
-
ファイルのアクセス権の取得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
OpenTextFile で書き込みできま...
-
ASPでCSVファイルを作成しダウ...
-
ヤフーのNYダウの過去データ...
-
ファイルダウンロードの開くで...
-
現在時間と、ファイルの作成時...
-
csv形式でダウンロードさせたい...
-
Matlabでの図の最大化の方法
-
Excelでdatファイルを作成??
-
フォルダ作成用バッチファイル...
-
複数のテキストファイルをexcel...
-
VBAでファイルパスが長すぎてコ...
-
batファイル処理でのテキストフ...
-
ダウンロード不可PDFファイルは...
-
バッチファイルが作成できない
-
バッチによるショートカットの...
-
【Excel VBA】PDFを作成して,...
-
1フォルダに保存できるファイル...
-
bat ファイルでフォルダ作成&移動
-
テキストファイルの文字色に色...
-
Microsoft Access エラー 3051
おすすめ情報