Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2007 - excel 2007 через коммандную строку

Ответить
Настройки темы
2007 - excel 2007 через коммандную строку

Аватара для oren_yastreb

Пользователь


Сообщения: 146
Благодарности: 1

Профиль | Отправить PM | Цитировать


Изменения
Автор: oren_yastreb
Дата: 28-09-2011
Добрый день!

У меня задачка какая. есть портал sharepoint на котором есть список. Есть файл excel (file.xlsx) который связан с этим списком и при открытие происходит синхронизация с этим списком.

Как через коммандную строку строку открыть этот файл, сохранить и закрыть?
В инете искал, попадаются только статьи как через коммандную строку открыть файл, а какие ключи для сохранения и закрытия так и не нашел.

Отправлено: 12:22, 28-09-2011

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


oren_yastreb, два вопроса:
1) Excel какие-нибудь диалоговые окна при этом выводит?
2) Как Вы определяете, что синхронизация прошла?

Отправлено: 15:02, 28-09-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для oren_yastreb

Пользователь


Сообщения: 146
Благодарности: 1

Профиль | Отправить PM | Цитировать


не выводит никаких окон. при тестирование определял так. Открывал файл excel посмотрел последнюю запись. Затем в список на портале добавил новую запись. Затем открыл файл excel, в конце появилась новая запись.

Iska по поводу окон. Excel выводит окно при закрытие файла, с предложением Сохранить файл или нет

Последний раз редактировалось oren_yastreb, 28-09-2011 в 15:33.


Отправлено: 15:19, 28-09-2011 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


oren_yastreb, у меня, к сожалению нет ни Office 2007, ни SharePoint. Но попробуем:
Код: Выделить весь код
Option Explicit

With WScript.CreateObject("Excel.Application")
	.Visible = True
	
	.AskToUpdateLinks = False
	.DisplayAlerts    = False
	.Interactive      = False
	.ScreenUpdating   = False
	
	With .Workbooks.Open(WScript.Arguments.Item(0))
		.Save
		.Close True
	End With
	
	.ScreenUpdating   = True
	.DisplayAlerts    = True
	.Interactive      = True
	.AskToUpdateLinks = True
	
	.Quit
End With

WScript.Quit 0
Файл указывается аргументом скрипта, например:
Код: Выделить весь код
"E:\Песочница\0078\MyScript.vbs" "C:\Documents and Settings\User\Мои документы\Hello World.xls"
Если убедитесь, что всё работает как предполагалось — закомментируйте строку:
Код: Выделить весь код
	'.Visible = True
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:11, 28-09-2011 | #4


Аватара для oren_yastreb

Пользователь


Сообщения: 146
Благодарности: 1

Профиль | Отправить PM | Цитировать


попробовал. открывается и закрывается файл, но не обновляется.

наверно еще надо один параметр добавить для обновления. Что бы было активное обновления при открытие файла.

Я добавил новый элемент в список. Попробовал из скрипта убрать строчки .Quit и .Close True. Файл открылся но не обновился, новый элемент не появился.
Вручную попробовал нажать на кнопку "Обновить", синхронизация прошла , но другие параметры обновления не активны.
Скрипт попробовал и на 2003 и на 2007 офисе.

А так если обычным способом открыть файл, то обновление происходит.

Отправлено: 07:15, 29-09-2011 | #5


Аватара для oren_yastreb

Пользователь


Сообщения: 146
Благодарности: 1

Профиль | Отправить PM | Цитировать


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"

Отправлено: 07:46, 29-09-2011 | #6


Аватара для oren_yastreb

Пользователь


Сообщения: 146
Благодарности: 1

Профиль | Отправить PM | Цитировать


Вообщем нашел решение.
1 Открыл Excel файл
2 открыл редактор VB
3 нажал правой кнопкой(в панеле объктов) на мою книгу и выбрал "просмотр кода"
4 В событие Open вставил такие строчки
ActiveWorkbook.Save
Application.Quit
5 В Безопасности Excel разрешил запуск макросов

Отправлено: 11:00, 30-09-2011 | #7


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


oren_yastreb, почему я спрашивал про диалоговые окна при открытии — я пытался симулировать работу с запросами посредством Excel-2-Excel. У меня при ручном открытии постоянно возникало окно:

При нажатии «Включить обновление» — данные обновлялись.

При программном открытии — окно не появлялось, данные не обновлялись.

Пляски с бубном вокруг параметров программного открытия, обновления ссылок и т.п., вокруг параметра «QuerySecurity»: При открытии книги в Excel предлагает включить автоматическое обновление, вокруг групповой политики «Настройка параметров автоматического обновления запросов»(«Automatic Query Refresh»): Настройка параметров групповой политики для Excel 2007 — результата не принесли. Update: Результат был, не срабатывало именно у меня в конкретный момент из-за не перезагружавшейся в течение полутора месяцев машине.

Последний раз редактировалось Iska, 06-12-2011 в 05:39.

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:53, 30-09-2011 | #8


Модератор


Moderator


Сообщения: 16844
Благодарности: 3247

Профиль | Сайт | Отправить PM | Цитировать


Цитата oren_yastreb:
В Безопасности Excel разрешил запуск макросов »
лучше подписать макрос и запретить все, кроме макросов с цифровой подписью.

Перед этим создайте свой сертификат с помощью "Средства создания цифровых сертификатов для проектов VBA" (в средствах Office)

-------
При заполнении сведений о конфигурации компьютера не забудь поставить флажок: отображать - "Да"
-------------------------------------------------------------------------------------------
Ассоциация VirusNet - помощь и обучение борьбе с вирусами. Некоторые вопросы загрузки в моем блоге

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:06, 30-09-2011 | #9


Аватара для oren_yastreb

Пользователь


Сообщения: 146
Благодарности: 1

Профиль | Отправить PM | Цитировать


Спасибо всем кто участвовал! То что хотел уже настроил. Правда времени убил много на скрипт а в результате решением было
две строчки в макросе )))

Отправлено: 08:44, 03-10-2011 | #10



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2007 - excel 2007 через коммандную строку

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2007 - Текст в Excel 2007 jazzanova Microsoft Office (Word, Excel, Outlook и т.д.) 5 12-04-2011 22:25
2007 - [архив] Microsoft Excel 2007 graverman Microsoft Office (Word, Excel, Outlook и т.д.) 100 12-12-2009 10:18
FreeBSD - Доступ по ФТП (через командрую строку -нормально, а через браузер, только домашний) _soldat_ Общий по FreeBSD 4 29-09-2008 09:22
Excel | преобразовать строку в столбец BRAT2 Хочу все знать 2 19-12-2005 17:49
макро удалит из Excel строку Ginger Программирование и базы данных 5 06-10-2005 12:46




 
Переход