2015-06-15 2 views
1

Я пытаюсь собрать/изучить VB, чтобы создать реальный простой скрипт, чтобы открыть документ excel на основе указанного мной пути к файлу, обновить внешние подключения к данным. Затем подождите, пока обновление не будет завершено, затем сохраните файл в том же месте, а затем закройте excel.VB Script для обновления Excel

Что я до сих пор работаю, кроме этого, когда он сохраняет файл, он сохраняет его в другом месте и не перезаписывает существующий файл!

Это мое первое использование VB, я забронировал для этого курс через несколько месяцев, но сначала захотел поэкспериментировать, схватив немного кода из Google и этого сайта :)

Извините Если это непростой вопрос, но для меня это довольно сложно!

Вот что я до сих пор ....

Dim oExcel 
Set oExcel = CreateObject("Excel.Application") 

oExcel.Visible = True 
oExcel.DisplayAlerts = False 
oExcel.AskToUpdateLinks = False 
oExcel.AlertBeforeOverwriting = False 

Set oWorkbook = oExcel.Workbooks.Open("The File Path of my .xlsx File") 
oWorkbook.RefreshAll 
oWorkbook.Save 

oExcel.Quit 
Set oWorkbook = Nothing 
Set oExcel = Nothing 

То, что я хочу, чтобы случиться, откройте файл первенствовать от местоположения имени, обновлять внешние данные, сохраните файл, переписывая оригинал. Закрыть Excel.

Большое спасибо John.

+0

Это не VB.NET код; VB.NET <> vba AndAlso VB.NET <> vbscript – Plutonix

+0

Вы говорите, что это «сохраняет в другом месте». Где именно он его спасает? Excel не будет случайным образом выбирать новое имя для вашей книги, и какой тип имени вы видите? – Bond

+0

@Bond Файл запускается из сетевого местоположения в моей сети с отображением файла O: \ File Path и т. Д., А затем, когда он сохраняет его, сохраняется C: \ My Documents. Он сохраняет правильное имя файла, а не правильный путь к файлу, если это имеет смысл. –

ответ

-1

Попробуйте ниже

oWorkbook.RefreshAll 'Refresh everything 
DoEvents 'Let Excel finish 
oWorkbook.Close true 'Close the workbook true for save. 
+0

Когда я добавил свои комментарии, у меня появилась ошибка, которую я не понимаю. Line 11 Char 1 «Тип mistmatch:„“DoEvents Код 800A000D –

+0

Try oWorkbook.doevents – 99moorem

+0

Тем не менее, не имея его, дает мне„объект не поддерживает это свойство или метод“ошибка, связанная с oworkbook.doevent –

Смежные вопросы