Как загрузить файл Excel с Google Диска с помощью vba?

Я пытаюсь загрузить файл excel с диска Google с помощью кода vba. Файл загружается по этому пути C: /MyDownloads/seriall.xlsx. Но какой-то странный текст добавляется поверх загруженного файла excel на первом листе. И я также получаю всплывающее сообщение с сообщением о том, что файл, который вы пытаетесь открыть, находится в другом формате, чем указано. Поэтому я нажимаю «да», чтобы просмотреть это всплывающее окно, а затем я получаю сообщение об ошибке css. Почему это происходит и почему эти ошибки появляются в загруженном файле excel. Мои данные также показаны в нижней части странного текста, который Excel добавляет к нему.

Dim FileNum As Long
Dim FileData() As Byte
Dim MyFile As String
Dim WHTTP As Object

On Error Resume Next
    Set WHTTP = CreateObject("WinHTTP.WinHTTPrequest.5")
    If Err.Number <> 0 Then
        Set WHTTP = CreateObject("WinHTTP.WinHTTPrequest.5.1")
    End If
On Error GoTo 0

MyFile = "https://docs.google.com/spreadsheets/d/1e6DNpw3y5NrMR9cNLmIZdPYO79WLui7mua5I-5pEyKo/edit?usp=sharing"

WHTTP.Open "GET", MyFile, False
WHTTP.send
FileData = WHTTP.ResponseBody
Set WHTTP = Nothing

If Dir("C:Downloads", vbDirectory) = Empty Then MkDir "C:Downloads"

FileNum = FreeFile
Open "C:Downloadsserial.xls" For Binary As #FileNum
    Put #FileNum, 1, FileData
Close #FileNum

MsgBox "Open the folder [ C:Downloads ] for the "

excel,vba,excel-vba,

-2

Ответов: 2


1

Используя UDF 'GetSpecialFolder', вы можете скачать файл с любого облачного диска, так же просто, как:

FileCopy GetSpecialFolder (vbDirGoogleDrive) и "seriall.xlsx", "C: /MyDownloads/seriall.xlsx"

http://www.EXCELGAARD.dk/Lib/GetSpecialFolder/

Вы также можете использовать:

FileCopy GetSpecialFolder (vbDirGoogleDrive) и «seriall.xlsx», GetSpecialFolder (vbDirDownloads) и «seriall.xlsx» *

Вы даже можете перемещать файлы между вашим, скажем, Google Диском и Dropbox:

FileCopy GetSpecialFolder (vbDirGoogleDrive) и «seriall.xlsx», GetSpecialFolder (vbDirDropbox) и «seriall.xlsx» *


-1

Попробуйте под кодом,

Sub Basic_Web_Query() Dim chromePath As String Sheets("Sheet2").Select Range("A2").Select Selection.Copy Shell ("C:Program Files (x86)GoogleChromeApplicationchrome.exe") SendKeys "^v" SendKeys "~" Application.Wait (Now + TimeValue("00:00:10")) SendKeys "^a" SendKeys "^c" Application.Wait (Now + TimeValue("00:00:10")) Sheets("Sheet1").Select Range("A1").Select ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:= _ False End Sub

первенствует, VBA, Excel-VBA,
Похожие вопросы