2014-02-04 3 views
1

Я работаю над объединением нескольких ежемесячных отчетов из разных направлений бизнеса в один отчет для отчетов о конце месяца. В настоящее время мне приходится открывать каждый файл Excel по одному за раз. Это занимает некоторое время, и мое время может быть лучше использовано в других местах, поэтому я решил попытаться добавить автоматизацию в свой процесс.Используйте Excel VBA для открытия файла Excel на сервере LiveLink

Мои отчеты хранятся на сервере LiveLink. Очевидно, что путь URL не ссылается на структуру папок, потому что LiveLink использует ObjID. Мои данные перемещаются из папки в папку каждый месяц, и я могу справиться с этим в своем коде. Проблема, с которой я сталкиваюсь, я не могу понять, как структурировать инструкцию .Open, чтобы открыть файл.

Например, URL для моего файла:

http://discovery.[COMPANY].com/discovery/livelink/85587298/Book1.xlsx 

Я понимаю, что я должен был бы использовать LiveLinkDav в своем заявлении .Open. Таким образом, код, который я попытался было:

Workbooks.open "http://discovery.[COMPANY].com/discovery/livelinkdav/[COMPANY]/[ID]/[DEPARTMENT]/[GROUP]/Book1.xlsx" 

Excel выводит окно состояния, как он пытается открыть, но конечный результат является файл с именем Книга1 с язычком BOOK1 вместо файла на сервере. Я пробовал несколько версий этого с тем же результатом. Выпадающий список структуры папок выглядит следующим образом:

Library 
    [Company] 
    [ID] 
     [Department] 
     [Group] 

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

+0

Является ли сервер LL в локальной сети? Если «Да», вы можете использовать путь в формате UNC, например ('' \\ discovery.company.com \ livelinkdav \ [company] \ [id] \ [dept] \ [group] \ Book1.xlsx' –

+0

Это один из способов, с помощью которых я попытался структурировать свое утверждение, и в результате появился пустой документ Excel. – AxGryndr

ответ

0

Вы используете не поддерживаемый и не документированный интерфейс. Вы можете использовать SOAP/Webservices или начиная с версии 10.5 вы можете использовать новый API ReST.

Что вы могли бы попробовать это

http://discovery.company.com/discovery/livelink.exe?func=ll&objId=84487298&objAction=download

+0

Это означало бы, что мне нужно было бы узнать ObjID для каждого элемента, прежде чем я попытаюсь открыть VBA. Я не уверен, что выход на сайт и поиск каждого ObjID спасет меня в любое время. – AxGryndr