1

vba と Excel を使用して、元のファイル名がわからない URL からファイルをダウンロードしようとしています。URLDownloadToFile、または WinHttpRequest のような他のメソッドを使用すると、ダウンロードするファイルに名前を付ける必要があります。Internet Explorer で URL に移動するのと同じように、元のファイル名で保存したいと思います。

私の URL の例: https://mysite.com/PDF/CreatePDFforProcess.aspx?ID=6370947

Internet Explorer では、名前を付けて保存ウィンドウが開き、デフォルトのファイル名が提案されます。

どうもありがとう

4

1 に答える 1

1

応答 HTTP ヘッダーからファイルの種類とファイル名 (場合によっては) を取得できます。

という名前の XMLHttpRequest オブジェクトを介してファイルを取得している例xhr:

debug.print xhr.getResponseHeader("Content-Type")
>application/pdf
debug.print xhr.getResponseHeader("Content-Disposition")
>attachment; filename="test.pdf"

常にデータが取り込まれているとは思わないでくださいContent-Disposition。入力ファイルをアップロードするので、入力ファイルの名前のバリエーションで応答ファイルに名前を付ける方が理にかなっている場合があります。

于 2012-11-02T20:16:08.360 に答える