Обновление Excel Web App из локального Excel VBA - PullRequest
0 голосов
/ 07 июля 2019

У меня есть довольно базовая база знаний VBA.В прошлом году я использовал его для написания программ, которые копируют данные из Excel на веб-сайты.

Сейчас у меня есть локальный лист Excel, полный данных (который обновляется ежедневно), который я пытаюсьавтоматически скопированы в Excel Web App через VBA.

Я надеюсь, что кто-нибудь подскажет мне, как ссылаться на ячейки в веб-приложении из моего локального VBA (при условии, что это возможно).Я не могу найти ответ где-либо еще.

Любая помощь будет принята с благодарностью, спасибо!

1 Ответ

0 голосов
/ 07 июля 2019

Excel Web App открывает файлы из OneDrive, поэтому сохранение файла в папке OneDrive на локальном компьютере выполнит то, что вы просите.

Все три из следующих примеров предполагают, что цель состоит в том, чтобы сохранить книгу с макросами как книгу с макросами с тем же именем в расположении папки OneDrive по умолчанию "C: \ Users \ user \ OneDrive"

Первые два примера сохраняют копию активной книги в OneDrive; напротив, третий пример перемещает файл без создания копии и не может использоваться, если файл открыт.

Пример 1: сохранить копию активной книги в OneDrive. Оригинальная рабочая книга остается активной рабочей книгой. Последующие изменения остаются с оригиналом и не применяются к копии в OneDrive.

Sub SaveCopyToOneDrive()
    Dim destinationFolder As String
    destinationFolder = Environ("USERPROFILE") & "\OneDrive\"
    ActiveWorkbook.SaveCopyAs destinationFolder & ActiveWorkbook.Name
End Sub

Пример 2: сохранить активную книгу в OneDrive. Файл в OneDrive становится активной книгой, а оригинальная книга закрывается без сохранения.

Sub SaveToOneDrive()
    Dim destinationFolder As String
    destinationFolder = Environ("USERPROFILE") & "\OneDrive\"
    ActiveWorkbook.SaveAs destinationFolder & ActiveWorkbook.Name, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub

Пример 3: переместить файл из явно определенного местоположения в OneDrive. Целевой файл не может быть хостом VBA для этого макроса.

Sub MoveToOneDrive()
    Dim shortFileName As String
    Dim fullFileName As String
    Dim destinationFolder As String
    fullFileName = "C:\MyDataFiles\File.xlsm"
    Name fullFileName As destinationFolder & shortFileName
    destinationFolder = Environ("USERPROFILE") & "\OneDrive\"
    shortFileName = Mid(fullFileName, InStrRev(fullFileName, Chr(92)) + 1, Len(fullFileName))
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...