powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Сохранение Excel'евского документа
7 сообщений из 7, страница 1 из 1
Сохранение Excel'евского документа
    #33734298
Anytka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе утро!
Подскажите, пожалуйста, как поступить.
У меня есть шаблон Excel'евского документа. К нему прилагаются еще 2 Excel-файла как справочники. В шаблоне есть поля со списком, данные в которые вносятся из справочников.
Я программно заполняю шаблон и сохраняю его под новым именем в разные папки. В тех папках уже есть эти же справочники. Но при сохранении ссылка в поле со списком меняется и обращается к тем шаблонам, которые были в папке "шаблоны". Причем в шаблоне в формате объекта поле со списком путь прописан просто '[Справочник1.XLS]типы реестров'!$A$2:$A$25 , а при сохранении путь меняется на '\\k-030-0474\Шаблоны\[Справочники1.xls]типы реестров'!$A$2:$A$25
Как мне от этого избавиться?
Код: plaintext
1.
2.
3.
4.
5.
6.
'Сохраняю документ
    If aviapredpr =  1  Then Filename = "\\k-030-0474\2006\№_" & schet & "_" & Date & ".xls"
        book0.SaveAs (Filename)
    End If
    If aviapredpr =  2  Then Filename = "\\k-030-0474\2006-1\№_" & schet & "_" & Date & ".xls" 
        book0.SaveAs (Filename)
    End If
...
Рейтинг: 0 / 0
Сохранение Excel'евского документа
    #33734405
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все правильно просиходит. Excel не поменяет ссылку сам. Нужно сначала программно поменять ссылки на те файлы, которые будут справочниками.
...
Рейтинг: 0 / 0
Сохранение Excel'евского документа
    #33734413
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PS первая короткая ссылка подразумевала, что файл лежит в текущем каталоге, а когда Вы сохрянаете документ в друго месте, Excel явно раскрывает этот путь... Сказать Excel'у, чтоб использовал файлы из "ТЕКУЩЕГО" каталога не получится.
...
Рейтинг: 0 / 0
Сохранение Excel'евского документа
    #33734527
dbf97
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тут два варианта вижу либо у тебя всегда справочники в одном месте лежат и ссылка на них в шаблоне жесткая С:\Справочник1.XLS]типы реестров'!$A$2:$A$25

ну либо меняй ссылки при сохранении
ActiveWorkbook.ChangeLink Name:="С:\Справочник1.XLS]типы реестров'!$A$2:$A$25", _
NewName:="\\k-030-0474\Шаблоны\[Справочники1.xls]типы реестров'!$A$2:$A$25"
...
Рейтинг: 0 / 0
Сохранение Excel'евского документа
    #33734560
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно при открытии устанавливать ссылки
Код: plaintext
1.
2.
3.
4.
5.
6.
Private Sub Workbook_Open()
    For x =  1  To ThisWorkbook.Worksheets("1").Shapes.Count
        ThisWorkbook.Worksheets("1").Shapes(x).ControlFormat.ListFillRange = _
            "'" & ThisWorkbook.Path & "\[Справочник1.XLS]типы реестров'!$A$2:$A$25"
    Next x
End Sub
...
Рейтинг: 0 / 0
Сохранение Excel'евского документа
    #33747154
Anytka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А можно мне поподробнее объяснить?
У меня на листе 12 полей со списком.
Как мне прописать на каждый свой адрес и диапазон?
Сейчас на открытие документа стоит следующий текст:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Public Sub Workbook_Open()

Set Reestr = ActiveWorkbook.Worksheets("Реестр")

Workbooks.Open ActiveWorkbook.Path & "\Справочники1.xls"

Workbooks.Open ActiveWorkbook.Path & "\Справочники2.xls"

Reestr.Activate

End Sub

Получается, что открывать он их открывает, но ссылки-то при сохраненнии были поменяны!
Как мне при сохранении файла, обратиться к каждому полю и прописать, чтобы они (поля) ссылались на справочники из текущего каталога???
Наверное, это надо делать при сохранении?
...
Рейтинг: 0 / 0
Сохранение Excel'евского документа
    #33747566
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Sub Workbook_Open()
    Dim a
    Dim Reestr As Worksheet
    Set Reestr = ThisWorkbook.Worksheets("Реестр")
    For Each a In ThisWorkbook.LinkSources
        If a Like "*Справочники1.xls*" Then
            ThisWorkbook.ChangeLink Name:=a, NewName:=ThisWorkbook.Path & "\Справочники1.xls", _
                Type:=xlExcelLinks
        ElseIf a Like "*Справочники2.xls*" Then
            ThisWorkbook.ChangeLink Name:=a, NewName:=ThisWorkbook.Path & "\Справочники2.xls", _
                Type:=xlExcelLinks
        End If
    Next
    Workbooks.Open ThisWorkbook.Path & "\Справочники1.xls"
    Workbooks.Open ThisWorkbook.Path & "\Справочники2.xls"
    Reestr.Activate
End Sub
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Сохранение Excel'евского документа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]