は、GET pictures from a url and then rename the pictureのものと同じにする必要があります。しかし、それはシステム機能を使用するのではなくネイティブのExcel VBAだけを使用するので、32ビットまたは64ビットのOfficeを使用するかどうかは関係ありません。
Sheet1
:
コード:
Const FolderName As String = "P:\Test\"
Sub downloadJPGImages()
Set ws = ActiveWorkbook.Sheets("Sheet1")
lLastRow = ws.Range("A" & Rows.Count).End(xlUp).Row
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.6.0")
Set oBinaryStream = CreateObject("ADODB.Stream")
adTypeBinary = 1
oBinaryStream.Type = adTypeBinary
For i = 2 To lLastRow
sPath = FolderName & ws.Range("A" & i).Value & ".jpg"
sURI = ws.Range("B" & i).Value
On Error GoTo HTTPError
oXMLHTTP.Open "GET", sURI, False
oXMLHTTP.Send
aBytes = oXMLHTTP.responsebody
On Error GoTo 0
oBinaryStream.Open
oBinaryStream.Write aBytes
adSaveCreateOverWrite = 2
oBinaryStream.SaveToFile sPath, adSaveCreateOverWrite
oBinaryStream.Close
ws.Range("C" & i).Value = "File successfully downloaded as JPG"
NextRow:
Next
Exit Sub
HTTPError:
ws.Range("C" & i).Value = "Unable to download the file"
Resume NextRow
End Sub
@Amorpheuses: "インストールされているOfficeの最新バージョンと64ビットマシンを" あなたを置き換えます「最新の32ビットバージョンのOfficeがインストールされた64ビットマシン」 –
私のWindows版に間違ったバージョンのオフィスをインストールした可能性はありますか? –
私は、64ビットのWindowsシステムでは、64ビットのOfficeバージョンを間違ったバージョンと呼んでいません。しかし、明示的に 'Declare'文を使用すると、それは32ビット版とは異なります。 [Officeの32ビット版と64ビット版の互換性](https://msdn.microsoft.com/en-us/library/office/ee691831(v = office.14).aspx)を参照してください。 @Amorpheusesは、64ビットWindowsを使用して彼のために働くと述べていました。しかし、それは64ビットWindowsで32ビットOfficeを実行している場合にのみ当てはまります。 –