たとえば、最初/上位5つの日付のPDFファイルを以下のリンクからダウンロードしてデスクトップに保存する必要があります。始め方がわかりませんが、Googleで明確なものを見つけることができませんでした。
あなたは私を助けることができると思いますか?
たとえば、最初/上位5つの日付のPDFファイルを以下のリンクからダウンロードしてデスクトップに保存する必要があります。始め方がわかりませんが、Googleで明確なものを見つけることができませんでした。
あなたは私を助けることができると思いますか?
Internet Explorerを使用し、SHDocVw.InternetExplorerオブジェクト(VBA参照'Microsoft Internet Controls'、ieframe.dll)を使用して自動化します。
(a)を使用して新しいInternet Explorerウィンドウを作成するSet x = New SHDocVw.InternetExplorer
か、(b)を使用して既存のInternet Explorerウィンドウを取得することができますSet owins = CreateObject("Shell.Application").Windows
(owins
は配列であり、場所が見つかるまでループしますMid(TypeName(owins(i).Document), 1, 12) = "HTMLDocument"
)。
Internet Explorerを入手しie
たら、電話ie.Navigate(url)
をかけてWebサイトにアクセスできます。
Internet Explorerのナビゲートが完了するのを待ってから問い合わせるには、次のように実行します。
Do While mascot_win.Busy
Application.Wait DateAdd("s", 1, Now)
DoEvents
Loop
そのページの最初の5つのPDFのURLを取得するには、ページのHTMLを調べる必要があります。HTMLの形式に応じて、2つの方法があります。HTMLが適切に記述されている場合は、を使用してドキュメントオブジェクトモデル(XMLなどのタグ)をナビゲートできますie.Document.all()
。ただし、HTMLが整形式でない場合は、からHTMLを読み取ることに頼らなければならない場合がありますie.Document.all(0).innerHTML
。
あなたが与えたリンクのルックスによって、あなたは次のようなものを探しているでしょう:
<li>Data de <strong>22.03.2013</strong>, numarul: <a href="/wp-content/uploads/Ordin-149P-din-22.03.2013.pdf">149P</a></li>
各PDFURLを分離したら(<a>
DOMモデルのタグの属性を使用するかMid()
、HTMLで多くの呼び出しを使用して)、次を使用してダウンロードできます。
Private Declare Function URLDownloadToFile _
Lib "urlmon" _
Alias "URLDownloadToFileA" _
( _
ByVal pCaller As Long, _
ByVal szURL As String, _
ByVal szFileName As String, _
ByVal dwReserved As Long, _
ByVal lpfnCB As Long _
) As Long
Dim ss As String
Dim ts As String
ss = "http://blah/blah/blah.pdf"
ts = "c:\meh\blah.pdf"
URLDownloadToFile 0, ss, ts, 0, 0