powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вопрос на засыпку (внутри)
14 сообщений из 14, страница 1 из 1
Вопрос на засыпку (внутри)
    #36352335
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем такая проблемка.
Установил на комп два экселя (2003-й остался и еще доставил 2007-й).

После этого кое-что перестало работать.
В общем, у нас по работе есть файлы, которые имеют структуру как сводные таблицы, но источник данных у этих таблиц внешний (запросы при выборе критериев формируются путем обращения к базе данных).

Приходилось работать на разных машинах. При открытии (попытки обновить) этих файлов, если файл был сделан на другой машине, то предлагалось ввести имя базы данных. После ввода имени все обновлялось и работало отлично.

Теперь же окно в котором можно ввести имя базы (такое же как у компа) просто не появляется. При попытке обновить такую сводную теперь выдается один за другим такие сообщения.

Первое такое:
"Произошла следующая системная ошибка: Этот хост неизвестен. ."

Второе такое:
"Ошибки поставщика OLE DB. При загрузке компонента диалогового окна соединения для запроса произошла ошибка."


Если кто-то сталкивался с чем-то похожим, подскажите, плиз, что можно сделать, чтобы файлы созданные на другой машине можно было обновить на текущей машине указав имя базы (компьютера)?
...
Рейтинг: 0 / 0
Вопрос на засыпку (внутри)
    #36352394
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пути запросов можно подправить вручную в Microsoft Script Editor (Alt+Shift+F11).
...
Рейтинг: 0 / 0
Вопрос на засыпку (внутри)
    #36352438
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нажал клавиши, как Вы посоветовали, оказалось, что компонент не установлен, на предложение установить его согласился. Видать компонет этот установился, после этого страница со сводной открылась как-бы в формате html...

Что дальше? Как примерно выглядят пути запросов и/или где их прописывать?
...
Рейтинг: 0 / 0
Вопрос на засыпку (внутри)
    #36352465
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если знаешь старый путь, поищи по Ctrl+F и замени на новый, сохрани файл.
Как выглядит - ну что нашёл в своих файлах:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 <x:QueryTable>
     <x:Synchronous/>
     <x:NoSaveData/>
     <x:Name>valkurlv.php?vdate= 20090831 </x:Name>
     <x:AutoFormatFont/>
     <x:AutoFormatPattern/>
     <x:QuerySource>
      <x:QueryType>Web</x:QueryType>
      <x:EntirePage/>
      <x:URLString HRef="http://www.bank.lv/excel/valkurlv.php?vdate=20090831"/>
     </x:QuerySource>
    </x:QueryTable>
Вот где-то после QueryTable и ищите.
...
Рейтинг: 0 / 0
Вопрос на засыпку (внутри)
    #36352527
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо огромное Вы мне очень помогли.
...
Рейтинг: 0 / 0
Вопрос на засыпку (внутри)
    #36352602
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати, если пути менять надо часто (или путь зависит от каких-либо условий), то есть смысл обновление запроса перенести в макрос. Там его можно динамически корректировать. Например, тот же запрос курса валют на произвольную дату:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
yr = InputBox("Input YYYYMMDD", "DATE", "",  3500 ,  2000 )
If yr <> “” Then
    With Selection.QueryTable
        .Connection = _
        "URL;http://www.bank.lv/excel/valkurlv.php?vdate=" & yr
        .WebSelectionType = xlEntirePage
        .WebFormatting = xlWebFormattingNone
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .Refresh BackgroundQuery:=False
    End With
    End If
    Cells( 1 ,  6 ).Value = yr

...
Рейтинг: 0 / 0
Вопрос на засыпку (внутри)
    #36354355
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaniilKСпасибо огромное Вы мне очень помогли.

только вот как открыть Microsoft Script Editor (Alt+Shift+F11 вроде бы не работает) в 2010 Экселе (возможно подойдет тот же способ открытия, что и в 2007-м Экселе).
...
Рейтинг: 0 / 0
Вопрос на засыпку (внутри)
    #36354382
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот как открыть Microsoft Script Editor - можно мышью, в 2000 он под редактором VBA находится.
...
Рейтинг: 0 / 0
Вопрос на засыпку (внутри)
    #36354574
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121 вот как открыть Microsoft Script Editor - можно мышью, в 2000 он под редактором VBA находится.

я спрашивал об Экселе 2010, а не 2000 :)
...
Рейтинг: 0 / 0
Вопрос на засыпку (внутри)
    #36356260
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый Hugo121, если я Вам скажу, что имя моего источника данных находится после
Data Source=имя_источиника1

Могли бы Вы мне помочь и написать макрос, который бы во всех сводных с этим источником данных, заменил имя_источника1 на имя_источника2 ?

Так как открывать каждый лист через Alt+Shift+F11, находить имя, менять на другое, сохранять с перезаписью оказалось очень затратным по времени делом... Дело в том что таких листов примерно три десятка, да и размеры сводных на них не малы... примерно 20 тыс строк...
...
Рейтинг: 0 / 0
Вопрос на засыпку (внутри)
    #36356342
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Могли бы Вы мне помочь написать макрос - в данном случае нет.
Если данные автоматически не загружаются из источника при открытии документа, то возможно их можно обновить макросом из другого источника.
Но заменить источник в запросе по умолчанию макросом не знаю, можно ли вообще.
Имя поменять можно, т.е. то, что можно изменить через меню, можно записать в макрос и затем модифицировать (в моём примере так можно поменять дату, но нельзя заменить сайт).
...
Рейтинг: 0 / 0
Вопрос на засыпку (внутри)
    #36356386
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотя замена имени ничего не меняет в самом пути запроса:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
    <x:QueryTable>
     <x:Synchronous/>
     <x:NoSaveData/>
     <x:Name>valkurlv.php?vdate= 20090829 </x:Name>
     <x:AutoFormatFont/>
     <x:AutoFormatPattern/>
     <x:QuerySource>
      <x:QueryType>Web</x:QueryType>
      <x:EntirePage/>
      <x:URLString HRef="http://www.bank.lv/excel/valkurlv.php?vdate=20090831"/>
     </x:QuerySource>
    </x:QueryTable>
Похоже, что путь записан навечно, макросом можно просто обновить в текущем сеансе из другого места.
Может быть (если путь придётся менять часто) можно записать рекодером процесс подключения источника на новом файле, и затем этот код (модифицированный) применять при открытии каждого из этих 30 файлов. Но вот насколько код можно сделать универсальным? Ведь как я понимаю, на каждом файле запрос индивидуален...
...
Рейтинг: 0 / 0
Вопрос на засыпку (внутри)
    #36356780
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaniilK,

Чиcто теоретически я могу предположить, что если файл открыть в Excel 2007 и сохранить в формате xlsm и полученный файл открыть через архиватор в нем можно увидеть текстовые файлики и в нескольких из них сделать замену через блокнот. Хотя возможно таких файлов тоже там будет много.
...
Рейтинг: 0 / 0
Вопрос на засыпку (внутри)
    #36356993
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо большое за ответы! Получается, что как ни крути, но мороки много..
Будем думать...
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вопрос на засыпку (внутри)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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