'Шаг 3: Открываем файлы один за другим
Workbooks.Open "C:\папка\" & MyFiles
'Код макроса с действиями
MsgBox ActiveWorkbook.Name
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
ActiveWorkbook.Close SaveChanges:=True
'Шаг 4: Следующий файл в папке
MyFiles = Dir Loop EndSub
этот скрипт открывает и обновляет эксели. Но на каждом экселе в свойствах подключения , далее в строке подключения убран пароль и снята галочка сохранить пароль, это сделано для того, чтобы никакой другой пользователь не обновлял эти эксели, кроме одного человека. Но т.к. экселей много, нужно придумать, чтобы это делал скрипт на VBA, как доработать скрипт чтобы он вставлял нужный пароль , обновлял ,потом убирал пароль и сохранял? И как доработать скрипт, если в одной книге , много листов с разными подключениями?
Добрый день. Есть скрипт:
Sub OtkritVseKnigi() 'Шаг 1:Объявляем переменные Dim MyFiles AsString
'Шаг 3: Открываем файлы один за другим
Workbooks.Open "C:\папка\" & MyFiles
'Код макроса с действиями
MsgBox ActiveWorkbook.Name
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
ActiveWorkbook.Close SaveChanges:=True
'Шаг 4: Следующий файл в папке
MyFiles = Dir Loop EndSub
этот скрипт открывает и обновляет эксели. Но на каждом экселе в свойствах подключения , далее в строке подключения убран пароль и снята галочка сохранить пароль, это сделано для того, чтобы никакой другой пользователь не обновлял эти эксели, кроме одного человека. Но т.к. экселей много, нужно придумать, чтобы это делал скрипт на VBA, как доработать скрипт чтобы он вставлял нужный пароль , обновлял ,потом убирал пароль и сохранял? И как доработать скрипт, если в одной книге , много листов с разными подключениями?Minia13
А не подскажете как в VBA прописать весь connection string? ну т.е. я пропишу свой connection string и макрос будет брать его, вместо того что прописан в подключении.
А не подскажете как в VBA прописать весь connection string? ну т.е. я пропишу свой connection string и макрос будет брать его, вместо того что прописан в подключении.Minia13
как доработать скрипт чтобы он вставлял нужный пароль
Нужно создать список адресов с именем файлов и паролей к ним. После этого написать цикл который: откроит файл - снимет пароль - сделает изменения в файле - установит пароль - закроет файл. Как-то так, если коротко. Для меня, проще написать новый макрос, чем переделывать чужой.
как доработать скрипт чтобы он вставлял нужный пароль
Нужно создать список адресов с именем файлов и паролей к ним. После этого написать цикл который: откроит файл - снимет пароль - сделает изменения в файле - установит пароль - закроет файл. Как-то так, если коротко. Для меня, проще написать новый макрос, чем переделывать чужой.gling
'Шаг 3: Открываем файлы один за другим
Workbooks.Open "C:\папка\" & MyFiles
'Код макроса с действиями
ActiveWorkbook.Close SaveChanges:=True
For Each cn In ActiveWorkbook.Connections Set ocn = cn.OLEDBConnection
sn = ocn.Connection With ocn
.Connection = .Connection & ";Password=12345"
.BackgroundQuery = False
.Refresh
.Connection = sn EndWith Next
'Шаг 4: Следующий файл в папке
MyFiles = Dir Loop EndSub
Может кому пригодится
Sub OtkritVseKnigi() 'Шаг 1:Объявляем переменные Dim MyFiles AsString Dim sn AsString Dim cn As WorkbookConnection Dim ocn As OLEDBConnection
'Шаг 3: Открываем файлы один за другим
Workbooks.Open "C:\папка\" & MyFiles
'Код макроса с действиями
ActiveWorkbook.Close SaveChanges:=True
For Each cn In ActiveWorkbook.Connections Set ocn = cn.OLEDBConnection
sn = ocn.Connection With ocn
.Connection = .Connection & ";Password=12345"
.BackgroundQuery = False
.Refresh
.Connection = sn EndWith Next
'Шаг 4: Следующий файл в папке
MyFiles = Dir Loop EndSub