1

以下のコードを試してください。ウェブページの表面からデータをダウンロードしていますが、自動的に動作させる必要があり、Excel のポップアップ ウィンドウを開くと問題が発生します。ENABLEを押すと自動的にそれを取り除く方法はありますか?

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

Sub DownPDF()
' This macro downloads the pdf file from webpage
' Need to download MSXML2 and MSHTML parsers and install
Application.OnTime Now + TimeValue("00:01:10"), "DownPDF"
Dim sUrl As String
Dim xHttp As MSXML2.XMLHTTP
Dim hDoc As MSHTML.HTMLDocument
Dim hAnchor As MSHTML.HTMLAnchorElement
Dim Ret As Long
Dim sPath As String
Dim i As Long

sPath = "C:\Documents and Settings\ee28118\Desktop\Ordine\"
sUrl = "http://cetatenie.just.ro/wp-content/uploads/"

'Get the directory listing
Set xHttp = New MSXML2.XMLHTTP
xHttp.Open "GET", sUrl
xHttp.send

'Wait for the page to load
Do Until xHttp.readyState = 4
    DoEvents
Loop

'Put the page in an HTML document
Set hDoc = New MSHTML.HTMLDocument
hDoc.body.innerHTML = xHttp.responseText

'Loop through the hyperlinks on the directory listing
For i = 0 To hDoc.getElementsByTagName("a").Length - 1
    Set hAnchor = hDoc.getElementsByTagName("a").Item(i)

    'test the pathname to see if it matches your pattern
    If hAnchor.pathname Like "Ordin-*.2013.pdf" Then
        Ret = URLDownloadToFile(0, sUrl & hAnchor.pathname, sPath & hAnchor.pathname, 0, 0)

        If Ret = 0 Then
            Debug.Print sUrl & hAnchor.pathname & " downloaded to " & sPath
        Else
            Debug.Print sUrl & hAnchor.pathname & " not downloaded"
        End If
    End If
Next i

End Sub
4

2 に答える 2

1

デスクトップで Excel のセキュリティ レベルを非常に高くまたは低く設定してみてください。そうすると、ワークブックを開いたときに実行される可能性のある悪意のあるコードから Exel が保護することはありません (ただし、優れたウイルス対策ソフトウェアはとにかくそれを行います!)

  • 非常に高いとは、質問しないことを意味します
  • Low は、質問しないことを意味します。

HTH

フィリップ

于 2013-03-28T14:43:17.243 に答える
1

マクロを有効にするように求める理由は、マクロが実際に PC に害を及ぼす可能性があるためです。これはセキュリティ上の問題であり、VBA を使用してその機能を自動的にオーバーライドすることはできません。

手動で Excel にアクセスする必要があります: 「セキュリティ センター -> セキュリティ センターの設定 -> マクロの設定 -> すべてのマクロを有効にする (推奨されません。潜在的に危険なコードが実行される可能性があります)」

于 2013-03-28T15:13:48.463 に答える