![]() |
excel 2007 через коммандную строку
Добрый день!
У меня задачка какая. есть портал sharepoint на котором есть список. Есть файл excel (file.xlsx) который связан с этим списком и при открытие происходит синхронизация с этим списком. Как через коммандную строку строку открыть этот файл, сохранить и закрыть? В инете искал, попадаются только статьи как через коммандную строку открыть файл, а какие ключи для сохранения и закрытия так и не нашел. |
oren_yastreb, два вопроса:
1) Excel какие-нибудь диалоговые окна при этом выводит? 2) Как Вы определяете, что синхронизация прошла? |
не выводит никаких окон. при тестирование определял так. Открывал файл excel посмотрел последнюю запись. Затем в список на портале добавил новую запись. Затем открыл файл excel, в конце появилась новая запись.
Iska по поводу окон. Excel выводит окно при закрытие файла, с предложением Сохранить файл или нет |
oren_yastreb, у меня, к сожалению нет ни Office 2007, ни SharePoint. Но попробуем:
Код:
Option Explicit Код:
"E:\Песочница\0078\MyScript.vbs" "C:\Documents and Settings\User\Мои документы\Hello World.xls" Код:
'.Visible = True |
попробовал. открывается и закрывается файл, но не обновляется.
наверно еще надо один параметр добавить для обновления. Что бы было активное обновления при открытие файла. Я добавил новый элемент в список. Попробовал из скрипта убрать строчки .Quit и .Close True. Файл открылся но не обновился, новый элемент не появился. Вручную попробовал нажать на кнопку "Обновить", синхронизация прошла , но другие параметры обновления не активны. Скрипт попробовал и на 2003 и на 2007 офисе. А так если обычным способом открыть файл, то обновление происходит. |
Iska но наводка не плохая. У меня получился вот такой скрипт. только не получается получается Сохранить и Закрыть его.
Поможете разобраться Set objShellApp = CreateObject("Shell.Application") Set objShell = CreateObject("WScript.shell") Set objFSO = CreateObject("Scripting.FileSystemObject") FolderPath ="E:\vbs" FileName = "graphikVKS.xls" FilePath = FolderPath & "\" & FileName Set File = objFSO.GetFile(FilePath) objShellApp.ShellExecute File.name, "",FolderPath,"open", 10 WScript.Sleep 2000 Set objExcel = GetObject(, "Excel.Application" |
Вообщем нашел решение.
1 Открыл Excel файл 2 открыл редактор VB 3 нажал правой кнопкой(в панеле объктов) на мою книгу и выбрал "просмотр кода" 4 В событие Open вставил такие строчки ActiveWorkbook.Save Application.Quit 5 В Безопасности Excel разрешил запуск макросов |
oren_yastreb, почему я спрашивал про диалоговые окна при открытии — я пытался симулировать работу с запросами посредством Excel-2-Excel. У меня при ручном открытии постоянно возникало окно:
При нажатии «Включить обновление» — данные обновлялись. При программном открытии — окно не появлялось, данные не обновлялись. |
Цитата:
Перед этим создайте свой сертификат с помощью "Средства создания цифровых сертификатов для проектов VBA" (в средствах Office) |
Спасибо всем кто участвовал! То что хотел уже настроил. Правда времени убил много на скрипт а в результате решением было
две строчки в макросе ))) |
Время: 23:07. |
Время: 23:07.
© OSzone.net 2001-