Как получить путь + имя файла книги Excel, хранящейся в моей локальной папке OneDrive?(в отличие от его URL!) - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть книга Excel, которая хранится локально на моем ПК, но в моей папке OneDrive sync-ed.Всякий раз, когда я пытаюсь (из непосредственного окна, а также программно):

? Excel.Application.ThisWorkbook.FullName

, я получаю что-то вроде:

https://d.docs.live.net/c31ceb5b47a36fa2/VBA/learnVBAmacros.xlsb

, тогда как реальное локальный путь моего файла:

C: \ Users \ viset \ OneDrive \ VBA \ learnVBAmacros.xlsb

Как я могу получить этот последний ЛОКАЛЬНЫЙ путь к моей книге вместо URL-адреса в OneDrive?

1 Ответ

0 голосов
/ 15 февраля 2019

Разделите имя файла и используйте переменные среды для локальной папки OneDrive.

dim fn as string

fn = ThisWorkbook.FullName
'split off the workbook name if fullname is a url
fn = split(fn, "/")(ubound(split(fn, "/")))
'split off the workbook name if fullname is a local path
fn = Split(fn, "\")(UBound(Split(fn, "\")))
'add the environment var
fn = environ("onedrive") & "\" & fn

'check to see if it exists
if len(dir(fn)) > 0 then
    debug.print fn
end if

Обратите внимание, что существуют переменные среды OneDrive и OneDriveConsumer.Мои собственные идентичны, но для каждого должна быть причина.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...